AWS EC2 인스턴스에서 운영중인 애플리케이션, 마이크로 서비스 또는 컨테이너 서비스로 유입되는 트래픽을 자동으로 분산 처리하는 기능
복수의 가용영역에 배치 가능
L4(네트워크) 스위치 | L7(어플리케이션) 스위치 |
---|---|
TCP와 SSL 지원 | HTTP와 HTTPS지원 |
클라이언트와 서버가 연결을 직접 중계 | 클라이언트 연결은 로드밸런서에서 종료되고 로드밸런서와 서버는 별도로 연결 |
패킷 헤더 변경 없음 | 패킷 헤더 변경 가능 |
프록시 프로토콜로 요청에 대해 소스 및 목적지 IP주소, 포트 추가 | 요청이 어디서부터 건너왔는지 알려주는 헤더인 X-Forwarded-For를 통해 클라이언트 IP를 백엔드 인스턴스로 전달 가능 |
L4 로드 밸런싱 : IP, port번호를 기준으로 트래픽을 분산
L7 로드 밸런싱 : 프로토콜 헤더 기준으로 트래픽을 분산
로드밸런싱 알고리즘 : 순서대로 분배하는 라운드 로빈 알고리즘 사용
상태 점검 : 정상인가를 점검 , 기동중이아니라고 판단되면 트래픽 배분시 제외됨
리스너 : 프로토콜과 포트를 정의함, 최소 1개 최대 10개 까지 설정 가능
Connection Draining : auto scaling = 사용자 요청을 처리중인 EC2인스턴스를 바로 삭제 못하도록 요청처리 중인 인스턴스 보호 (일정시간 대기, 대기동안은 새로운 연결 X)
Sticky Session : L7 로드밸런싱을 의미
> 사용자가 같은 서비스에 계속 접속할 때, 같은 인스턴스에 연결
지연 : 처리에 대한 지연시간을 의미
요금 : 전송한 데이터양에 따라 요금이 부과됨