협업 프로젝트(campus) - ① HTTP 도메인을 HTTPS로 전환(EC2 ALB)

Big0·2022년 3월 4일
0
post-thumbnail

상황

프로젝트의 최종단계까지 왔다. 이제 도메인까지 구매했고, 배포만 하면 되는데, 현재 사이트(http://www.camp-us.link)는 ssl 인증이 안되어 있어서 브라우저에서 보안상 오류가 뜨게 된다.


목적

ALB를 통해 https로 바꿔보자.


ALB란?

  • LB(LoadBalancer): 둘 이상의 가용 영역에서 EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상에 걸쳐 수신되는 트래픽을 자동으로 분산하는 서비스
  • (ALB = Amazon loadbalancer, ELB = Elastic loadbalance)

먼저

  • 이전에 만들어놓은 도메인 주소가 필요하다. AWS Route 53이나 도메인을 살 수 있는 사이트를 통해 먼저 도메인을 구매하자.
  • EC2 인스턴스와 IAM 설정이 완료되어 있어야 한다.

도메인을 HTTPS로 바꿔보자

  • HTTPS를 사용할 수 있게 SSL 인증서를 요청하자. (AWS Certificate Manager -> 인증서 요청 -> 퍼블릭 인증서 요청 -> 다음)
  • 도메인 이름에는 기존에 생성했던 도메인 주소를 입력해준다. 검증 방법은 DNS 검증으로 선택한다. Route53으로 도메인을 만들었다면 DNS검증 방법을 추천한다고 한다.
  • 그렇다면 이렇게 인증서가 발급되며, 상태 또한 '발급됨'으로 변경된 것을 확인할 수 있다.

  • 이제 로드 밸런서를 생성하자. (EC2 -> 로드 밸런싱 -> 로드 밸런서 -> 로드 밸런서 생성)

  • 우리는 ALB를 통해 HTTP를 HTTPS로 바꾸는 작업을 할 것이다. (ALB의 Create 클릭)

  • Basic configuration은 로드밸런서의 이름을 입력해준 후 다음과 같이 기본 설정 정보로 간다. (분명 다른 자료를 찾아볼 때는 한국어 지원이 분명 되는데, 내 환경에서는 언어가 영어로 나온다...)

  • 다음은 Network Mapping을 설정해주어야 하는데, Mapping에 대한 정보는 기존에 만들어놨던 EC2 인스턴스의 가용영역을 살펴보자. 해당하는 인스턴스의 가용영역을 일치하게 설정해준다. (이전 설정에서는 몰라서 모두 선택을 했었는데, 그래도 상관 없긴했다...)

  • Security groups는 인스턴스를 생성할 때 만들었던 보안 그룹을 선택해준다. (여기서 보안 그룹 설정에서 HTTPS에 대한 설정을 해주어야만 한다.)

  • Listeners and routing은 우리가 HTTPS 요청이 들어왔을 때 EC2에 HTTP 요청으로 변경해주어야 한다. 그러므로 HTTPS의 프로토콜을 리스너로 받아야 한다. HTTPS의 port번호는 '443'이다.

  • 포트번호까지 설정 했다면, 아래에 보이는 Create target group을 선택하여 타겟 그룹을 만들어주자.

  • 우리는 EC2 인스턴스로 HTTPS 요청을 보내야하기 때문에 Instance를 선택해준다.

  • 이후 설정은 아래와 같이 설정하면 된다.

  • 다시 로드벨런서 설정으로 돌아와서, Default SSL certificate에서 위에서 만들었던 SSL 인증서를 선택해준다. (Select a certificate)

  • 마지막으로 모두 잘 설정된 것을 확인할 수 있다.

  • 완료! HTTP, HTTPS 모두 HTTPS로 연결됩니다!

0개의 댓글