Elastic Load Balancing 기능
제품 비교
애플리케이션 요구 사항에 따라 적절한 로드 밸런서를 선택할 수 있습니다. 유연한 애플리케이션 관리가 필요한 경우 Application Load Balancer를 사용하는 것이 좋습니다. 애플리케이션에 탁월한 성능 및 고정 IP가 필요한 경우 Network Load Balancer를 사용하는 것이 좋습니다. 기존 애플리케이션이 EC2-Classic 네트워크 내에 구축되어 있는 경우 Classic Load Balancer를 사용해야 합니다.
기능 | Application Load Balancer | Network Load Balancer | Gateway Load Balancer | Classic Load Balancer |
---|---|---|---|---|
로드 밸런서 유형 | 계층 7 | 계층 4 | 계층 3 게이트웨이 + 계층 4 로드 밸런싱 | 계층 4/7 |
대상 유형 | IP, 인스턴스, Lambda | IP, 인스턴스, Application Load Balancer | IP, 인스턴스 | |
흐름/프록시 동작 종료 | 예 | 예 | 아니요 | 예 |
프로토콜 리스너 | HTTP, HTTPS, gRPC | TCP, UDP, TLS | IP | TCP, SSL/TLS, HTTP, HTTPS |
다음을 통해 연결 가능 | VIP | VIP | 라우팅 테이블 항목 | |
계층 7 | ||||
리디렉션 | ✔ | |||
고정 응답 | ✔ | |||
Desync Mitigation Mode | ✔ | |||
HTTP 헤더 기반 라우팅 | ✔ | |||
HTTP2/gRPC | ✔ | |||
일반적인 구성 및 특징 | ||||
느린 시작 | ✔ | |||
Outpost 지원 | ✔ | |||
로컬 영역 | ✔ | |||
IP 주소 - 고정, 탄력적 | ✔ | |||
Connection Draining(등록 취소 지원) | ✔ | ✔ | ✔ | ✔ |
구성 가능한 유휴 연결 시간 초과 | ✔ | ✔ | ||
PrivateLink 지원 | ✔ (TCP, TLS) | ✔ (GWLBE) | ||
영역 격리 | ✔ | ✔ | ||
세션 재개 | ✔ | ✔ | ||
수명이 긴 TCP 연결 | ✔ | ✔ | ||
같은 인스턴스의 여러 포트로 로드 밸런싱 | ✔ | ✔ | ✔ | |
로드 밸런서 삭제 방지 | ✔ | ✔ | ✔ | |
소스 IP 주소 유지 | ✔ | ✔ | ✔ | |
WebSocket | ✔ | ✔ | ✔ | |
지원되는 네트워크/플랫폼 | VPC | VPC | VPC | EC2-Classic, VPC |
교차 영역 로드 밸런싱 | ✔ | ✔ | ✔ | ✔ |
IAM 권한(리소스 기반, 태그 기반) | ✔ | ✔ | ✔ | ✔ (리소스 기반만) |
흐름 고정(흐름의 모든 패킷이 하나의 대상으로 전송되고 동일한 대상에서 반환 트래픽이 전송됨) |
대칭 |
대칭 |
대칭 |
대칭 |
대상 장애 시 동작 |
대상에 대해 장애 시 닫기(Fail Close), 모든 대상이 비정상이면 장애 시 열기(Fail Open) | 대상에 대해 장애 시 닫기(Fail Close), 모든 대상이 비정상이면 장애 시 열기(Fail Open) | 기존 흐름은 계속해서 기존 대상 어플라이언스로 전송되고, 새 흐름은 정상 상태인 대상 기기로 다시 라우팅 | |
상태 확인 | HTTP, HTTPS, gRPC | TCP, HTTP, HTTPS | TCP, HTTP, HTTPS | TCP, SSL/TLS, HTTP, HTTPS |
보안 | ||||
보안 그룹 | ✔ | ✔ | ✔ | |
SSL 오프로드 | ✔ | ✔ | ✔ | |
SNI(서버 이름 표시) | ✔ | ✔ | ||
백엔드 서버 암호화 | ✔ | ✔ | ✔ | |
사용자 인증 | ✔ | |||
사용자 지정 보안 정책 | ✔ | |||
ALPN | ✔ | ✔ | ||
Kubernetes 컨트롤러 | ||||
포드 직접 연결 | ✔ | ✔ (Fargate 포드) | ||
여러 네임스페이스로 로드 밸런싱 | ✔ | |||
완전 프라이빗 EKS 클러스터 지원 | ✔ | ✔ | ||
로깅 및 모니터링 | ||||
CloudWatch 지표 | ✔ | ✔ | ✔ | ✔ |
로깅 | ✔ | ✔ | ✔ | ✔ |
보안
Amazon Virtual Private Cloud(VPC)를 사용할 경우 Elastic Load Balancing과 관련된 보안 그룹을 생성 및 관리하여 Application Load Balancer, Network Load Balancer 및 Classic Load Balancer를 위한 추가 네트워킹 및 보안 옵션을 제공할 수 있습니다. 원하는 Load Balancer를 인터넷과 연결되도록 구성하거나 퍼블릭 IP 주소 없이 로드 밸런서를 생성하여 인터넷에 연결되지 않은 내부 로드 밸런서로 사용할 수 있습니다.
고가용성
Elastic Load Balancer는 가용성이 매우 뛰어납니다. 수신되는 트래픽을 단일 가용 영역 또는 여러 가용 영역의 Amazon EC2 인스턴스 전체에 걸쳐 배포할 수 있습니다. Elastic Load Balancer는 수신되는 애플리케이션 트래픽에 대응하여 요청 처리 용량을 자동으로 조정합니다. 대상이 사용 가능하고 정상 상태인지 확인하기 위해 Elastic Load Balancer는 구성 가능한 케이던스로 대상에 대해 상태 확인을 실행합니다.
높은 처리량
Elastic Load Balancer는 트래픽 증가를 처리할 수 있도록 설계되었으며 초당 수백만 개의 요청을 로드 밸런싱할 수 있습니다. 또한, 갑작스럽고 변동이 심한 트래픽 패턴도 처리할 수 있습니다.
상태 확인
Elastic Load Balancer는 EC2 인스턴스, 컨테이너, IP 주소, 마이크로서비스, Lambda 함수, 어플라이언스 등 정상 상태인 대상으로만 트래픽을 라우팅합니다. Elastic Load Balancing을 사용하면 두 가지 방식으로 애플리케이션 상태에 대한 통찰력을 개선할 수 있습니다. 첫째, 상태 확인 개선을 통해 상세한 오류 코드를 구성할 수 있습니다. 상태 확인을 통해 로드 밸런서 뒤에서 각 서비스의 상태를 모니터링할 수 있습니다. 둘째, 새로운 지표로 EC2 인스턴스에서 실행되는 각 서비스의 트래픽을 파악할 수 있습니다.
고정 세션
고정 세션은 요청을 동일한 클라이언트에서 동일한 대상으로 라우팅하는 메커니즘입니다. Elastic Load Balancer는 고정 세션을 지원합니다. 고정성은 대상 그룹 수준에서 정의됩니다.
운영 모니터링 및 로깅
Amazon CloudWatch가 Application Load Balancer와 Classic Load Balancer에 대해 요청 횟수, 오류 횟수, 오류 유형, 요청 대기 시간 등의 지표를 보고합니다. 또한 Amazon CloudWatch는 네트워크 로드 밸런서와 Gateway Load Balancer에 대해 활성 흐름 수, 새 흐름 수, 처리된 바이트 등의 지표를 추적합니다. Elastic Load Balancer는 ELB에 대한 API 호출을 추적하는 AWS CloudTrail과도 통합됩니다.
삭제 방지
Elastic Load Balancer에서 삭제 방지를 활성화하여 우발적 삭제를 방지할 수 있습니다.