본문으로 바로가기

[AWS] ALB의 SNI 기능 (다중 ssl인증서 등록)

category IT/AWS 2024. 1. 3. 16:16
반응형

Intro

AWS의 대표적인 서비스중 ALB(Application Load Balancer)라고 부르는 부하 분산 서비스가 있습니다. ALB뒤에 여러개의 EC2를 연결하여 부하를 분산해주고 각기 다른 AZ에 분산시켜서 고가용성을 확보 할 수도 있습니다. ALB는 그 이외에도 여러가지 기능이 있는데요. EC2의 해당 서비스가 잘 살아있는지 체크하는 헬스체크 기능과 더불어 가장 대표적인 기능이 SSL인증서 처리입니다.

ALB에서 직접 ssl인증서 처리를 해줄 수 있기 때문에 EC2에 인증서를 등록하지 않아도 되는데요. ALB에는 여러개의 SSL인증서를 등록할 수 있는 SNI 기능을 지원합니다. 오늘은 SNI에 대해 알아보도록 하겠습니다.

SNI(Server Name Indication)란?

  • SNI는 하나의 서버에 다수의 SSL/TLS 인증서를 사용할 수 있도록 하는 방식으로, 같은 IP 주소를 사용하는 여러 도메인의 SSL/TLS 인증서를 식별할 수 있습니다.

ALB는 SNI를 지원합니다

  • AWS Application Load Balancer는 SNI(Server Name Indication)를 지원합니다. 아래 캡처화면과 같이 여러 인증서를 선택하여 Add할 수 있습니다.
  • 클라이언트가 ALB에 접근할때 도메인 이름에 일치하는 SSL/TLS 인증서가 있는 경우 해당 인증서가 선택됩니다. 만약 도메인 이름에 일치하는 SSL/TLS 인증서가 없는 경우, Default SSL/TLS 인증서가 선택됩니다.
  • 클라이언트가 SNI를 지원하지 않을 경우 ALB가 기본 인증서(리스너 생성 시 지정한 인증서)를 사용합니다.
  • ALB 1개당 바인딩이 가능한 인증서는 최대 25개입니다(기본 인증서 제외)

AWS CLI를 통해 SSL 인증서 추가

aws elbv2 add-listener-certificates --listener-arn <listener-arn> --certificates CertificateArn=<cert-arn>

 

반응형