DNS Web Service
EC2 instance 같은 AWS resources 와 함께 쓸 수 있도록.
ex) EC2를 클라우드 서버 컴퓨터로 쓸 때 Public IPv4에 도메인 부여
순서는 다음과 같다.
근데 뜬금없이 왜 도메인을 발급받냐고?
HTTPS를 쓰기 위해선 SSL/TLS 인증서가 필요하고
인증서 발급을 위해선 IPv4 192.168.0.x 같은 주소가 아닌
example.com 같은 사용자 도메인이 필요하기 때문이다.
Route 53 - 호스팅 영역
값/트래픽 라우팅 대상 4개 주소를
DNS 서버 주소 목록에 추가
Amazon Certificate Manager
SSL/TLS 인증서를 발급하고 관리하는 서비스
보통 ELB (Elastic Load Balancer)와 함께 쓰인다.
Application Layer level (L7) HTTP(S) 프로토콜상의 로드벨런싱을 위한 서비스다.
로드벨런싱이 뭔지 모르겠다고...? 그럼 아마 이 포스트를 읽어도 이해가 가지 않을텐데...
SSL 인증서는 각각의 EC2 Instance가 아닌
ELB에 적용된다! => 서버의 부하를 줄인다.
Elastic Load Balancer 생성
Application Load Balancer 선택
로드밸런서 구성
이로써 ELB로 들어오는 모든 HTTP, HTTPS 요청에 SSL 인증서가 적용되어 HTTP => HTTPS 리다이렉션이 일어난다.
👉🏻 HTTPS 적용 완료
보안 그룹 지정
라우팅 지정
Elastic Load Balancer 에 할당된 URL 로 요청시 자동으로 대상 인스턴스(엔드포인트)에 지정한 '프로토콜'로 요청 된다.
나의 EC2 인스턴스는 HTTP 80포트를 사용중이므로 여기서 80포트로 라우팅되도록 설정했다.
반드시 대상 인스턴스를 '등록된 항목에 추가' 버튼을 눌러 추가해야한다.
⚠ 이 과정을 생략하면 대상 인스턴스를 찾을 수 없어503 Service Unavailable
을 반환한다.
항시 가동되고 있는 EC2 인스턴스를 대상으로 등록했다. 이 인스턴스는 Auto-Sclaing Group 의 메인 인스턴스로 트레픽이 급증하면 Scale-out 이 일어난다.
다시 돌아와서
등록했던 도메인주소와 등록한 ELB 를 연결해주어야한다.
이제 발급받은 특정 도메인 URI에 대해 모든 요청이 ELB 를 경유하게된다. 😏
EC2 -> Auto Scaling 그룹
대상 ELB 추가
ELB에 SSL 인증서를 적용하고 EC2 Auto scaling 에 연결하면
대규모 트레픽을 감당할 수 있을 뿐만 아니라 HTTPS 프로토콜 사용으로 더 안전한 서비스를 구성할 수 있다.
☹️ 실제 회사 서비스에 적용하면서 작성한 포스팅이라 결과화면은 업로드하기 어렵다.