2편에서는 ACM 인증서 연결, EC2 보안 그룹설정, 로드 밸런싱 설정, Route 53 레코드 생성, 결과 순으로 진행하겠습니다.
1. HTTPS 설정
1-1. ACM 인증서 연결
- AWS 로드 밸런싱 페이지 접속
- AWS Management Console에서 로드 밸런싱 > 로드 밸런서로 이동합니다.
- 로드 밸런서 생성
- 로드 밸런서 유형: Application Load Balancer 선택.
- 리스너 추가: HTTPS(포트 443)를 선택하고, 1편에서 발급받은 ACM 인증서를 연결합니다.
- ACM 인증서를 선택할 수 없는 경우, 인증서 발급이 완료되었는지 확인하세요.
- 가용 영역:
- EC2 인스턴스가 위치한 VPC와 서브넷을 선택합니다.
- 여러 서브넷을 선택해 가용성을 높일 수 있습니다.
- 로드 밸런서 생성 완료
- 생성 후, 로드 밸런서는 HTTPS 요청을 처리할 준비가 완료됩니다.
- 로드 밸런서의 DNS 이름을 기록해둡니다 (예: my-loadbalancer-1234567890.us-east-1.elb.amazonaws.com).
2. 배포
2-1. EC2 보안 그룹 설정
HTTPS 요청을 허용하기 위해 EC2 인스턴스의 보안 그룹을 적절히 설정해야 합니다:
- EC2 콘솔 접속
- AWS Management Console에서 EC2 인스턴스를 선택합니다.
- 보안 그룹 확인
- 보안 > 보안 그룹 메뉴로 이동하여 EC2 인스턴스에 연결된 보안 그룹을 확인합니다.
- 인바운드 규칙 추가
- 규칙 편집을 클릭하고 아래 항목을 추가합니다:
- HTTPS (443): 0.0.0.0/0 (모든 IP 허용) 또는 제한된 IP 대역.
- 기존 HTTP(80) 규칙도 유지하여 HTTP 요청도 처리 가능.
- 규칙 편집을 클릭하고 아래 항목을 추가합니다:
- 규칙 저장
2-2. 로드 밸런싱 설정
로드 밸런서를 EC2와 연결하기 위해 대상 그룹을 생성하고, 로드 밸런서 리스너를 설정합니다.
- 대상 그룹 생성
- AWS Management Console에서 로드 밸런싱 > 대상 그룹으로 이동합니다.
- 대상 그룹 생성 버튼을 클릭:
- 대상 유형: 인스턴스.
- 프로토콜: HTTP.
- 포트: 8080 (Spring Boot 기본 포트).
- VPC: EC2 인스턴스가 속한 VPC 선택.
- 대상 그룹에 EC2 추가
- 생성된 대상 그룹에 EC2 인스턴스를 추가합니다:
- 대상 등록을 클릭.
- 대상 목록에서 EC2 인스턴스를 선택하고, 포트 8080으로 등록합니다.
- 생성된 대상 그룹에 EC2 인스턴스를 추가합니다:
- 로드 밸런서와 대상 그룹 연결
- 로드 밸런서 > 리스너 탭으로 이동합니다.
- HTTPS 리스너를 선택한 뒤, 대상 그룹을 새로 생성한 그룹으로 연결합니다.
- 요청이 HTTPS(443) → 대상 그룹(HTTP 8080)으로 전달됩니다.
2-3. Route53에서 레코드 생성 (도메인 연결)
- Route53 콘솔 접속
- AWS Management Console에서 Route53 서비스로 이동합니다.
- 호스팅 영역 선택
- 1편에서 생성한 도메인의 호스팅 영역으로 이동합니다.
- 레코드 생성
- 레코드 생성 버튼을 클릭하고 아래 항목을 입력합니다:
- 레코드 이름: 기본적으로 비워 두면 도메인의 루트(https://yourdomain.com)로 설정됩니다.
- 레코드 유형: A (IPv4 주소).
- 값: 로드 밸런서의 DNS 이름 입력 (예: my-loadbalancer-1234567890.us-east-1.elb.amazonaws.com).
- 로드 밸런서의 DNS 이름은 로드 밸런서 콘솔에서 확인할 수 있습니다.
- Alias: 활성화된 상태로 설정.
- Alias 대상: 로드 밸런서를 선택.
- 레코드 생성 버튼을 클릭하고 아래 항목을 입력합니다:
- 저장 및 확인
- 레코드를 저장하고, Route53에서 DNS 전파가 완료될 때까지 기다립니다 (최대 24시간 소요 가능).
3. 결과
'AWS > 서버 배포' 카테고리의 다른 글
도메인 구매부터 HTTPS 배포까지 1편 (0) | 2024.12.05 |
---|