예전에 적었놨던 원글
출처- AWS ECS 공식 문서:
Amazon ELB란?
Elastic Load Balancer의 약자 AWS의 부하 분산 서비스
🔑 부하 분산 관련 용어
- 세션 지속성(Session Persistence): 사용자 상태 정보 유지를 위한 연속적 요청 처리.
- 자동 확장(Auto Scaling): 트래픽에 따른 자동 리소스 조정.
- 가용 영역(Availability Zone): 고가용성을 위한 물리적으로 분리된 데이터 센터 구역.
Elastic Load Balancing는 Amazon EC2 인스턴스, 컨테이너 및 IP 주소와 같은 여러 대상에 대해 수신 애플리케이션 또는 네트워크 트래픽을 여러 가용 영역에 배포한다.
ELB는 통해 단순 부하 분산을 넘어 다양한 기능을 할 수 있다.
- HTTP Header를 조작하여 전달 대상을 정함
- 고정 페이지를 반환
- Amazon Certificate Manager(ACM)의 SSL 인증서를 탑재하여 EC2의 부하를 줄임
- WAF를 앞에 내세워 보안 기능을 강화
- Cloudfront를 연결하여 반응 속도를 향상하며 최근에 나온 Global Accelerator를 사용하여 Global Server Load Balancing(GSLB)의 기능을 활성화시킴
📦 Amazon ELB 의 기본 구성
🎯 ELB 개념
- 부하 분산: 여러 서버에 걸쳐 트래픽을 분산시켜 서버 과부하 방지.
- 가용성 향상: 서비스의 중단 없이 안정적인 운영 지원.
📡 리스너(Listener)와 대상 그룹(Target Group)
- 리스너(Listener): 특정 포트에서 들어오는 요청을 확인하고 대상 그룹으로 라우팅.
- 대상 그룹(Target Group): 부하 분산 대상 리소스 그룹(EC2 인스턴스 등).
🩺 헬스 체크(Health Check)
- 상태 확인: 대상 그룹 내 리소스의 상태를 주기적으로 점검.
🛠️ 서비스 포트(Service Port)와 포트 번역(Port Translation)
- 서비스 포트: 리스너가 트래픽을 수신하는 포트(보통 80, 443).
- 포트 번역: 리스너의 포트와 다를 수 있는 대상 그룹의 포트로 요청을 재지정.
🌍 인터넷 페이싱(Internet-facing) vs 내부(Internal) LB
- 인터넷 페이싱 LB: 공인 IP를 사용, 외부 트래픽 처리.
- 내부 LB: 사설 IP를 사용, 내부 네트워크 트래픽 처리.
🔄 L4 스위치와의 비교
- 작동 계층: L4는 전송 계층, ELB는 애플리케이션 계층에서 작동.
- 자세한 설명
- L4 스위치는 전송 계층(계층 4)에서 작동하여 IP 주소와 포트 번호를 기반으로 트래픽을 분산한다. 반면, ELB의 경우 어플리케이션 로드 밸런서는 애플리케이션 계층(계층 7)에서 작동하며, URL 경로나 요청 헤더 등 더 상세한 정보를 기반으로 트래픽을 분산할 수 있다. 네트워크 로드 밸런서는 전송 계층에서 작동하여 L4 스위치와 유사한 역할을 하지만, 클라우드 기반의 기능과 통합성을 추가로 제공.
- 가용성: ELB는 멀티-AZ 지원, L4 스위치는 추가 구성 필요.
- 자세한 설명
- ELB는 AWS 클라우드의 일부로서 여러 가용 영역에 걸쳐 자동으로 고가용성을 제공한다. L4 스위치는 일반적으로 특정 데이터 센터 내의 하드웨어 장비로서, 고가용성을 위해서는 추가적인 구성이 필요.
- 관리성: ELB는 완전 관리형 서비스, L4 스위치는 사용자 관리가 필요.
- 자세한 설명
- ELB는 완전 관리형 서비스로, AWS가 유지보수, 패치 및 확장을 관리한다. L4 스위치는 일반적으로 사용자가 직접 관리해야 하는 물리적 또는 가상의 장비.
- 확장성: ELB는 자동 확장, L4 스위치는 수동 확장이 필요.
- 자세한 설명
- ELB는 클라우드 기반으로 사용자의 요구에 따라 자동으로 확장되며, 사용자는 트래픽이 증가함에 따라 수동으로 장비를 추가할 필요가 없습니다. L4 스위치는 물리적 한계와 수동 확장의 필요성에 의해 제약을 받을 수 있습니다.
- 기능성: ELB는 고급 기능 제공, L4 스위치는 기본 부하 분산에 집중.
🔄 Elastic Load Balancer의 종류
AWS Elastic Load Balancing은 세 가지 주요 로드 밸런서 유형을 지원:
- Application Load Balancer (ALB)
- Network Load Balancer (NLB)
- Classic Load Balancer (CLB)
각 로드 밸런서 유형은 특정 구성 방식과 기능에 있어 주요 차이점을 가진다.
Application Load Balancer (ALB)
ALB는 OSI 7 Layer의 7 계층인 Application Layer에서 작동하며, 주로 HTTP 및 HTTPS 트래픽을 처리한다. 이는 HTTP 헤더 정보를 활용하여 트래픽을 적절한 대상 그룹으로 라우팅하는 데 사용됩니다. 또한, SSL/TLS 암호화 및 복호화 작업을 수행할 수 있다.
Network Load Balancer (NLB)
NLB는 OSI 7 Layer의 4 계층인 Transport Layer에서 작동하며, TCP와 UDP 기반의 요청을 처리한다. NLB는 하위 계층에서의 처리로 인해 HTTP 헤더를 이해하고 활용하는 부하 분산은 할 수 없으나, 높은 성능과 정적 IP 주소를 제공한다.
Classic Load Balancer (CLB)
CLB는 기존의 로드밸런서 유형으로서, 인스턴스를 직접 로드밸런서에 등록하고 트래픽을 라우팅하는 방식으로 작동한다. 현재는 더 발전된 ALB와 NLB에 비해 사용 빈도가 낮아지고 있다고 한다.
'🏗️ Infra > 🔶AWS' 카테고리의 다른 글
[AWS] S3 용어 정리 (0) | 2024.03.12 |
---|---|
[AWS] ECS에 대한 간략한 정리 (0) | 2024.03.12 |