Amazon DNS 이해
AWS 아키텍트 또는 관리자로서 접하게 될 기본 네트워킹 구성 요소 중 하나는 Route 53 Resolver라고도 하는 Amazon DNS 서버입니다. 이 DNS 확인자 서비스는 기본적으로 AWS 리전 내의 각 가용 영역에 통합되어 Virtual Private Cloud(VPC) 내에서 도메인 이름 확인을 위한 안정적이고 확장 가능한 솔루션을 제공합니다. 이 섹션에서는 Amazon DNS 서버의 IP 주소, 해당 서버가 확인할 수 있는 프라이빗 DNS 호스트 이름, 사용을 관리하는 규칙에 대해 알아봅니다.
Amazon DNS 서버
Route 53 Resolver('Amazon DNS 서버' 또는 'AmazonProvidedDNS'라고도 함)는 AWS 리전의 각 가용 영역에 내장된 DNS Resolver 서비스입니다. Route 53 Resolver는 169.254.169.253
(IPv4), fd00:ec2::253
(IPv6), VPC에 프로비저닝된 기본 프라이빗 IPV4 CIDR 범위에 2를 더한 범위에 있습니다. 예를 들어 IPv4 CIDR이 10.0.0.0/16
이고 IPv6 CIDR이 2001:db8::/32
인 VPC가 있는 경우 169.254.169.253
(IPv4), fd00:ec2::253
(IPv6) 또는10.0.0.2
(IPv4)에서 Route 53 Resolver에 연결할 수 있습니다. VPC 내의 리소스에서는 링크 로컬 주소가 DNS 쿼리에 사용됩니다. 이러한 쿼리는 Route 53 Resolver로 비공개로 전송되며 네트워크에는 표시되지 않습니다. IPv6 전용 서브넷에서는 ‘AmazonProvidedDNS’가 DHCP 옵션 세트의 이름 서버인 한 IPv4 링크-로컬 주소(169.254.169.253)에 계속 연결할 수 있습니다.
VPC에 인스턴스를 시작하는 경우 인스턴스에 프라이빗 DNS 호스트 이름을 제공합니다. 인스턴스가 퍼블릭 IPv4 주소로 구성되어 있고 VPC DNS 속성이 사용 설정된 경우 퍼블릭 DNS 호스트 이름도 제공합니다.
프라이빗 DNS 호스트 이름의 형식은 EC2 인스턴스를 시작할 때 구성하는 방법에 따라 다릅니다. 프라이빗 DNS 호스트 이름 유형에 대한 자세한 내용은EC2 인스턴스 이름 지정 단원을 참조하십시오.
VPC에 있는 Amazon DNS 서버는 Route 53의 프라이빗 호스팅 영역에서 지정하는 DNS 도메인 이름을 확인하는 데 사용합니다. 프라이빗 호스팅 영역에 대한 자세한 내용은 Amazon Route 53 개발자 안내서의 프라이빗 호스팅 영역 작업을 참조하세요.
규칙 및 고려 사항
Amazon DNS 서버를 사용할 때 다음 규칙 및 고려 사항이 적용됩니다.
-
네트워크 ACL 또는 보안 그룹을 사용하여 Amazon DNS 서버의 양방향 트래픽을 필터링할 수는 없습니다.
-
Amazon EMR 같은 Hadoop 프레임워크를 사용하는 서비스에서는 인스턴스가 자신의 FQDN(정규화된 도메인 이름)을 확인해야 합니다. 그런 경우,
domain-name-servers
옵션이 사용자 지정 값으로 설정되어 있는 경우 DNS 확인이 실패할 수 있습니다. DNS를 올바르게 확인하려면
도메인에 대한 쿼리를 Amazon DNS 서버로 전달하기 위해 DNS 서버 상에 조건부 전달자를 추가하는 방법을 고려하십시오. 자세한 내용은 Amazon EMR 관리 가이드의 클러스터를 호스팅하도록 VPC를 설정을 참조하십시오.region-name
.compute.internal -
Amazon Route 53 Resolver는 재귀 DNS 쿼리만 지원합니다.
DNS 호스트 이름
인스턴스를 시작하면 인스턴스가 프라이빗 IPv4 주소와 프라이빗 IPv4 주소에 해당하는 프라이빗 DNS 호스트 이름을 항상 수신합니다. 인스턴스에 퍼블릭 IPv4 주소가 있는 경우 VPC의 DNS 속성은 퍼블릭 IPv4 주소에 해당하는 퍼블릭 DNS 호스트 이름을 수신할 여부를 결정합니다. 자세한 내용은 VPC의 DNS 속성 단원을 참조하십시오.
Amazon에서 제공한 DNS 서버를 사용 설정하면 DNS 호스트 이름이 다음과 같이 할당되고 확인됩니다.
프라이빗 IP DNS 이름(IPv4에만 해당)
프라이빗 IP DNS 이름(IPv4 전용) 호스트 이름을 사용하여 동일 VPC의 인스턴스 간에 통신할 수 있습니다. 인스턴스가 동일한 AWS 리전에 있고 다른 인스턴스의 호스트 이름이 RFC 191810.0.0.0 - 10.255.255.255 (10/8 prefix)
, 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
및 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
에서 정의한 프라이빗 주소 공간 범위에 있는 한, 다른 VPC에 있는 다른 인스턴스의 프라이빗 IP DNS 이름(IPv4 전용) 호스트 이름을 확인할 수 있습니다.
프라이빗 리소스 DNS 이름
이 인스턴스에 대해 선택한 A 및 AAAA DNS 레코드로 확인할 수 있는 RBN 기반 DNS 이름입니다. 이 DNS 호스트 이름은 이중 스택 및 IPv6 전용 서브넷의 인스턴스에 대한 인스턴스 세부 정보에서 볼 수 있습니다. RBN에 대한 자세한 내용은 EC2 인스턴스 호스트 이름 유형을 참조하십시오.
퍼블릭 IPv4 DNS
퍼블릭(외부) IPv4 DNS 호스트 이름은 us-east-1
리전의 경우 ec2-
, 다른 리전의 경우 public-ipv4-address
.compute-1.amazonaws.com.rproxy.goskope.comec2-
형식이 됩니다. Amazon DNS 서버는 퍼블릭 DNS 호스트 이름을 인스턴스 네트워크 외부에서는 인스턴스의 퍼블릭 IPv4 주소로 확인하고, 인스턴스 네트워크 내부에서는 인스턴스의 프라이빗 IPv4 주소로 확인합니다. 자세한 내용은 Amazon EC2 사용 설명서의 퍼블릭 IPv4 주소 및 외부 DNS 호스트 이름을 참조하세요.public-ipv4-address
.region
.compute.amazonaws.com
VPC의 DNS 속성
다음 VPC 속성에 따라 VPC에 제공되는 DNS 지원이 결정됩니다. 두 속성을 모두 사용하면, VPC로 시작된 인스턴스는 생성 시 퍼블릭 IPv4 주소 또는 탄력적 IP 주소가 할당된 경우 퍼블릭 DNS 호스트 이름을 받습니다. 이전에는 모두 사용하지 않았던 두 VPC 속성을 모두 사용하도록 설정하면, 그 VPC로 이미 시작된 인스턴스는 퍼블릭 IPv4 주소 또는 탄력적 IP 주소가 있는 경우 퍼블릭 DNS 호스트 이름을 받습니다.
VPC에 대해 이러한 속성이 활성화되어 있는지 확인하려면 VPC에 대한 DNS 속성 보기 및 업데이트을 참조하십시오.
속성 | 설명 |
---|---|
enableDnsHostnames |
VPC가 퍼블릭 IP 주소가 있는 인스턴스에 퍼블릭 DNS 호스트 이름을 할당하도록 지원할 여부를 결정합니다. VPC가 기본 VPC가 아닌 경우 이 속성의 기본값은 |
enableDnsSupport |
VPC가 Amazon에서 제공하는 DNS 서버를 통해 DNS 확인을 지원하는지 여부를 결정합니다. 이 속성이 이 속성의 기본값은 |
규칙 및 고려 사항
-
두 속성이 모두
true
로 설정되는 경우 다음이 발생합니다.-
퍼블릭 IP 주소를 갖는 인스턴스가 해당하는 퍼블릭 DNS 호스트 이름을 받습니다.
-
Amazon Route 53 Resolver 서버는 Amazon에서 제공한 프라이빗 DNS 호스트 이름을 확인할 수 있습니다.
-
-
속성 중 하나 이상이
false
로 설정된 경우 다음이 발생합니다.-
퍼블릭 IP 주소를 갖는 인스턴스가 해당하는 퍼블릭 DNS 호스트 이름을 받지 않습니다.
-
Amazon Route 53 Resolver는 Amazon에서 제공한 프라이빗 DNS 호스트 이름을 확인할 수 없습니다.
-
사용자 지정 도메인 이름에 DHCP 옵션 세트가 있을 경우 인스턴스가 프라이빗 DNS 호스트 이름을 받습니다. Amazon Route 53 Resolver 서버를 사용하지 않는 경우에는 사용자 지정 도메인 이름 서버가 적절하게 호스트 이름을 확인해야 합니다.
-
-
Amazon Route 53의 프라이빗 호스팅 영역에서 정의된 사용자 지정 DNS 도메인 이름을 사용하거나 프라이빗 DNS를 인터페이스 VPC 엔드포인트(AWS PrivateLink)와 함께 사용하는 경우,
enableDnsHostnames
및enableDnsSupport
속성을true
로 설정해야 합니다. -
Amazon Route 53 Resolver는 VPC의 IPv4 주소 범위가 RFC 1918
에 의해 지정된 프라이빗 IPv4 주소 범위를 벗어나는 경우를 비롯하여 모든 주소 공간에 대해 프라이빗 DNS 호스트 이름을 프라이빗 IPv4 주소로 확인할 수 있습니다. 그러나 2016년 10월 이전에 VPC를 생성했다면 VPC의 IPv4 주소 범위가 이러한 범위를 벗어나는 경우 Amazon Route 53 Resolver에서 프라이빗 DNS 호스트 이름을 확인하지 않습니다. 이에 대한 지원을 활성화하려면 AWS Support 에 문의하십시오. -
VPC 피어링을 사용하면 두 VPC 모두에 대해 두 가지 속성을 모두 활성화해야 하며 피어링 연결에 대한 DNS 확인을 활성화해야 합니다. 자세한 정보는 VPC 피어링 연결에 대해 DNS 확인 사용 설정을 참조하세요.
DNS 할당량
링크-로컬 주소를 사용하는 서비스에는 초당 1024 패킷(PPS) 제한이 있습니다. 이 제한에는 Route 53 Resolver DNS 쿼리, 인스턴스 메타데이터 서비스(IMDS) 요청, Amazon Time Service Network Time Protocol(NTP) 요청, Windows 라이선스 서비스(Microsoft Windows 기반 인스턴스용)
Route 53 Resolver가 지원하는 초당 DNS 쿼리 수는 쿼리 유형, 응답 크기 및 사용 중인 프로토콜에 따라 다릅니다. 확장 가능한 DNS 아키텍처에 대한 자세한 내용과 권장 사항은 AWSActive Directory 포함 하이브리드 DNS
할당량에 도달하면 Route 53 Resolver가 트래픽을 거부합니다. 할당량에 도달하는 원인으로는 DNS 조절 문제나, Route 53 Resolver 네트워크 인터페이스를 사용하는 인스턴스 메타데이터 쿼리 등이 있습니다. VPC DNS 조절 문제를 해결하는 방법에 대한 자세한 내용은 Amazon에서 제공한 DNS 서버에 대한 내 DNS 쿼리가 VPC DNS 조절로 인해 실패하는지 확인하려면 어떻게 해야 하나요?
프라이빗 호스팅 영역
프라이빗 IPv4 주소 또는 AWS 제공 프라이빗 DNS 호스트 이름을 사용하는 대신 example.com
과 같은 사용자 지정 DNS 도메인 이름을 사용하여 VPC의 리소스에 액세스하려면 Route 53에서 프라이빗 호스팅 영역을 생성합니다. 프라이빗 호스팅 영역이란 인터넷에 자신의 리소스를 노출하지 않고 하나 이상의 VPC 내에 있는 도메인과 그 하위 도메인의 트래픽을 라우팅하려는 방식에 대한 정보를 담고 있는 컨테이너입니다. Route 53에서 도메인과 하위 도메인에 대한 쿼리에 응답하는 방식을 결정하는 Route 53 리소스 레코드 세트를 생성할 수 있습니다. 예를 들어 example.com에 대한 브라우저 요청이 VPC의 웹 서버로 라우팅되도록 하려는 경우, 프라이빗 호스팅 영역에 A 레코드를 생성하고 그 웹 서버의 IP 주소를 지정할 것입니다. 프라이빗 호스팅 영역의 생성에 대한 자세한 내용은 Amazon Route 53 개발자 안내서의 프라이빗 호스팅 영역 작업을 참조하세요.
사용자 지정 DNS 도메인 이름을 사용하여 리소스에 액세스하려면 VPC 내에 있는 인스턴스에 연결되어 있어야 합니다. 인스턴스에서 ping
명령(예: ping mywebserver.example.com
)을 사용하여 사용자 지정 DNS 이름에서 프라이빗 호스팅 영역에 있는 리소스에 액세스 가능한지 테스트할 수 있습니다. (인스턴스의 보안 그룹 규칙에서 ping
에 대한 인바운드 ICMP 트래픽 작동을 허용하는지 확인해야 합니다.)
프라이빗 호스팅 영역은 VPC 외부에서 전이적 관계를 지원하지 않습니다. 예를 들어 VPN 연결의 반대쪽에서 사용자 지정 프라이빗 DNS 이름을 사용하여 리소스에 액세스할 수 없습니다.
중요
Amazon Route 53의 프라이빗 호스팅 영역에 정의된 사용자 지정 DNS 도메인 이름을 사용하는 경우, enableDnsHostnames
및 enableDnsSupport
속성을 둘 다 true
(으)로 설정해야 합니다.