반응형

- 7계층, HTTP 전용 로드 밸런서
머신 간 다수 HTTP 애플리케이션의 라우팅에 사용됩니다. 이러한 머신들은 **대상 그룹(Target Group)**이라는 그룹으로 묶이며, 동일 EC2 인스턴스 상의 여러 애플리케이션에 부하를 분산합니다. 컨테이너와 ECS를 사용하게 되며, HTTP/2와 WebSocket을 지원합니다.
💡 ALB의 주요 기능
- HTTP → HTTPS 자동 리다이렉트 지원
- 경로 라우팅(Path-based Routing) 지원
- 호스트 기반 라우팅(Host-based Routing) 지원
- 쿼리 문자열(Query String)과 헤더 기반 라우팅 지원
🌍🌍🌍
ALB를 활용한 마이크로서비스 아키텍처
ALB는 마이크로서비스나 컨테이너 기반 애플리케이션에 가장 적합한 로드 밸런서입니다. Amazon ECS와의 통합을 통해 포트 매핑 기능을 제공하여, ECS 인스턴스의 동적 포트로 리다이렉션이 가능합니다.
📌 ALB vs CLB (클래식 로드 밸런서) 비교
- CLB는 하나의 애플리케이션에 대해 여러 개의 로드 밸런서가 필요함.
- ALB는 하나의 로드 밸런서로 다수의 애플리케이션 처리 가능.
- ALB는 URL 및 호스트 기반 라우팅을 통해 트래픽을 지능적으로 분배.
🔁🔁🔁
대상 그룹(Target Group)이란?
대상 그룹은 ALB가 트래픽을 전달하는 리소스를 정의하는 그룹입니다.
- EC2 인스턴스 (오토 스케일링 그룹과 연계 가능)
- ECS 작업(Task)
- AWS Lambda 함수 (무서버(Serverless) 애플리케이션과 통합 가능)
- 온프레미스 서버 (사설 IP 지원)
💡 대상 그룹 활용 예시
- 모바일 트래픽 → EC2 기반의 첫 번째 대상 그룹
- 데스크톱 트래픽 → 온프레미스 서버 기반의 두 번째 대상 그룹
🛡️🛡️🛡️
ALB와 보안
- ALB의 X-Forwarded-For 헤더: 클라이언트의 실제 IP를 전달.
- ALB의 X-Forwarded-Port, Proto: 요청의 포트와 프로토콜 정보 제공.
- EC2 보안 그룹 설정 필요: ALB에서만 트래픽을 받도록 구성.
⚙️⚙️⚙️
실습: EC2 인스턴스 실행 및 ALB 설정
- EC2 인스턴스 2개 실행 (Amazon Linux 2, t2.micro)
- 보안 그룹 설정 (HTTP 트래픽 허용)
- 대상 그룹 생성 (EC2 인스턴스를 등록)
- ALB 생성 및 대상 그룹 연결
- DNS 이름을 통해 ALB 접속 확인 (Hello World 메시지 출력)
- 한 인스턴스를 중지하여 로드 밸런싱 동작 확인
🔍🔍🔍
리스너 규칙과 트래픽 분배
ALB는 리스너 규칙을 통해 특정 조건을 만족하는 요청을 다른 대상 그룹으로 전달할 수 있습니다.
📌 예제: /error 경로 리디렉트 규칙 설정
- 경로 기반 라우팅: /error 요청이 들어오면 404 응답 반환
- 호스트 기반 라우팅: myapp.example.com → 특정 대상 그룹으로 연결
- 쿼리 문자열 기반 라우팅: ?platform=mobile → 모바일 대상 그룹으로 연결
🎯🎯🎯
결론: ALB를 사용해야 하는 이유
- 마이크로서비스와 컨테이너 환경에서 최적화
- HTTP/2 및 WebSocket 지원
- 동적인 포트 매핑 지원 (ECS 활용)
- X-Forwarded-For 헤더로 보안 강화
- 자동 확장(Auto Scaling) 및 고가용성 보장
최신 애플리케이션 로드 밸런서를 활용하여 효율적인 웹 서비스 아키텍처를 구축하는 것이 중요합니다.
반응형
'AWS' 카테고리의 다른 글
| AWS GWLB(Gateway Load Balancer) 완벽 가이드 – 네트워크 트래픽 보안 및 필터링 (0) | 2025.02.23 |
|---|---|
| AWS NLB(Network Load Balancer) 완벽 가이드 – 고성능 TCP/UDP 로드 밸런싱 (0) | 2025.02.23 |
| AWS Auto Scaling Group(ASG) & CloudWatch Alarms – 자동 확장 및 모니터링 가이드 (1) | 2025.02.21 |
| 로드 밸런싱 (Load Balancing) (0) | 2025.02.19 |
| 클라우드 확장성, 고가용성 with AWS (0) | 2025.02.19 |