[TIL] AWS - Route 53을 통해 EC2에 HTTPS 설정해주기

phdljr·2024년 2월 11일
0

TIL

목록 보기
63/70

프론트 서버와 백엔드 서버가 HTTPS와 HTTP를 같이 사용해서 오류가 발생한 적이 있었다.

이를 해결해주기 위해서, 백엔드 서버에도 HTTPS를 적용시키려고 한다.

이러한 과정에 대한 내용을 정리해보는 시간을 가져보겠다.


순서

  1. Route 53에서 도메인 구매
  2. 구매한 도메인에 대해 SSL/TLS 인증서 발급
  3. ELB를 생성하여 HTTPS 리스너 설정
  4. 생성한 ELB에 대해 DNS 레코드 등록

Route 53 도메인 구매

  • 도메인을 구매하여 다음과 같이 두 개의 레코드가 등록돼있는 모습을 볼 수 있다.

ACM을 통해 SSL/TLS 인증서 발급

  • 인증서 상세보기에서 Create records in Route 53을 통해서 레코드 등록해주기

  • Route 53에 인증서에 대한 레코드가 등록된 모습을 볼 수 있다.

EC2로 대신 요청을 보내주는 ELB 설정

  • EC2로 HTTP 요청을 HTTPS로 리다이렉트를 해주기 위해선, ELB를 거쳐야만 한다.
    • 또는, EC2 내부적으로 Nginx와 같이 reverse proxy를 통해서 진행해도 된다.
  • ELB를 생성한다.

    • ELB는 HTTP와 HTTPS에 대한 요청만 받도록 인바운드 규칙을 설정한다.
    • 스프링 서버의 기본 포트는 8080이기에, 타겟 그룹을 생성할 때 라우팅 포트를 8080으로 설정해야 한다.
  • ELB에 대해 리스너를 설정한다.

    • HTTPS는 위에서 생성한 타겟 그룹으로 전달시키게 설정

    • 위에서 발급한 인증서와 함께 HTTPS 리스너에 설정

    • HTTP는 HTTPS로 리디렉션을 보내도록 설정

  • 기존의 EC2에 적용된 보안 그룹에서, HTTP와 HTTPS에 대한 인바운드 규칙을 삭제한다.
    • 대신, ELB가 EC2에 요청을 보낼 수 있도록 인바운드 규칙을 설정한다.

Route 53에서 ELB에 대한 DNS 레코드 생성

  • 구매한 도메인과 ELB를 연결

참고

  • 도메인 구매 시, 시간이 대략 20분정도 걸림
profile
난 Java도 좋고, 다른 것들도 좋아

0개의 댓글