ALB Route53 및 인증서 등록 - HTTPS 구성

# 목적

ALB가 존재하는 상황에서, Route53 및 인증서를 등록하여 HTTPS 구성하여 서비스를 위한 최소한의 보안 확보가 가능해진다.


ALB가 존재하는 상황에서 Route53에서 구매한 도메인 및 인증서까지 발급받아 적용하는 과정을 공유한다.

 

EKS 환경에서 ALB를 프로비저닝하는 방법은 아래 글에서 설명되어 있으므로 참고하면 된다. 굳이 AWS LB Controller를 통해 구성된 ALB가 없더라고 아래의 과정은 동일하다.

 

EKS ALB 구성 및 노출 - K8s Ingress 및 AWS LB Controller 사용

# 목적 EKS 및 데이터플레인을 구성할 때 일반적으로 Private Subnets에 속하도록 구성한다. 이럴 경우, 사설 네트워크에 존재하는 파드들을 외부로 서비스하기 위해선 별도로 공인 IP를 할당받던지, N

alive-wong.tistory.com

 

진행 과정은 다음과 같다.

 

  1. ACM 인증서 발급 - 퍼블릭 인증서 요청
  2. 해당 인증서에 대한 DNS 레코드 생성(다른 DNS 서비스를 사용한다면 거기에서 구성)
  3. ALB 리스너에 해당 인증서 추가
  4. Route53 호스팅 영역에 DNS 레코드 추가(DNS 등록)

# ACM(Amazon Certificate Manager) 인증서 발급

AWS Web Console에서 AWS Certificate Manager로 접속 후 우측 상단의 요청 버튼 클릭 - 본인은 하나 존재한 상태이다.

퍼블릭 인증서를 요청하고(프라이빗을 사용하시는 분은 이걸 안볼테니..), 도메인 이름을 등록한다. 

 

AWS에서는 IP로는 이를 수행해주지 않는듯 하다.

주의할 점은 완전히 정규화된 도메인 이름이라고 한다.
즉, 이 인증서를 통해 서브 도메인에 대한 포괄적인 적용을 위해서라고 볼 수 있다.

검증 방법은 본인이 DNS를 직접 등록하고 구성할 수 있으면 DNS 검증을 선택하면 된다고 한다. 본인은 이 방식 선택

아래에 키 알고리즘 같은 경우 기본값을 사용했다.

요청을 완료한 이후 본인은 Route53에 구매한 도메인이 존재하므로 추가 경로를 통해서 바로 DNS 레코드를 생성하였다.

인증서에 등록할 DNS Record 생성

만약, 이를 구성하지 않으면, 인증서를 받아올 때, 검증 대기 중으로 유지될 것이다(이미 한번 겪음).
가비아나 다른 도메인 이름을 사용해도 결국, CA에서 설정한 도메인 명으로  등록해야한다.

해당 도메인에 DNS 레코드까지 붙이면, 약 5분도 안걸려서 해당 인증서는 활성 상태가 된다.

인증서 활성 상태

인증서 발급 성공


# ALB 인증서 적용

ALB에 인증서를 적용하기 위해선 개별 리스너를 수정해야한다.

리스너 편집

리스너를 편집해서 프로토콜을 HTTPS로 올리면, 아래에 보안 리스너 설정 항목에서 보안 정책 및 SSL/TLS 인증서를 선택하는 과정이 생긴다.

여기에서 아까 생성한 인증서를 선택할 수 있다.

리스너 선택

이를 수행하면 이제 해당 포트로 접속하면 HTTPS 구성이 완료된 것이다.

본인은 2개의 포트를 열어놨다. 아래처럼 구성되면 8000 포트로 접속되도 HTTPS를 사용한다.


# Route53 적용

이는 이미 구성이 다 되어 있는 상태라, 그냥 가서 DNS Record 등록만 위의 ALB로 잡아주면 끝난다.

Route53 > 호스팅 영역 > 레코드 생성 을 통해, 아래처럼 "별칭"을 통해 구성한 ALB를 잡아주면 모든 구성이 완료된다.

이를 사용하면 이제, 아래와 같은 HTTPS 접속이 가능해진다.

HTTPS 요청 구성 완료

728x90
반응형