728x90

https://popawaw.tistory.com/268

 

EC2 에 HTTPS 로 도메인 연동하기 (Nginx)

AWS Ec2 에 프로젝트를 배포하고 도메인을 연동한뒤 https 까지 추가하는 방법을 알아보겠습니다. 네트워크 지식이 부족한 탓에 굉장한 삽질을 했기에 글로 남겨두려고 합니다... 사전 준비물 AWS 계

popawaw.tistory.com

 

이전에 Nginx 로 작업한 Https 연동하기에는 몇가지 단점이 있습니다.

 

여러대의 인스턴스를 하나의 도메인을 기준으로 서브 도메인으로 연동 해주려면 SSL 인증서를 공유해야하는데 이작업이 쉽지 않았습니다

 

Scale out 을 고려해야하는 production 환경일때 좋지않은 방법이여서 다른방법을 찾아보던 와중 AWS 의 certificate manager 라는 SSL 인증서를 발급해주고 Route53 에서 로드밸런스 규칙에 SSL 인증서를 등록해주면 공유해주는 좋은 기능을 가진 친구를 발견했습니다.

 

EC2 에 HTTPS 로 도메인 연동하기 Nginx 편을 보신분들은 EC2 , docker, 도메인 등 기존 준비물이 다 등록되어 있다고 가정하고 시작 하겠습니다.

 

SSL 등록하기

 

certificate manager 를 클릭하신뒤 요청 -> Public 인증서 요청 -> DNS 검증 
도메인 네임은 와일드 카드를 사용해 *.내도메인.com 으로 등록해주시면 됩니다.

 

 

그리고나서 아직 상태 값이 발급됨이 아닌 준비중이라고 나오실텐데 Route53 에서 레코드 생성 을 눌러주시고 잠시 기다리시면 발급됨으로 상태가 변경됩니다.

 

로드밸런서 생성

 

Application Load Balancer 를 선택해주세요

 

네트워크 mapping 은 4개다 클릭해주시고

 

protocol 은 HTTPS port 443  -> Create target group 을 생성합니다.

 

 

주의 하실점은 한대의 인스턴스를 등록하셔야 합니다 port 는 80 으로 include as pending below 를 누르고 create target group 을 생성합니다.

 

 

그런다음 다시 돌아와 방금 생성한 target group 을 등록합니다

 

오른쪽 밑에 SSL certificate 에 certificate 에서 생성한 인증서를 등록합니다.

 

그리고 나서 로드밸런스를 생성한 뒤 Rule 을 추가해야 합니다.

 

리스너에 규칙 편집으로 들어갑니다.

 

사용할 서브도메인 을 호스트에 입력하고 타겟그룹으로 전달하게 끔 설정하고 저장합니다

그리고 이것때문에 꽤나 시간을 잡아먹었는데 로드밸러스의 보안그룹에서 80 포트와 443 포트를 열어줘야 합니다.

 

Route53 설정

Route53 으로 넘어와 단순 라우팅 생성 을 눌러줍니다

단순레코딩 정의 을누르시고

 

 

로드 밸런스에서 설정한 서브도메인 로드밸런스는 방금만든 로드밸런스를 설정해주시면 됩니다.

 

하나의 인스턴스에서 *.domain.com 와일드 카드로 받아서 처리하고 싶으신 분들은 인스턴스 서버내에 nginx 을 따로 설치하셔서 

분기처리를 해주셔야합니다

 

이렇게 생성해주시고 80 포트로 프로젝트를 배포해주시면 해당도메인으로 접속하시면 성공입니다

 

 

728x90