1. 가비아 도메인 확인
- 가비아 로그인 후 My가비아를 통해 도메인통합관리툴 이동
- 도메인관리 에서 구입한 도메인 선택 후 도메인상세페이지 이동
- default로 설정되어 있는 네임서버 확인
2. AWS Route53 호스팅 영역
- AWSconsole 에서 Route53 서비스 이동
2.1 호스팅 영역 생성
- 도메인 이름 : 가비아에서 구입한 도메인 입력
- Route53 > 호스팅 영역 > 생성한 호스팅 영역 확인
- NS 타입의 값/트래픽 라우팅 대상 확인
2.2 가비아 - Route53 라우팅 매핑
- 가비아 > My가비아 > 도메인통합관리툴 > 도메인관리 > 도메인상세페이지
- 네임서버를 2.1 호스팅 영역 생성 에서 생성된 NS타입의 값/트래픽 라우팅 대상으로 설정
3. AWS Certificate Manager
- HTTPS 통신을 하기 위해서는 사설 또는 공인으로부터 받은 SSL/TLS 인증서가 필요.
- AWS Certificate Manager(ACM)을 통해 SSL/TLS 인증서를 발급 받는다.
- 공인 인증서 요청
- SSL/TLS 발급 받을 대상 도메인 입력
- 서브 도메인으로 입력
ex)
- *.pang.com 이면, api.pang.com, web.pang.com 등등 어떤 문자열도 받을 수 있는 서브도메인으로 인증서 발급
- api.pang.com 이면, api.pang.com 에 대해서만 인증서를 발급
- 검증 방법 선택 : DNS 검증 선택
- 검증
- 검증 상태 : 시간이 지나면, 검증 보류 > 검증 완료 로 넘어감
- Route53 에서 레코드 생성 클릭
- Route53 > 호스팅 영역 > 생성한 호스팅 영역 확인
- ACM을 통해 인증 요청 및 생성한 레코드 확인, CNAME유형
4. 로드 밸런싱 설정
- 도메인에 EC2인스턴스를 라우팅 및 매핑시키기 위해서는 EC2인스턴스로 A유형으로 레코드를 등록해야한다.
- HTTP(80)로 통신할 경우, 바로 인스턴스 IP로 레코드등록하면됨.
- 위 SSL/TLS 인증서를 발급 받고 HTTPS(443)으로 통신할 경우, ELB(Elastic Load Balancer)등록 후, 해당 ELB를 레코드로 등록해야함
4.1 Load Balancer 생성
- EC2 > 로드 밸런싱(Load Balancing)
- Load Balancer 생성 클릭
- Load Balancer 유형 선택 : Application Load Balancer(HTTP, HTTPS)
- 1단계 Load Balancer 구성
- 기본 구성(이름) : Load Balancer를 해당 도메인에서 구별할 수 있는 이름 입력
- 리스너 : HTTP(80), HTTPS(443) 추가 및 설정
- 가용 영역 : 로드 밴런싱 할 네트워크 대역으로 VPC의 가용 영역 체크(2개 이상이여야함)
- 2단계 보안 설정 구성
- 인증서 선택 : ACM에서 인증서 선택
- 인증서 이름 : ACM에서 발급되면 인증서가 drop&down 리스트에 노출됨, 선택
- 3단계 보안 그룹 구성
- 새 보안 그룹 생성 또는 기존에 80, 443 인바운드(허용)되어 있는 정책 선택
- 4단계 라우팅 구성
- 대상 그룹(이름) : 구별가능한 대상 그룹명 입력(로드 밸런싱> 대상 그룹에서 확인가능)
- 포트 : 프로젝트 서비스 포트를 입력(ex. flask project service port : 5000)
- 5단계 대상 등록
- 인스턴스 리스트에서 프로젝트가 실행되고 있는 인스턴스를 선택
- 등록된 항목에 추가 선택
- 6단계 검토
- 검토 후 생성
5. 호스팅 영역 설정 및 확인
- 호스팅 영역 설정에서 ELB 레코드 생성 및 DNS 서비스 확인한다.
5.1 ELB 레코드 생성 및 확인
- Route53 > 호스팅 영역 > 생성한 호스팅 영역 이동
- 레코드 생성 클릭
- 단순 라우팅 선택
- 단순 레코드 정의 선택
- 단순 레코드 정의
- 레코드 이름 : ACM에서 발급 받은 (서브)도메인 입력
- 레코드 유형 : A-IPv4 주소 및 일부 AWS 리소스로 트래픽 라우팅 선택
- 갑/트래픽 라우팅 대상 : Application/Classic Load Balance에 대한 별칭 선택
- 리전 : EC2 인스턴스 리전 선택
- 로드 밸런서 선택 : 로드밸런싱 에서 생성한 로드밸런서 선택
5.2 DNS 서비스 확인
- local 환경에서 shell, cmd창을 통해 nslookup 으로 도메인 서비스 확인
- DNS 서비스가 될 경우, 해당 도메인에 대한 서비스IP를 확인 가능
~ nslookup api.pang.com
Server: 168.126.63.1
Address: 168.126.63.1
Non-authoritative answer:
Name: api.pang.com
Address: ***.***.***.***
Name: api.pang.com
Address: ***.***.***.***