본문 바로가기

기타

[AWS] EC2에 도메인, HTTPS 적용하기

사용 중인 ec2에서 제공하는 기본 퍼블릭 ipv4 dns가 존재하지만

실제 서비스 환경에서 사용하기에는 어려움있어서 도메인과 https를 적용해 보겠습니다.

 

먼저 도메인을 구입해야하는데 가비아와 같은 사이트를 이용해도 되지만 aws에서도 직접 구매 가능합니다.

도메인 구입 과정은 생략하겠습니다.

 

1. 도메인 등록

 

AWS의 Route 53에 접속 - 호스팅 영역 - 호스팅 영역 생성에 들어가서 구매한 도메인을 등록합니다.

 

호스팅 영역 생성 클릭

 

 

도메인 이름에 구매한 도메인 ex) abc.com을 입력하고 나머지는 기본 상태로 호스팅 영역을 생성합니다.

 

호스팅 영역 생성을 하면 위와 같이 도메인 이름과  정보가 나타나는데 클릭한 후 레코드 생성을 눌러줍니다.

 

서브도메인(도메인 앞에 www)은 사용하실 경우 입력합니다.

값에는 ec2의 퍼블릭 ipv4 주소를 입력한 후 레코드를 생성합니다.

 

2. HTTPS 적용

 

Certificate Manager

certificate manager에 접속 - 인증서 요청 - 퍼블릭 인증서

폼 입력 

완전히 정규화된 도메인 이름 - 구매한 도메인
검증 방법 선택 - DNS 검증

요청 후 생성된 인증서에 들어가서 Route 53에서 레코드 생성 버튼 클릭

 

로드 밸런서

 

로드 밸런서 접속 - Application Load Balancer 선택 후 폼 입력

 

Load balancer name - 임의
Scheme - internet-facing
IP addresss type - IPv4
VPC - 사용할 인스턴스
Mappings - 4개 다 선택
Security grups - 기본 또는 자체 설정
Listeners and routing

왼쪽 - 인바운드 오른쪽 - 타겟그룹(아웃바운드) 인데 https를 적용을 하려면 왼쪽은 HTTPS 443을 선택하고

오른쪽은 Create target group를 선택해 타겟그룹을 생성합니다.

타깃그룹에서는 다른 설정은 건드리지 말고 protocol, port만 원하는 것 ex) HTTP/80을 선택 후  생성합니다.

 

 

다시 로드 밸런서 생성 페이지로 넘어와서 리스너의 인바운드를 HTTPS로 선택했다면 

하단에 Secure listener settings가 새로 생겼을 텐데 Default SSL/TSL certificate에서 아까 생성한 인증서를 선택합니다.

 

여기까지 진행 후 로드밸런서를 생성했다면 다시 route 53에 레코드에 들어가서 아까 인스턴스의 ipv4 주소를 입력한 레코드를 삭제 후 다시 레코드를 생성합니다.

레코드 삭제

별칭 버튼을 활성화 한 후 Application/Classic Load Balancer에 대한 별칭 - 리전(ec2 위치 ) - 생성했던 로드 밸런서 선택 후 레코드를 생성하면 HTTPS까지 적용이 완료되었습니다.

체감상 시간이 좀 지난 후 확인해 보시면 될 것 같습니다. 

 

주의점

로드 밸런서 생성시에 적용했던 타깃 그룹이 http 80이라면 ec2 인스턴스의 보안 그룹의 인바운드가 http 80에 대해 허용되어 있어야 합니다.