SSL/TLS - Basics
- SSL 인증서를 사용하면 클라이언트와 로드 밸런서 간의 트래픽을 전송 중에 암호화 가능 (전송 중 암호화, 기내 암호화)
네트워크를 통해 가는 데이터가 암호화되고 오직 발신자와 수신자에 의해 비암호화될 수 있음 - SSL은 보안 소켓 계층 (Secure Socket Layer) 을 나타내며, 연결을 암호화하는데 사용
- TLS는 최신 버전의 SSL으로 전송 계층 보안 (Transport Layer Secure) 을 나타냄
- 공공 SSL 인증서는 인증기관에 의해 발급되며, Comodo, Symantec, GoDaddy, GlobalSign, Digicert, Letsencrypt 등 포함
- 공공 SSL 인증서를 사용하여 로드 밸런서에 연결하면 클라이언트와 로드 밸런서 사이의 연결을 암호화할 수 있음
- 만약 웹사이트에서 락 또는 그린 락이 있으면 트래픽이 암호화되었다는 뜻이며, 트래픽이 암호화되지 않았다면 빨간 사인이 뜸
- SSL 인증서는 설정한 만료 날짜가 있으므로 정기적으로 갱신되는지 확인해야 함
Load Balancer - SSL Certificates
- 로드 밸런서 관점에서 SSL 인증서가 어떻게 일하는걸까?
사용자는 SSL 인증서를 사용해 암호화된 보안을 가지고 HTTPS (S는 Secure) 를 통해 연결하면
내부적으로 로드 밸런서는 SSL 인증 종료 후 HTTP를 이용해 EC2 인스턴스에게 암호화되지 않은 트래픽을 개인 VPC로 연결 - 로드 밸런서는 X.509 인증서 (SSL/TLS 서버 인증서) 를 사용
- ACM (AWS Certificate Manager)을 사용하여 인증서를 관리하거나 자신의 인증서를 업로드
- HTTPS listener :
기본 인증서 지정 반드시 필요
다양한 도메인과 고객들이 SNI 혹은 서버명 표시를 통해 불리는 것을 지원하기 위해 선택적 인증서 목록을 추가할 수 있음
클라이언트는 SNI (서버 이름 표시) 를 사용하여 도달하는 호스트 이름을 지정할 수 있음
SSL/TLS (기존 클라이언트) 의 이전 버전을 지원하기 위해 HTTPS에 대해 특정 보안 정책 설정 가능
SSL – Server Name Indication (SNI)
- 해당 웹서버가 여러 웹사이트를 제공하기 위해 하나의 웹 서버에 여러 SSL 인증서를 로드하는 방법
- 최신 프로토콜이며 클라이언트가 초기 SSL 핸드셰이크에서 대상 서버의 호스트 이름을 나타내도록 요구하여
고객이 어떤 웹사이트에 연결하고 싶다고 말을 하면, 서버가 올바른 인증서를 찾거나 기본 인증서를 반환 - 최신 프로토콜이므로 모든 고객에게 지원하지는 않으며 ALB와 NLB를 사용할 때만 작동
- ALB가 있고 두 개의 목표 그룹 (ww.mycorp.com / Domain1.example.com) 이 존재
ALB는 일부 규칙을 기반으로 목표 그룹으로 라우팅되며 이 경우 규칙은 호스트 이름에 직접 링크될 수 있음
ALB는 두 개의 인증서 (Domain1.example.com / www.mycorp.com) 가 존재하고
클라이언트가 ALB에 연결하고 www.mycorp.com 을 사용할거라고 말을 하게 되면
요청 수행을 위해 그에 맞는 바른 SSL 인증서를 가지고 트래픽을 암호화하여여 올바른 목표 그룹에 사용하는지 감사
SNI나 서버명 표시를 사용하면 다른 SSL 인증서를 사용하는 다른 웹사이트를 위한 다양한 목표 그룹을 가질 수 있음
Elastic Load Balancers – SSL Certificates
- CLB (Classic Load Balancer)
하나의 SSL 인증서만 지원
여러 SSL 인증서가 있는 여러 호스트 이름에 대해 여러 CLB를 사용해야 함 (다중 SSL 인증서를 위해 다중 CLB 사용) - ALB (Application Load Balancer)
여러 SSL 인증서로 여러 다중 리스너 지원
SNI (서버 이름 표시) 를 사용하여 작동 - NLB (Network Load Balancer)
여러 SSL 인증서로 여러 다중 리스너 지원
SNI (서버 이름 표시) 를 사용하여 작동
<SSL 인증서 실습>
- CLB에서 Listeners로 가서 HTTPS 리스터를 편집하고 추가할 수 있으며 암호 설정 후 SSL 인증서를 설정할 수 있음
다른 ALB와 NLB에서도 Listener 편집을 통해 추가하여 SSL 인증서 설정 가능
'Cloud > AWS' 카테고리의 다른 글
[SAA] ASG 개요 (0) | 2022.03.05 |
---|---|
[SAA] ELB 연결 드레이닝 (0) | 2022.03.05 |
[SAA] ELB Cross Zone Load Balancing (0) | 2022.03.05 |
[SAA] ELB Sticky Sessions (0) | 2022.03.04 |
[SAA] GWLB (0) | 2022.03.04 |