Dev/DevOps, Infra

[Route 53] Route53의 도메인과 DNS 연결

HJChung 2021. 1. 10. 04:04

첫 번째 프로젝트로 진행한 SAFU 웹 서비스 을 배포하기 위해 서버 구축을 하려하며, 

'서버 단위의 로드 밸런서' 아키텍쳐 중 애플리케이션 서버가 (일단은)하나인 아래의 구성으로 진행하고자 한다.

순서는 

1. EC2 배포 및 inbound 설정
2. ACM 에서 SSL 인증서 발급
3. ELB 생성 및 리스너 세팅
4. Route53의 도메인과 ELB의 인스턴스 DNS 연결
5. EC2에 nginx 설치 및 세팅

으로 진행 될 것이다. 

 

Domain Name System이 뭐고, DNS의 구성 및 동작 원리 등은 매우 복잡하다. 그래서

다른 포스트에서 이에 대해 정리하고자 하며, 지금 해당 포스트에서는 4. Route53의 도메인과 ELB의 인스턴스 DNS 연결 에 대해서만 정리하고자 한다. 

제목에 ELB의 인스턴스와 연결이 들어가지만 이 방법은 AWS의 서비스와 간편하게 연결할 수 있는 방법으로, 서버 도메인 뿐만 아니라 나중에 클라이언트 도메인과 CloudFront연결시 에도 동일하게 진행된다.

 

1. 사전 준비

앞선 1~3단계를 모두 진행하였고, 

2. ACM 에서 SSL 인증서 발급이 정상적으로 되었다면 freenom에서 발급받은 서버용 도메인은 아래 사진처럼  Route53에 CNAME과 함께 등록되어 있을 것이다. 

도메인에 대한 정보를 가지고 있는 name server를 운영해야한다. 

CNAME뿐만 아니라 NS 타입과 SOA 타입의 레코드 셋이 생성되어 있는 것을 확인할 수 있다. NS는 네임 서버 레코드, SOA는 권한 시작 레코드이다. (자세한 사항은 여기를 참고)

2. 네임 서버 등록

등록대행자를 통해서 Route 53에서 생성한 hosted zone을 등록소에게 등록하는 과정이 필요하다. 

'safu4u.ml 도메인은 위에서 만들어준 네임 서버가 관리한다.' 는 것을 연결 시켜주어야하기 때문이다. 

그래서 위의 NS의 값/트래픽 라우팅 대상에 있는 값들을 도메인 생성한 곳(내 경우 freenom.com)의 도메인에서 Nameservers에 등록시킨다.

 

 

이제 도메인의 호스팅 영역에 들어가서 새로운 레코드 세트를 생성해주자. 

3. Alias를 이용해서 AWS의 다른 서비스와 연동

이 방법은 AWS의 서버 성격의 서비스와 간편하게 연결할 수 있는 방법으로, 서버 도메인 뿐만 아니라 나중에 클라이언트 도메인과 CloudFront연결시 에도 동일하게 Alias를 사용한다.

유형  A-IPv4주소

별칭 YES

지역 ELB 생성한 지역

이렇게 하면 앞서 3. ELB 생성 및 리스너 세팅에 생성한 ELB의 DNS 이름이 있을 것이다. 이를 선택하고 레코드 세트 생성을 누르면 연결 끝!

 

 

AWS의 서비스가 하나의 기능적 목표를 위해 하나씩 역할을 다해가며 연결되는 것이 정말정말 재미있다..!!!

 

reference

아마존 웹 서비스 6장. DNS를 손쉽게 연결하고 관리하기

생활코딩 WEB2 - Domain Name System

생활코딩 AWS2 - Route53

[초보자를 위한 AWS 웹구축] 8. 무료 도메인으로 Route 53 등록 및 ELB 연결