AWS로 Https 달기 ELB(Elastic Load Balancer) 설정

Devback·2021년 2월 24일
2
post-thumbnail

AWS EC2에서 https를 적용하기 위해서는 Load balancer를 사용해야 합니다.

ELB(Elastic Load Balancing)란?

  • Elastic Load Balancing 의 약자로, 시스템에 가해지는 부하를 여러대의 시스템으로 분산해서 대규모의 시스템을 만들 수 있도록 해주는 진입점 입니다.

ELB 특징

  • 트래픽 분산
  • 자동 확장
  • 인스턴스의 상태를 자동 감지해서 오류가 있는 시스템은 제외
  • 사용자 세션을 특정 인스턴스에 고정 가능
  • SSL 암호화 지원
  • SSL의 경유지로 ELB를 사용하는 경우에 SSL 처리에 따른 부하를 ELB가 수용하게 된다.
  • IPv4, IPv6 지원
  • CloudWatch를 통해서 모니터링
  • 사용한 시간과 통과한 트래픽에 따라서 종량제로 과금

AWS EC2에 접속합니다.

어플리케이션 로드밸런서와 클래식 로드밸런서가 있는데, 둘 다 https로 접속하는데 문제는 없습니다.

저는 Application Load Balancer를 사용했습니다.


첫번째 로드 밸런서 구성 탭에서

리스너를 추가하여 HTTPS포트를 사용하도록 요청합니다.

그리고 가용역역까지 선택을 합니다. 2가지 이상을 선택해야 합니다.

다음으로 넘어갑니다.

Https 프로토콜로 연결하기 위해서는 SSL 인증서가 필요합니다.

SSL인증서를 등록하는 방법은 두가지가 있습니다.

  1. EC2에 직접 인증서를 설치하는 방법
  2. AWS 인증 서비스인 ACM(AWS Certificate Manager) 사용하는 방법

저는 Nginx에서 https 설치를 실패해서 ACM을 통해 인증서를 발급받았습니다.

4단계에서는 이름만 설정하시고 그냥 넘어가면 되겠습니다.

5단계에서는 대상 등록을 진행합니다. EC2에 등록되어 있는 인스턴스를 선택하여 등록된 대상으로 올리고 다음으로 넘어갑니다.

생성이 완료되면 처음에는 상태가 provisioning으로 나올텐데 몇 분이 흐르면 active로 바뀌게 됩니다. 창을 새로고침하여 상태를 확인합니다.

Route53의 도메인에 ELB인스턴스 DNS연결

마지막으로 기존 설정했던 레코드의 값을 수정해야 합니다.

lecturesearch.shop. 레코드를 선택하고, 별칭에 '예'를 클릭합니다.

레코드 저장버튼을 클릭합니다. 변경값이 적용되는데 까지 시간이 소요됩니다.

마지막으로 https를 통해서 나의 웹이 접속이 된다면 성공입니다!

참고

https://happiestmemories.tistory.com/m/48

https://nerd-mix.tistory.com/m/34?category=855099

https://yunzema.tistory.com/m/264

profile
나랑 같이 개발할 사람🖐

0개의 댓글