A. DNS 개요
1. DNS란?
우리가 흔히 알고 있는 인터넷 주소는 사실 10진수의 4자리로 이루어진 IPv4 주소로 이루어져 있습니다. 하지만 숫자로 기억하면 불편하기에 DNS란 방법이 사용되고 있습니다. DNS는 복잡한 주소 체계를 문자 형태의 도메인 네임으로 매핑하여 연결하는 서비스 입니다.
간단한 예를 들어 보겠습니다. "Apple Store 가로수길"을 지도 어플리케이션에 검색을 하면 실질적 주소인 "서울특별시 강남구 가로수길 43" 으로 검색을 하지 않아도 해당 주소를 잘 찾아줍니다.
- 기억하기 쉬운 주소 : Apple Store 가로수길
- 실제 주소 : 서울특별시 강남구 가로수길 43
제가 검색한건 "Apple Store 가로수길"인데 "서울특별시 강남구 가로수길 43"을 검색한 것과 같은 결과 값을 얻은 것입니다. 왜냐하면 "Apple Store 가로수길"에 "서울특별시 강남구 가로수길 43"이 맵핑 되어 있으니까요. 네트워크 세계의 DNS도 동일합니다. 웹 브라우저에 naver.com을 검색을 하면 실제 주소인 223.130.192.247 를 검색하지 않아도 223.130.192.247란 동일한 결과값을 알려줍니다. Apple store 처럼 naver.com과 223.130.192.247은 맵핑되어 있기 때문입니다.
- 우리가 검색한 도메인 : naver.com
- 실제 주소 : 223.130.192.247
2. DNS 서버 분류
2-1. DNS 해석기 (DNS Resolver)
클라이언트와 네임 서버의 중계자 역할을 합니다. DNS 요청에 대해 네임 서버로 전달하며, DNS 응답을 클라이언트에게 전달합니다.
2-2. 루트 네임 서버 (Root Name Server)
DNS 서버의 최상위 네임 서버로 DNS 해석부터 발생한 DNS 요청에대해 적절한 TLD 네임 서버 정보를 반환합니다.
2-3. TLD 네임 서버(Top Level Domain Name Server)
.com .net 과 같은 최상위 도메인에 대한 네임 서버로 해당 영역에 포함되는 모든 도메인 이름의 정보를 유지합니다. DNS 요청에 대해 TLD 네임 서버에서 권한 있는 네임 서버를 지정하여 반환합니다.
2-4. 권한 있는 네임 서버(Authoritative Name Server)
DNS 해석기가 TLD 네임 서버로부터 응답을 받으면, 확인자는 해당 응답을 권한 있는 네임 서버로 보냅니다. 일반적으로 권한 있는 네임 서버는 요청하는 도메인 주소에 대한 IP 주소를 확인하는 마지막 단계입니다.
3. DNS 레코드
3-1. DNS 레코드란?
DNS 레코드는 도메인 네임 시스템의 기본 구성 요소입니다. 이를 통해 도메인이 웹사이트, 이메일 주소 또는 인터넷의 다른 리소스를 가리키도록 할 수 있습니다.
DNS 레코드는 도메인 네임에 대한 기타 정보를 구성하고 제어할 수 있는 DNS 데이터베이스에 저장된 특정 리소스 레코드입니다. 예를 들어, DNS 레코드를 설정하여 도메인에서 사용할 메일 서버 유형(예: Microsoft Exchange)이나 누군가 웹사이트를 방문할 때 반환해야 하는 IP 주소를 전 세계에 알릴 수 있습니다.
DNS 레코드는 영역으로 구성되며, 영역은 회원님이 관리하는 하나 이상의 도메인에 해당합니다.
3-2. DNS 레코드 유형
자주 쓰는 레코드 유형을 예로 DNS 레코드에 대해 설명하겠습니다.
- A 레코드
- A 레코드는 특정 도메인에 IPv4 주소를 매핑합니다. 좀 더 풀어서 설명하면 A레코드는 "naver.com의 주소가 223.130.192.247이다!" 라고 말하는 역할 입니다. 도메인과 IPv4 주소는 일대일로만 매칭되어야 하지 않습니다. 일대다의 매칭도 가능합니다.
아래의 도표는 자주 사용하느 DNS 레코드 유형입니다.
레코드 | 의미 | 레코드 | 의미 |
A | IPv4 주소를 특정 도메인에 매핑 | NS | 도메인 네임 서버 식별 |
AAAA | IPv6 주소를 특정 도메인에 매핑 | SOA | 도메인 영역을 표시하는 역할 |
CNAME | 도메인 이름의 별칭을 만듬 | SRV | 도메인 서비스 이용 가능여부 식별 |
MX | 이메일 서버 지정 | TXT | 텍스트 매핑 |
B. Route 53 개요
1. Route 53란?
Route 53은 AWS에서 제공하는 관리형 DNS 서비스 입니다. Route 53을 통해 도메인 이름 구매를 대행하고, 구매한 도메인 주소에 대한 호스팅 영역을 생성하여 네임 서버를 구축하고 레코드를 생성하여 DNS 요청에 대한 응답을 처리할 수 있습니다.
또한, Route 53에 다양한 라우팅 정책을 수립하여 효율적인 트래픽 흐름을 보장 받을 수 있습니다.
2. Route 53 구조
2-1. 도메인 이름 등록
Route 53을 통해 도메인 이름을 등록할 수 있습니다. 이때 Route 53의 역할은 등록대행소(ex. 가비아)가 되어 등록소인 TLD 네임 서버에 전파하여 해당 도메인 이름을 사용할 수 있도록 대행합니다.
2-2. 호스팅 영역
DNS 관리를 할 수 있는 호스팅 영역을 생성할 수 있습니다. 기본적으로 Route 53을 통해 도메인 이름을 등록하면 자동으로 호스팅 영역이 생성됩니다. 해당 호스팅 영역이 생성되면 네임 서버가 생성되어 DNS 요청에 대한 DNS 응답을 반환합니다.
2-3 레코드
생성한 호스팅 영역에 레코드를 작성할 수 있습니다. 레코드 유형에 따른 값을 입력하여 유지 합니다. 해당 레코드를 생성할 땐 다양한 라우팅 정책을 수립할 수 있습니다.
3. Route 53 통신의 흐름
- AAAA.com 도메인 주소에 대한 등록을 등록대행소를 통해 수행합니다. 이를 통해 도메인 주소는 등록소의 TLD 네임 서버에 기록되어 유지됩니다. 마지막으로 www AAAA.com에 대한 IPv4 주소에 대한 A 레코드 구성을 합니다.
- 클라이언트는 www AAAA.com 도메인에 대한 DNS 질의를 합니다.
- DNS 질의를 전달받은 DNS 해석기는 루트 네임 서버로 전달하고, 루트 네임 서버는 TLD 도메인(.com.)에 해당하는 TLD 네임 서버 주소를 반환합니다.
- DNS 해석기는 .com TLD 네임 서버로 다시 DNS 질의를 수행하고, TLD 네임 서버는 AAAA.com에 대한 권한 있는 네임 서버 주소를 반환합니다.
- DNS 해석기는 AAAA.com에 대한 권한 있는 네임 서버로 다시 DNS 질의를 수행하고, AAAA.com에 대한 권한 있는 네임 서버(Route 53)에서 매핑된 IPv4 주소를 반환합니다.
- DNS 해석기에서 클라이언트로 해당 도메인 주소에 대한 IPv4를 응답합니다.
- 클라이언트 입장에서 www AAAA.com에 대한 IPv4 주소를 알게 되어 해당 주소로 접근을 수행하여 통신이 이루어 집니다.
4. Route 53 라우팅 정책
- 단순 라우팅 (Simple Routing) : 도메인에 대해 특정 하나의 리소를지정합니다. 레코드에 대한 값은 여러 개를 입력할 수 있으나, 이중에 하나의 값만 랜덤하게 응답합니다.
- 가중치 기반 라우팅 (Weighted Routing) : 도메인에 대해 다수의 리소스를 지정하고 값에 대한 비중을 두고 라우팅을 합니다. 가중치 값은 0-255 사이에 설정하며, [대상 가중치 / 전체 가중치 합]을 통해 비중으 부여합니다. 참고로 가중치 값이 0이면 DNS 응답을 하지 않습니다.
- 지연시간 기반 라우팅 (Latency Routing) : 여러 AWS 리전에 리소스가 있고 최상의 지연 시간을 제공하는 리전으로 라우팅합니다. 즉, Route 53에서 사용자 위치상 인접된 리전과 리소스가 있는 리전과 지연 시간을 파악 후 가장 짧은 지연 대상을 전달합니다.
- 장애 조치 라우팅 정책 (Failover Routing) : 액티브/패시브 장애 조치를 구성하려는 경우에 사용합니다. 레코드 값 중 액티브를 지정하고 대상으로 라우팅을 하며, 주기적인 상태 확인을 통해 액티브 리소스가 통신이 불가할 경우 패시브 대상을 액티브 대상으로 변경하여 해당 경로로 라우팅 합니다.
- 다중값 응답 라우팅 (Multi-value Answer Routing) : Route 53이 DNS 질의에 대해 다수의 값을 반환하도록 구성할 수 있습니다. 참고로 최대 8개의 값을 지정할 수 있습니다.
그 외에 지리 위치 라우팅, 지리 근접 라우팅이 있습니다.
5. Route 53 주요 기능
- 도메인 등록
- 상태 확인 및 모니터링
- DNS 장애조치
- 라우팅 정책
- Alias (별칭)
- Route 53 Resolver
- VPC용 프라이빗 DNS
'AWS Cloud > Basic Concept' 카테고리의 다른 글
AWS Network - 개념 요약 (0) | 2024.07.11 |
---|---|
AWS Network - CloudFront (0) | 2024.06.10 |
AWS Network - ELB(Elastic Load Balancing) (0) | 2024.05.30 |
AWS Network - AWS 인터넷 연결 (0) | 2024.05.27 |
AWS Network - 퍼블릭 서브넷 VPC 생성 (0) | 2024.05.24 |