본문 바로가기

# DevNote/AWS

[ELB] 로드 밸런서를 사용하여 EC2에 HTTPS로 연결하기

개요

먼저 단언하자면 EC2 콘솔을 통해 SSL 인증서를 적용할 수 있는 방법은 없습니다. 특정 인스턴스에 SSL 인증서를 설치하기 위해서는 수동으로 설치하는 방법밖에 없죠. 그러나 이 방식은 인증서의 유효기간에 대한 고민이 함께 따라오기 때문에 적지않은 수고가 함께 동반됩니다. 😟


하지만 로드 밸런서를 함께 사용하면 인스턴스에 인증서를 설치하지 않고도 HTTPS연결을 할 수 있습니다. ACM을 통해 발급받은 인증서를 사용한다면 재발급 및 갱신까지 알아서 해주기 때문에 더욱 편리하죠.


백그라운드

이 마법같은 일은 로드 밸런서가 인증서를 가지고 있기 때문에 가능합니다. EC2에는 인증서가 설치되지 않아 로드 밸런서EC2 사이에 일반 연결이 수립되었지만 로드 밸런서는 인증서를 가지고 있기 때문에 사용자와 보안 연결이 가능한 것이죠.


시작하기

로드 밸런서 생성하기

먼저 EC2 콘솔에서 로드 밸런서 항목을 선택하고 로드 밸런서 생성버튼을 누릅니다.


로드 밸런서 종류선택

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


1단계

기본구성 선택

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


프로토콜 선택

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


가용영역 선택

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


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


2단계

인증서 선택

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


3단계

보안그룹 선택

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


4단계

라우팅 구성

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


5단계

인스턴스 추가

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


생성완료

검토

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


잠깐 기다리기

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


도메인에 레코드 등록하기

DNS 레코드 확인

로드 밸런서DNS 이름을 확인하고 복사합니다.


DNS 레코드 등록

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


확인하기

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