본문 바로가기

Cloud

AWS - Route53

Amazon Rotue 53

: 고가용성, 확장성, 완전히 관리되는 DNS로 고객이 DNS Record를 관리할 수 있음(HostName - IP주소 매핑처리)

 

▶ DNS 레코드를 Amazon Route 53의 호스팅 존에 적는 것

 

Route53 구조도

 

우선 그림처럼 사용자는 호스트 이름을 가지고 접근을 하려고 합니다.

해당 호스트 이름을 IP로 알고 있는 DNS 레코드는 Route53에서 사용자가 직접 업데이트하고 관리할 수 있습니다.

따라서 Route53에 호스트 이름에 대한(by Query) DNS 레코드를 반환 요청을 했을때, 사전에 정의한 IP가 전달될 것입니다.

그리고 그 전달된 IP로 바로 인스턴스에 접근하고 클라우드 구조상에서 봤을땐 Load Balancer가 해당 IP에 맞는 인스턴스에

트래픽을 전달하는 구조로 생각하면 됩니다.


Amazon Route53은 Domain Registrar여서 도메인 이름을 등록할 수 있고 리소스 관련 상태를 확인하며 100% SLA 가용성을 제공합니다.

53이 붙은 이유는 DNS 서비스 즉, 이름에서 사용되는 전통적인 DNS 포트, 여러 DNS 레코드를 정의하고 레코드를 통해 특정 도메인으로

라우팅하는 방법을 정의하기 떄문입니다.

각 레코드는 도메인이나 example.com과 같이 서브 도메인 이름에 대한 정보를 포함하고 있습니다. 

 

Record Type Record Value Record Routing Policy
A, AAAA, CNAME, NS
(필수로 알아야할 것)
IP 주소 Route 53이 호스트이름에 따른 쿼리에
응답하는 방식

TTL(Time to Live) DNS Resolver 역할을 한다.  레코드가 캐싱되는 시간을 관리하며 이후에 캐싱 내용을 정리하는 것입니다. 

 

 

 

※ Route53 Record Type

A AAAA CNAME NS
Host Name과 IPv4 주소를 매핑
예:) example.com의 IP주소는
1.2.3.4
Host Name과 IPv6의 주소를 매핑 (A 예시랑 비슷) Host Name과 다른 Host Name을 매핑시킴

대상 Host Name의 타입은
A, AAAA 레코드가 될 수 있음

서버에 DNS 이름 또는 IP 주소로 호스팅 존에 대한 DNS 쿼리에 응답할 수 있음

> Traffic이 도메인으로 라우팅되는 방식을 제어
    Route53에서 DNS 이름 공간 또는 Zone Apex의 상위 노드에 대한 CNAME을 생성할 수 없음

예:) example.com에 CNAME을 만들 수는 없지만, www.example.com에 대한 CNAME 레코드는 만들 수 있음 
 
       

Zone Apex: 서브 도메인이 붙지 않는 케이스 (= 루트 도메인)

예를 들어, 내가 등록한 도메인이 example.com일 경우 이 도메인에 대한 서브 도메인이 붙지 않은 example.com 이 도메인 자체가

Root Domain, 즉 Zone Apex가 된다.

 

 

Route53이 DNS 레코드를 관리할 때 호스트 존에 따라 처리 방법이 다릅니다.

우선, 호스트 존은 DNS 레코드의 컨테이너라고 생각하면 됩니다.  도메인과 서비 도메인으로 가는 트래픽의 라우팅 방식을 정의합니다. 

방법은 Route53이  Public Hosting Zone에서 Record를 관리하는 케이스, Private Hosting Zone에서 Record를 관리하는 케이스

이렇게 총 두 가지가 있습니다. 

 


 

※ DNS Rocord Container (Hosting Zone)

Public Hosting Zone Private Hosting Zone
Public Domain Name을 구입하면 Public Hosting Zone을 만들 수 있음 공개되지 않는 도메인 이름을 지원하며 VPC(Virtual Private Cloud)에 의해서만 URL을 Resolve할 수 있다. (비공개 URL)
Route53이 Query를 통해 Domain Name IP를 반환(Record)
> 공용적으로 접근해서 사용
서비스를 사용하고자 Route53에 쿼리를 날릴 때
Private이기 때문에 조건, 목적에 맞게 인스턴스는 개별적으로
접근해서 사용해야함

 

Public Hosting Zone

 

퍼블릭 호스트 존에서 호스트 이름에 따른 레코드를 반환 받고자 쿼리를 돌릴 때 Route53에서 해당 공용 IP를 전달하고

그 IP로 라우팅 될 때 ALB에서 상태가 좋은 인스턴스에 트래픽을 할당합니다.

그 과정에서 S3 스토리지 서비스라든지 Cloud-Front 서비스라든지 이용할 수 있습니다.

 

 

Private Hosting Zone

 

Route53의 호스팅 존이 Private일 경우, EC2 Instance에서 App에 대한 DNS Record 요청이 진행될 때 호스트 이름에 따른

IP를 넘겨주고 해당 App에서 사용하는 데이터베이스에도 접근하기 위해서는 똑같은 IP로 접근하는 것이 아니라 또 Route53에

Record 요청을 해야한다.

요청한 IP를 받게 되면 그 IP를 가지고 DB Instance에 접근한다. 

결과적으로 이야기를 하자면 퍼블릭 호스팅 존(Public Hosting Zone)은 누구든 레코드를 쿼리해서 접근할 수 있지만 프라이빗 호스팅 존

(Private Hosting Zone)은 비공개 URL이기 때문에 목적에 맞게 각각의 인스턴스가 레코드 요청을 해야한다는 점이다.

 

 

반응형

'Cloud' 카테고리의 다른 글

AWS - Route53 Policy(2) - Health Check, Fail-Over  (0) 2023.03.14
AWS - Route53 Policy(1) - Simple, Weighted, Latency Based  (0) 2023.02.21
AWS - DNS  (0) 2023.02.04
AWS - Elastic Cache  (0) 2023.01.30
AWS - Aurora  (0) 2023.01.27