리스너
리스너는 트래픽이 유입되는 포트입니다. 하나의 로드 밸런서에 여러 개의 리스너를 추가할 수 있으며, 각 리스너는 하나의 기본 대상 그룹(Target Group)과 연결됩니다.
- Application Load Balancer(ALB)의 리스너(HTTP, HTTPS)는 규칙과 조건을 추가하여 트래픽을 세밀하게 분산시킬 수 있습니다. 이 중 HTTPS 리 스너는 SSL 인증서를 적용하여 암호화된 트래픽을 처리합니다.
- Network Load Balancer(NLB)의 리스너(TCP, UDP)는 4계층에서 동작하며 대량의 요청을 빠르게 처리할 수 있는 리스너입니다. TLS 리스너는 TLS 프로토콜을 지원하며, ALB의 HTTPS 리스너와 마찬가지로 SSL 인증서를 적용하여 암호화된 트래픽을 처리합니다.
- Direct Server Return Network Load Balancer(DSRNLB)의 리스너는 이 리스너의 프로토콜과 대상 그룹의 대상(Target)이 사용할 포트 번호가 일치해야 합니다. 상세한 내용은 DSRNLB에서 확인하시기 바랍니다.
기본 개념
ALB, NLB, DSRNLB에서 공통적으로 적용되는 리스너의 기본 개념을 설명합니다.
상태
리스너는 두 가지의 상태 정보를 확인할 수 있습니다. 리소스가 정상적으로 생성되었는지 또는 수정이나 삭제가 진행 중인지 알려주는 프로비저닝(Provisioning) 상태와, 생성된 리소스가 사용 가능한 상태인지를 알려주는 운영(Operating) 상태입니다. 두 가지의 상태 모두 하위 리소스의 상태를 조합하여 표시됩니다. 상위 리소스의 생성, 수정, 삭제가 진행되는 중에는 하위 리소스의 작업이 불가능합니다. 즉, 로드 밸런서의 생성, 수정, 삭제가 진행 중인 경우에는 리스너와 대상 그룹의 정보를 변경하거나 삭제할 수 없습니다.
리스너 프로비저닝 상태
상태 | 정의 |
---|---|
Active | 리스너 프로비저닝 성공 |
Error | 리스너 프로비저닝 실패 |
Creating | 리스너가 생성 진행중 |
Updating | 리스너가 수정 진행중이거나 하위 리소스의 생성/수정/삭제가 진행중 - 하위 리소스: (해당 리스너와 연결된)ALB 규칙/조건, 대상 그룹, 대상, 상태 확인 |
Deleting | 리스너가 삭제 진행중 |
리스너 운영 상태
상태 | 정의 |
---|---|
Online | 리스너가 정상적으로 동작 |
Offline | 관리상 비활성화된 상태 |
Error | 리스너가 에러 상태이거나 하위 리소스 중 일부가 에러 상태 - 하위 리소스: (해당 리스너와 연결된)ALB 규칙/조건, 대상 그룹, 대상, 상태 확인 |
리스너 프로토콜
리스너의 프로토콜은 로드 밸런서와 클라이언트가 통신하는 규칙 체계를 의미합니다. 사용자는 HTTP
, HTTPS
, TCP
, UDP
, TLS
중 하나의 프로토콜을 선택할 수 있습니다. 리스너로 유입된 트래픽은 기본 대상 그룹으로 분산됩니다. 리스너의 프로토콜에 따라 기본 대상 그룹으로 설정할 수 있는 대상 그룹의 프로토콜이 제한됩니다.
리스너 프로토콜과 대상 그룹 프로토콜 조합
로드 밸런서 | 리스너 프로토콜 | 대상 그룹 프로토콜 |
---|---|---|
ALB | HTTP | HTTP , PROXY |
HTTPS | HTTP | |
NLB | TCP | HTTP , HTTPS , TCP , PROXY |
UDP | UDP | |
TLS | TCP | |
DSRNLB | TCP | TCP |
UDP | UDP |
DSRNLB에서 UDP 리스너를 사용 시 대상 인스턴스에 추가적인 설정이 필요하며, 특정 운영 체제만 지원합니다. 자세한 정보는 How-to Guides 문서를 확인하시기 바랍니다.
SSL 인증서
ALB의 HTTPS 리스너, NLB의 TLS 리스너를 사용하는 경우, 로드 밸런서에 최소 한 개 이상의 SSL 인증서를 설정해야 합니다. 로드 밸런서는 등록된 인증서를 기반으로 SSL 핸드셰이크와 암호화 및 복호화를 처리합니다. 인증서는 계정 단위로 관리되며 계정이 소유한 인증서 중에서 선택할 수 있습니다. 등록한 인증서가 없거나 기존에 보유한 인증서를 등록하여 사용하고 싶은 경우 새 인증서 추가 기능을 사용할 수 있습니다. 새 인증서를 등록하기 위해서는 PEM 인코딩된 프라이빗 키, 본문, 체인을 입력해야 합니다.
인증서 관리
구분 | 설명 |
---|---|
SSL 기본 인증서 | HTTPS/TLS 리스너 생성 시 처음 지정한 인증서로, 사용자가 SNI 프로토콜을 사용하지 않고 호스트 이름을 지정하여 연결한 경우 기본적으로 사용되는 인증서 - 기본 인증서는 리스너에서 해제 불가하며, 설정한 기본 인증서를 해제하려면 다른 인증서를 등록하여 교체 |
SSL 추가 인증서 | 기본 인증서가 아닌 추가 인증서를 리스너당 5개까지 등록 가능 |
SSL 인증서 등록 및 보관 | 로드 밸런서 만들기 또는 리스너 추가 팝업창의 HTTPS/TLS 리스너 생성 과정에서 인증서를 등록하거나, 인증서 생성 후 리스너 상세 화면에서 인증서 등록 가능 - PEM 형식의 인증서 프라이빗 키, 인증서 본문, 인증서 체인을 입력하면, 해당 정보들은 PKCS12 포맷으로 변환하여 별도의 암호화 스토리지에 보관됨- 보관된 인증서는 HTTPS/TLS 리스너에 인증서를 설정할 때 목록에서 확인 |
SSL 인증서 해제 | 리스너 상세 화면에서 리스너에 설정된 인증서 해제 - 기본 인증서는 해제할 수 없으며 HTTPS/TLS 리스너는 최소 1개 이상의 인증서 지정 필요 |
SSL 인증서 삭제 | 리스너 상세 화면에서 보관된 인증서 삭제 |
보안 정책(SSL/TLS)
SSL 인증서 설정과 더불어 최소 지원 TLS 버전을 설정할 수 있습니다. ALB의 HTTPS 리스너, NLB의 TLS 리스너에서 설정 가능하며, 클라이언트가 보안 연결을 설정하는 데 도움을 줍니다. 제공하는 TLS 버전 중 한 가지를 선택하여 적용합니다. 암호화 스위트(Cipher Suite)는 전송 계층 보안(TLS)에서 쓰이는 인터넷 보안 보조 알고리즘의 집합입니다. 지원하는 TLS 프로토콜 버전 및 암호화 스위트 목록은 달라질 수 있습니다.
Cipher Suites
Cipher Suite | TLSv1.0 | TLSv1.1 | TLSv1.2 |
---|---|---|---|
ECDHE-RSA-AES128-GCM-SHA256 | v | ||
ECDHE_RSA_AES128_CBC_SHA | v | v | |
ECDHE-RSA-AES128-SHA | v | v | v |
ECDHE-RSA-AES128-SHA256 | v | ||
ECDHE-RSA-AES256-GCM-SHA384 | v | ||
ECDHE_RSA_AES256_CBC_SHA | v | v | |
ECDHE-RSA-AES256-SHA | v | v | v |
ECDHE-RSA-AES256-SHA384 | v | ||
AES128-GCM-SHA256 | v | ||
AES128-SHA | v | v | v |
AES128-SHA256 | v | ||
AES256-GCM-SHA384 | v | ||
AES256-SHA | v | v | v |
AES256-SHA256 | v | ||
CAMELLIA128-SHA | v | v | v |
CAMELLIA256-SHA | v | v | v |
DHE-RSA-AES128-GCM-SHA256 | v | ||
DHE-RSA-AES128-SHA | v | v | v |
DHE-RSA-AES128-SHA256 | v | ||
DHE-RSA-AES256-GCM-SHA384 | v | ||
DHE-RSA-AES256-SHA | v | v | v |
DHE-RSA-AES256-SHA256 | v |
기본 동작
리스너로 수신된 트래픽을 처리하는 기본 방식으로 리스너의 기본 동작은 Forward로 고정됩니다. 하나의 대상 그룹을 선택할 수 있으며 선택한 대상 그룹은 기본 대상 그룹으로 동작합니다.
규칙 추가를 통해 Forward
, Redirect To URL
, Redirect Prefix
와 같은 동작 설정을 규칙에 추가할 수 있습니다.
속성
리스너는 기본 속성으로 연결 유휴 제한을 설정할 수 있습니다. 연결 유휴 제한을 설정 시 로드 밸런서가 연결이 유휴 상태일 때 허용하는 시간을 초 단위로 설정하며, 1~4000초까지 설정할 수 있습니다. 기본값은 50초입니다.
Application Load Balancer는 더 많은 속성 설정을 제공하며, X-Forwarded-For Header 처리
, X-Forwarded-Port 전송
, X-Forwarded-Proto 전송
과 같은 패킷 설정이 가능합니다.
최대 커넥션
최대 커넥션 설정 기능은 기본으로 미사용 상태이며, 필요에 따라 활성화하여 최대 커넥션 수를 지정하여 사용합니다. 리스너에 연결을 유지할 수 있는 상한을 제한하여 서비스 품질을 유지하는 기능입니다.
로드 밸런서별 상세
로드 밸런서별 리스너 세부 설정을 설명합니다.