AWS EC2 인스턴스에 HTTPS를 적용하기 위해 Certificate Manager
에서 인증서를 생성하고, CloudFront
를 통해 HTTPS를 적용한 후 Route 53
을 사용하여 도메인 연결을 설정하는 과정입니다. 도메인이 없는 경우 Route 53 설정은 생략할 수 있습니다.
1. Certificate Manager 설정
로드 밸런싱 : 대상 그룹 및 로드 밸런서를 생성하고 SSL을 설정합니다.
- AWS 콘솔에서 Certificate Manager를 검색하고 대시보드에 접속한 후, 지역을 반드시 버지니아 북부로 변경합니다.
- 주황색 '요청' 버튼을 클릭하고 퍼블릭 인증서 요청을 선택합니다.
- 구매한 도메인을 입력하고 DNS 검증을 선택한 뒤 요청 버튼을 클릭하여 완료합니다.
- 인증서 상태가 '검증 대기 중'으로 표시되면 해당 인증서를 클릭하고 Route 53에서 레코드를 생성하여 DNS 검증을 완료합니다.
2. EC2 대상 그룹 생성
- AWS 콘솔에서 EC2 대시보드로 이동한 후, 로드 밸런싱 섹션의 대상 그룹으로 이동합니다.
- 대상 그룹 생성 버튼을 클릭하고 인스턴스 기반의 대상 그룹을 생성합니다.
- 대상 그룹을 생성할 때, 그룹 이름을 작성하고 80번과 443번 포트를 보류 중인 항목으로 추가합니다.
- '대상 그룹 생성' 버튼을 클릭하여 대상 그룹을 완료합니다.
3. 로드 밸런서 생성
- EC2 대시보드에서 로드 밸런서로 이동하고 Application Load Balancer를 생성합니다.
- 로드 밸런서 이름을 입력하고 네트워크 매핑에서 모든 서브넷을 선택합니다.
- 보안 그룹 섹션에서 default 값인 EC2 인스턴스와 관련된 보안 그룹을 선택합니다.
- 리스너 라우팅에서 80번 포트를 HTTP로, 443번 포트를 HTTPS로 추가하고, 각각의 리스너에 대해 앞서 생성한 대상 그룹을 연결합니다.
Certificate Manager
에서 생성한 SSL 인증서를 선택하고 로드 밸런서를 생성하여 완료합니다.
4. CloudFront 설정
- AWS 콘솔에서 CloudFront 대시보드에 접속한 후 '배포 생성'을 클릭합니다.
- 원본 도메인에 생성한 S3 버킷의 웹사이트 엔드포인트 또는 EC2 인스턴스의 도메인을 입력합니다.
- 기본 캐시 동작에서 HTTPS로 설정을 변경합니다.
- SSL 인증서를 선택하고 배포를 생성합니다.
- 배포 상태가 '활성화됨'으로 변경되면 CloudFront 배포 도메인 주소를 통해 HTTPS로 접속할 수 있습니다.
5. Route 53 설정 (선택 사항)
- AWS 콘솔에서 Route 53을 검색한 후, 설정하려는 도메인의 호스팅 영역으로 이동합니다.
- 레코드 생성을 클릭한 후, 레코드 유형을 A로 설정하고 별칭을 활성화합니다.
- CloudFront에서 생성한 값을 선택하고 레코드를 생성합니다.
이제 설정한 도메인으로 접속하면 HTTPS가 적용된 웹사이트를 확인할 수 있습니다.