개요
먼저 단언하자면 EC2 콘솔을 통해 SSL 인증서를 적용할 수 있는 방법은 없습니다. 특정 인스턴스에 SSL 인증서를 설치하기 위해서는 수동으로 설치하는 방법밖에 없죠. 그러나 이 방식은 인증서의 유효기간에 대한 고민이 함께 따라오기 때문에 적지않은 수고가 함께 동반됩니다. 😟
하지만 로드 밸런서를 함께 사용하면 인스턴스에 인증서를 설치하지 않고도 HTTPS연결을 할 수 있습니다. ACM을 통해 발급받은 인증서를 사용한다면 재발급 및 갱신까지 알아서 해주기 때문에 더욱 편리하죠.
백그라운드

이 마법같은 일은 로드 밸런서가 인증서를 가지고 있기 때문에 가능합니다. EC2에는 인증서가 설치되지 않아 로드 밸런서와 EC2 사이에 일반 연결이 수립되었지만 로드 밸런서는 인증서를 가지고 있기 때문에 사용자와 보안 연결이 가능한 것이죠.
시작하기
로드 밸런서 생성하기
먼저 EC2 콘솔에서 로드 밸런서 항목을 선택하고 로드 밸런서 생성버튼을 누릅니다.

로드 밸런서 종류선택
유형은 어플리케이션 로드 밸런서를 선택합니다.

1단계
기본구성 선택
먼저 인터넷 연결을 선택합니다. 내부는 인터넷을 사용하지 않고 아마존 내부에서 발생하는 트래픽을 밸런싱 하겠다는 의미입니다.

프로토콜 선택
보안 연결을 사용할것이기 때문에 HTTPS를 선택합니다. 만약 HTTP도 지원해야 한다면 리스너 추가 버튼을 눌러서 추가하면 됩니다.

가용영역 선택
타겟 EC2가 포함된 VPC를 선택합니다.

각 인스턴스의 VPC는 EC2 콘솔에서 확인할 수 있습니다.

2단계
인증서 선택
적용할 인증서를 선택합니다.

3단계
보안그룹 선택
기존 또는 새로운 보안그룹을 선택합니다. 443 포트가 허용되어 있어야 합니다.

4단계
라우팅 구성
로드 밸런서로 들어온 트래픽을 EC2의 어디로 전달할지 설정합니다. EC2 자체에는 인증서가 설치되어 있지 않으므로 HTTP 연결을 사용합니다.

5단계
인스턴스 추가
앞서 선택한 VPC에 포함된 인스턴스들이 리스팅됩니다. 대상 인스턴스를 추가합니다.

생성완료
검토
검토를 마치고 생성 버튼을 누릅니다.

잠깐 기다리기
로드 밸런서의 상태가 active가 될 때까지 기다립니다.

도메인에 레코드 등록하기
DNS 레코드 확인
로드 밸런서의 DNS 이름을 확인하고 복사합니다.

DNS 레코드 등록
자신이 사용하는 도메인 업체에서 DNS 이름을 CNAME으로 등록합니다.

확인하기
https://를 붙여 접속합니다. 보안 연결이 사용된 것을 확인할 수 있습니다. 👍

'# DevNote > AWS' 카테고리의 다른 글
| [ECS] 도커를 통해 ECS EC2에 배포하기 (0) | 2020.05.17 |
|---|---|
| [CloudFront, Lambda@Edge] Next를 serverless하게 배포하기 (0) | 2020.05.17 |
| [Lambda] serverless와 typescript로 시작하는 Lambda (0) | 2020.05.15 |
| [RDS] PostgreSQL 외부접속 허용하기 (0) | 2020.03.17 |