Application Load Balancer용 HTTPS 리스너 생성
리스너는 연결 요청을 확인합니다. 로드 밸런서를 생성할 때 리스너를 정의하면 언제라도 로드 밸런서에 리스너를 추가할 수 있습니다.
HTTPS 리스너를 생성하려면 로드 밸런서에 한 개 이상의 SSL 서버 인증서를 반드시 배포해야 합니다. 로드 밸런서는 서버 인증서를 사용해 프런트 엔드 연결을 종료한 다음, 대상으로 전송하기 전에 클라이언트의 요청을 해독합니다. 클라이언트와 로드 밸런서 간의 보안 연결을 협상하는 데 사용되는 보안 정책도 지정해야 합니다.
암호화된 트래픽을 로드 밸런서의 해독 없이 대상으로 전달해야 하는 경우, 포트 443을 수신하는 TCP 리스너가 있는 Network Load Balancer 또는 Classic Load Balancer를 생성할 수 있습니다. TCP 리스너를 사용하여 로드 밸런서는 암호화된 트래픽을 해독하지 않고 대상으로 전달합니다.
이 페이지의 정보는 로드 밸런서용 HTTPS 리스너를 생성하는 데 도움이 됩니다. 로드 밸런서에 HTTP 리스너를 추가하려면 Application Load Balancer용 HTTP 리스너 생성 섹션을 참조하세요.
사전 조건
-
기본 리스너 규칙에 전달 작업을 추가하려면 사용 가능한 대상 그룹을 지정해야 합니다. 자세한 내용은 Application Load Balancer 대상 그룹 생성 섹션을 참조하세요.
-
여러 리스너에서 동일한 대상 그룹을 지정할 수 있지만, 이러한 리스너는 동일한 로드 밸런서에 속해야 합니다. 대상 그룹을 로드 밸런서와 함께 사용하려면 대상 그룹이 다른 로드 밸런서용으로 리스너에서 사용되고 있지 않은지 확인해야 합니다.
-
Application Load Balanca는 ED25519 키를 지원하지 않습니다.
HTTPS 리스너 추가
클라이언트와 로드 밸런서 간의 연결을 위한 프로토콜 및 포트로 리스너를 구성합니다. 자세한 내용은 리스너 구성 섹션을 참조하세요.
보안 리스너를 생성할 때는 보안 정책과 인증서를 지정해야 합니다. 인증서 목록에 인증서 추가하려면 인증서 목록에 인증서 추가 섹션을 참조하세요.
리스너에 대한 기본 규칙을 구성해야 합니다. 리스너를 생성한 후 다른 리스너 규칙을 추가할 수 있습니다. 자세한 내용은 리스너 규칙 섹션을 참조하세요.
- Console
-
HTTPS 리스너를 추가하려면
https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.
-
탐색 창에서 로드 밸런서를 선택합니다.
-
로드 밸런서를 선택합니다.
-
리스너 및 규칙 탭에서 리스너 추가를 선택합니다.
-
프로토콜에서 HTTPS를 선택합니다. 기본 포트를 그대로 두거나 다른 포트를 입력합니다.
-
(선택 사항) 인증 규칙을 추가하려면 사용자 인증을 선택하고 ID 공급자를 선택한 후 필요한 정보를 입력합니다. 자세한 내용은 Application Load Balancer를 사용하여 사용자 인증 섹션을 참조하세요.
-
라우팅 작업에서 다음 라우팅 작업 중 하나를 선택하고 필요한 정보를 제공합니다.
-
대상 그룹에 전달 – 대상 그룹을 선택합니다. 다른 대상 그룹을 추가하려면 대상 그룹 추가를 선택하고, 대상 그룹을 선택하고, 상대 가중치를 검토하고, 필요에 따라 가중치를 업데이트합니다. 대상 그룹 중 하나에서 고정을 활성화한 경우 그룹 수준 고정을 활성화해야 합니다.
요구에 맞는 대상 그룹이 없는 경우 대상 그룹 생성을 선택하여 새로 생성합니다. 자세한 내용은 대상 그룹 생성 섹션을 참조하세요.
-
URL로 리디렉션 – URI 파트 탭에서 각 파트를 개별적으로 입력하거나 전체 URL 탭에서 전체 주소를 입력합니다. 상태 코드의 경우 요구 사항에 따라 임시(HTTP 302) 또는 영구(HTTP 301) 중 하나를 선택합니다.
-
고정 응답 반환 – 폐기된 클라이언트 요청에 대해 반환할 응답 코드를 입력합니다. 선택적으로 콘텐츠 유형과 응답 본문을 지정할 수 있습니다.
-
보안 정책에서는 권장 보안 정책을 선택합니다. 필요에 따라 다른 보안 정책을 선택할 수 있습니다.
-
기본 SSL/TLS 인증서에서는 기본 인증서를 선택합니다. 또한 SNI 목록에 기본 인증서를 추가합니다. 인증서는 다음 옵션 중 하나를 사용해 선택할 수 있습니다.
-
ACM에서 – AWS Certificate Manager에서 사용할 수 있는 인증서를 표시하는 인증서(ACM에서)에서 인증서를 선택합니다.
-
IAM에서 – AWS Identity and Access Management에 가져온 인증서를 표시하는 인증서(IAM에서)에서 인증서를 선택합니다.
-
인증서 가져오기 – ACM으로 가져오기 또는 IAM으로 가져오기 중 인증서를 가져올 대상을 선택합니다. 인증서 프라이빗 키에서 프라이빗 키 파일(PEM 인코딩)의 콘텐츠를 복사해 붙여 넣습니다. 인증서 본문에서 퍼블릭 키 인증서 파일(PEM 인코딩)의 콘텐츠를 복사해 붙여 넣습니다. 자체 서명 인증서를 사용하고 있고 브라우저가 인증서를 묵시적으로 수락하는 것이 중요하지 않은 경우를 제외하고, 인증서 체인(Certificate Chain)에 인증서 체인 파일(PEM 인코딩)의 콘텐츠를 복사해 붙여 넣습니다.
-
(선택 사항) 상호 인증을 활성화하려면 클라이언트 인증서 처리에서 상호 인증(mTLS)을 활성화합니다.
기본 모드는 패스스루입니다. 트러스트 스토어로 확인을 선택한 경우:
-
(선택 사항) 태그를 추가하려면 리스너 태그를 확장합니다. 새 태그 추가를 선택하고 태그 키와 태그 값을 입력합니다.
-
리스너 추가를 선택합니다.
- AWS CLI
-
HTTPS 리스너를 생성하려면
create-listener 명령을 사용합니다. 다음 예시에서는 트래픽을 지정된 대상 그룹에 전달하는 기본 규칙을 사용하여 HTTPS 리스너를 생성합니다.
aws elbv2 create-listener \
--load-balancer-arn load-balancer-arn \
--protocol HTTPS \
--port 443 \
--default-actions Type=forward,TargetGroupArn=target-group-arn \
--ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \
--certificates certificate-arn
- CloudFormation
-
HTTPS 리스너를 생성하려면
AWS::ElasticLoadBalancingV2::Listener 유형의 리소스를 정의합니다. 다음 예시에서는 트래픽을 지정된 대상 그룹에 전달하는 기본 규칙을 사용하여 HTTPS 리스너를 생성합니다.
Resources:
myHTTPSListener:
Type: 'AWS::ElasticLoadBalancingV2::Listener'
Properties:
LoadBalancerArn: !Ref myLoadBalancer
Protocol: HTTPS
Port: 443
DefaultActions:
- Type: "forward"
TargetGroupArn: !Ref myTargetGroup
SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06
Certificates:
- CertificateArn: certificate-arn