Skip to content

VPC와 네트워크 간 DNS 쿼리 해석


Amazon VPC를 사용하여 VPC를 생성하면 Route 53 Resolver는 자동으로 VPC의 Resolver를 사용하여 EC2 인스턴스(ec2-192-0-2-44.compute-1.amazonaws.com)의 로컬 Amazon VPC 도메인 이름과 프라이빗 호스팅 영역(acme.example.com)의 레코드에 대한 DNS 쿼리에 응답한다. 기타 모든 도메인 이름의 경우 Resolver는 퍼블릭 이름 서버에 대해 재귀적 조회를 수행한다.

VPC를 생성할 때 기본적으로 생성되는 Route 53 Resolver는 VPC 네트워크 범위, 플러스 2에 대한 예약된 IP 주소에서 실행되는 DNS 서버에 매핑된다. 예를 들어 10.0.0.0/16 네트워크 상의 DNS 서버는 10.0.0.2에 위치한다. IPv4 CIDR 블록이 여러 개인 VPC의 경우, DNS 서버의 IP 주소가 기본 CIDR 블록에 위치한다. DNS 서버는 VPC의 특정 서브넷 또는 가용 영역 내에 상주하지 않는다. 자세한 내용은 Amazon Virtual Private Cloud) 사용 설명서의 VPC에 대한 DNS 지원Amazon DNS 서버를 참조한다.

Resolver에는 온프레미스 환경에서 송수신되는 DNS 쿼리에 응답하도록 구성하는 엔드포인트가 추가로 포함되어 있다.

Note

사용자의 온프레미스 DNS 서버에서 VPC CIDR+ 2 주소로 프라이빗 DNS 쿼리를 전달하는 것은 지원되지 않으므로 불안정한 결과가 발생할 수 있다. 대신 Resolver 인바운드 엔드포인트를 사용할 것을 권장한다.

또한 전달 규칙을 구성하여 Resolver와 네트워크의 DNS 해석기 간에 DNS 해석을 통합할 수 있다. 네트워크에는 다음과 같이 VPC에서 연결할 수 있는 모든 네트워크가 포함될 수 있다.

  • VPC 자체

  • 피어링된 다른 VPC

  • AWS Direct Connect, VPN 또는 NAT(네트워크 주소 변환) 게이트웨이를 통해 AWS에 연결된 온프레미스 네트워크

쿼리 전달을 시작하기 전에, 연결된 VPC에 Resolver 인바운드 및/또는 아웃바운드 엔드포인트를 생성한다. 이러한 엔드포인트는 인바운드 또는 아웃바운드 쿼리에 대한 경로를 제공한다.

인바운드 엔드포인트: 네트워크의 DNS 해석기가 이 엔드포인트를 통해 DNS 쿼리를 Route 53 Resolver에 전달할 수 있다.

이렇게 하면 DNS 해석기가 Route 53 프라이빗 호스팅 영역의 EC2 인스턴스 또는 레코드와 같은 AWS 리소스의 도메인 이름을 쉽게 해석할 수 있다. 자세한 내용은 네트워크의 DNS 해석기가 Route 53 Resolver 엔드포인트로 DNS 쿼리를 전달하는 방법 섹션을 참조한다.

아웃바운드 엔드포인트: Resolver가 이 엔드포인트를 통해 쿼리를 네트워크의 해석기에게 조건부로 전달한다.

선택한 쿼리를 전달하려면 전달하려는 DNS 쿼리의 도메인 이름(예: example.com) 및 쿼리를 전달하려는 네트워크에 있는 DNS 해석기의 IP 주소를 지정하는 Resolver 규칙을 생성한다. 쿼리가 여러 규칙(example.com, acme.example.com)과 일치하는 경우 Resolver는 가장 확실히 일치하는 규칙(acme.example.com)을 선택하고 해당 규칙에 지정한 IP 주소에 쿼리를 전달한다. 자세한 내용은 Route 53 Resolver 엔드포인트가 DNS 쿼리를 VPC에서 네트워크로 전달하는 방법 섹션을 참조한다.

Amazon VPC와 마찬가지로 Resolver도 지역적다. VPC가 있는 리전마다 쿼리를 VPC에서 네트워크로 전달하거나(아웃바운드 쿼리) 네트워크에서 VPC로 전달하거나(인바운드 쿼리) 둘 다로 전달하도록 선택할 수 있다.

참고 Resolver 엔드포인트를 생성할 때 인스턴스 테넌시 속성이 dedicated로 설정된 VPC를 지정할 수 없다. 자세한 내용은 Using Resolver in VPCs that are configured for dedicated instance tenancy 섹션을 참조한다.

인바운드 또는 아웃바운드 전달을 사용하려면 VPC에 Resolver 엔드포인트를 만든다. 엔드포인트 정의의 일부로 인바운드 DNS 쿼리를 전달할 IP 주소 또는 아웃바운드 쿼리를 시작할 IP 주소를 지정한다. 지정한 각 IP 주소에 대해 Resolver는 자동으로 VPC 탄력적 네트워크 인터페이스를 만든다.

다음 다이어그램은 네트워크의 DNS 해석기에서 Route 53 Resolver 엔드포인트까지의 DNS 쿼리의 경로를 보여준다.

001

다음 다이어그램은 네트워크의 VPC 중 하나의 EC2 인스턴스에서 네트워크의 DNS 해석기까지의 DNS 쿼리의 경로를 보여준다.

002

VPC 네트워크 인터페이스에 대한 개요는 Amazon VPC 사용 설명서의 탄력적 네트워크 인터페이스를 참조한다.


1. 네트워크의 DNS 해석기가 Route 53 Resolver 엔드포인트로 DNS 쿼리를 전달하는 방법

네트워크에서 AWS 리전의 Route 53 Resolver 엔드포인트로 DNS 쿼리를 전달하려면 다음 단계를 수행한다.

  1. VPC의 Route 53 Resolver 인바운드 엔드포인트를 생성하고 네트워크의 해석기가 DNS 쿼리를 전달하는 IP 주소를 지정한다.

    인바운드 엔드포인트에 대해 지정한 각 IP 주소에 대해 Resolver는 인바운드 엔드포인트가 생성된 VPC에 VPC 탄력적 네트워크 인터페이스를 만든다.

  2. 인바운드 엔드포인트에 지정한 IP 주소로 해당 도메인 이름의 DNS 쿼리를 전달하도록 네트워크의 해석기를 구성한다. 자세한 내용은 인바운드 및 아웃바운드 엔드포인트를 만들 때 고려 사항 섹션을 참조한다.

네트워크에서 시작되는 DNS 쿼리를 Resolver에서 해석하는 방법은 다음과 같다.

  1. 네트워크에 있는 웹 브라우저나 다른 애플리케이션이 Resolver에 전달된 도메인 이름의 DNS 쿼리를 제출한다.

  2. 네트워크에 있는 해석기가 인바운드 엔드포인트의 IP 주소로 쿼리를 전달한다.

  3. 인바운드 엔드포인트가 Resolver로 쿼리를 전달한다.

  4. Resolver가 내부적으로 또는 퍼블릭 이름 서버에 대해 재귀 조회를 수행하여 DNS 쿼리의 도메인 이름에 해당하는 값을 가져온다.

  5. Resolver가 인바운드 엔드포인트에 값(대개 IPv4 IP 주소)을 반환한다.

  6. 인바운드 엔드포인트가 네트워크에 있는 해석기에 값을 반환한다.

  7. 네트워크에 있는 해석기가 애플리케이션으로 값을 반환한다.

  8. Resolver에서 반환한 값을 사용하여 애플리케이션이 HTTP 요청(예: Amazon S3 버킷의 객체에 대한 요청)을 제출한다.

인바운드 엔드포인트를 생성해도 Resolver의 동작이 변경되지 않으며 AWS 네트워크 밖의 위치에서 Resolver로 향하는 경로만 제공된다.


2. Route 53 Resolver 엔드포인트가 DNS 쿼리를 VPC에서 네트워크로 전달하는 방법

AWS 리전에 있는 하나 이상의 VPC의 EC2 인스턴스에서 네트워크로 DNS 쿼리를 전달하려면 다음과 같은 단계를 수행한다.

  1. VPC에 Route 53 Resolver 아웃바운드 엔드포인트를 생성하고 다음과 같이 여러 값을 지정한다.

    • 네트워크에 있는 해석기로 가는 도중 DNS 쿼리가 통과할 VPC

    • Resolver가 DNS 쿼리를 전달할 출처가 되는 VPC의 IP 주소이다. 네트워크상의 호스트에게 이 주소는 DNS 쿼리가 시작되는 IP 주소이다.

    • VPC 보안 그룹

    아웃바운드 엔드포인트에 지정한 각 IP 주소에 대해 Resolver는 지정한 VPC에 Amazon VPC 탄력적 네트워크 인터페이스를 만든다. 자세한 내용은 인바운드 및 아웃바운드 엔드포인트를 만들 때 고려 사항 섹션을 참조한다.

  2. Resolver가 네트워크의 해석기에 전달할 DNS 쿼리의 도메인 이름을 지정하는 규칙을 하나 이상 만든다. 또한 해석기의 IP 주소를 지정한다. 자세한 내용은 규칙을 사용하여 네트워크에 전달할 쿼리 제어 섹션을 참조한다.

  3. DNS 쿼리를 네트워크에 전달할 VPC에 각 규칙을 연결한다.

1) 규칙을 사용하여 네트워크에 전달할 쿼리 제어

규칙은 Route 53 Resolver 엔드포인트가 네트워크에 있는 DNS 해석기에 전달하는 DNS 쿼리와, Resolver가 직접 응답하는 쿼리를 제어한다.

다음 두 가지 방법으로 규칙을 분류할 수 있다. 한 가지 방법은 규칙을 생성하는 사람을 통한 제어이다.

  • 자동 정의 규칙 - Resolver는 자동으로 자동 정의 규칙을 만들어 VPC와 규칙을 연결한다. 이 규칙은 대부분 Resolver가 쿼리에 응답하는 AWS 관련 도메인 이름에 적용된다. 자세한 내용은 Resolver가 자동 정의 시스템 규칙을 생성하는 도메인 이름 섹션을 참조한다.

  • 사용자 지정 규칙 - 사용자 지정 규칙을 만들어 VPC와 연결한다. 지금은 전달 규칙이라고도 하는 조건부 전달 규칙 한 가지만 사용자 지정 규칙으로 생성할 수 있다.

    전달 규칙을 사용하면 Resolver가 VPC에서 네트워크에 있는 DNS 해석기의 IP 주소로 DNS 쿼리를 전달한다. 자동 정의 규칙과 동일한 도메인에 대해 전달 규칙을 생성할 경우 Resolver가 전달 규칙의 설정에 따라 해당 도메인 이름에 대한 쿼리를 네트워크에 있는 DNS 해석기로 전달한다.

또 다른 방법은 역할에 따라 규칙을 분류하는 것이다.

  • 조건부 전달 규칙 - 지정된 도메인 이름의 DNS 쿼리를 네트워크의 DNS 해석기로 전달하려는 경우 조건부 전달 규칙(또는 전달 규칙)을 생성한다.

  • 시스템 규칙 - 시스템 규칙을 사용하면 Resolver가 전달 규칙에 정의된 동작을 선택적으로 재정의한다. 시스템 규칙을 생성할 때 Resolver가 지정된 하위 도메인의 DNS 쿼리를 해석한다. 그렇지 않을 경우 네트워크의 DNS 해석기가 해석한다.

    기본적으로 전달 규칙은 도메인 이름과 모든 하위 도메인에 적용된다. 도메인에 대한 쿼리를 네트워크에 있는 해석기에 전달하되 일부 하위 도메인에 대한 쿼리는 제외하려면 하위 도메인에 대한 시스템 규칙을 생성한다. 예를 들어 example.com의 전달 규칙을 생성하고 acme.example.com에 대한 쿼리를 전달하지 않으려면 시스템 규칙을 생성하고 도메인 이름에 acme.example.com을 지정한다.

  • 재귀 규칙 - Resolver는 인터넷 해석기라는 재귀 규칙을 자동으로 만든다. 이 규칙은 Route 53 Resolver가 사용자 지정 규칙을 만들지 않고 Resolver가 자동 정의 규칙을 만들지 않은 모든 도메인 이름에 대해 재귀 해석기의 역할을 한다. 이 동작을 재정의하는 방법은 이 주제 뒷부분의 "네트워크로 모든 쿼리 전달"을 참조한다.

특정 도메인 이름(개발자의 도메인 이름이나 대다수 AWS 도메인 이름), 퍼블릭 AWS 도메인 이름 또는 모든 도메인 이름에 적용되는 사용자 지정 규칙을 만들 수 있다.

네트워크에 특정 도메인 이름에 대한 쿼리 전달

example.com과 같은 특정 도메인 이름에 대한 쿼리를 네트워크에 전달하려면 규칙을 생성하고 도메인 이름을 지정한다. 쿼리를 전달할 네트워크에 있는 DNS 해석기의 IP 주소도 지정한다. 그런 다음 네트워크에 DNS 쿼리를 전달할 VPC에 각 규칙을 연결한다. 예를 들어 example.com, example.org 및 example.net에 대해 별도의 규칙을 생성할 수 있다. 그런 다음 어떤 조합으로든지 AWS 리전에 있는 VPC에 규칙을 연결할 수 있다.

네트워크에 amazonaws.com에 대한 쿼리 전달

도메인 이름 amazonaws.com은 EC2 인스턴스 및 S3 버킷과 같은 AWS 리소스의 퍼블릭 도메인 이름이다. amazonaws.com에 대한 쿼리를 네트워크에 전달하려면 규칙을 만들고 도메인 이름에 amazonaws.com을 지정하고 규칙 유형에 전달을 지정한다.

Note

amazonaws.com의 전달 규칙을 생성할 경우에도 Resolver에서는 일부 amazonaws.com 하위 도메인에 대한 DNS 쿼리를 자동으로 전달한다. 자세한 내용은 Resolver가 자동 정의 시스템 규칙을 생성하는 도메인 이름 섹션을 참조한다. 이 동작을 재정의하는 방법은 바로 다음에 나오는 "네트워크로 모든 쿼리 전달"을 참조한다.

네트워크로 모든 쿼리 전달

모든 쿼리를 네트워크로 전달하려면, 규칙을 만들고 도메인 이름에 "."(점)을 지정하고 모든 DNS 쿼리를 네트워크로 전달하기 위한 규칙을 VPC에 연결한다. Resolver는 여전히 모든 DNS 쿼리를 네트워크로 전달하지 않는다. AWS 외부의 DNS 해석기를 사용하면 일부 기능이 손상될 수 있기 때문이다. 예를 들어 몇몇 내부 AWS 도메인 이름에는 AWS 외부에서 액세스할 수 없는 내부 IP 주소 범위가 사용된다. "."에 대한 규칙을 만들 때 쿼리가 네트워크로 전달되지 않는 도메인 이름 목록은 Resolver가 자동 정의 시스템 규칙을 생성하는 도메인 이름을 참조한다.

그러나 역방향 DNS에 대한 자동 정의 시스템 규칙을 비활성화할 수 있으므로 "." 규칙이 모든 역방향 DNS 쿼리를 네트워크로 전달할 수 있다. 자동 정의 규칙을 해제하는 방법에 대한 자세한 내용은 해석기의 역방향 DNS 쿼리에 대한 전달 규칙 단원을 참조한다.

기본적으로 전달에서 제외되는 도메인 이름을 포함하여 모든 도메인 이름에 대한 DNS 쿼리를 네트워크로 전달하려면 "." 규칙을 생성하고 다음 중 하나를 수행하면 된다.

Warning

"." 규칙을 생성할 때 Resolver가 제외하는 도메인 이름을 포함한 모든 도메인 이름을 네트워크로 전달할 경우 일부 기능이 중단될 수 있다.

2) Resolver가 쿼리의 도메인 이름이 규칙과 일치하는지 확인하는 방법

Route 53 Resolver에서는 DNS 쿼리에 있는 도메인 이름을 쿼리가 시작된 VPC에 연결된 규칙의 도메인 이름과 비교한다. Resolver는 다음과 같은 경우에 도메인 이름이 일치한다고 간주한다.

  • 도메인 이름이 정확히 일치한다.

  • 쿼리에 있는 도메인 이름이 규칙에 있는 도메인 이름의 하위 도메인이다.

예를 들어 규칙에 있는 도메인 이름이 acme.example.com일 경우 Resolver에서는 DNS 쿼리에 있는 다음 도메인 이름이 일치한다고 간주한다.

  • acme.example.com

  • zenith.acme.example.com

다음 도메인 이름은 일치하지 않는다.

  • example.com을 선택한다

  • nadir.example.com

쿼리에 있는 도메인 이름이 2개 이상의 규칙에 있는 도메인 이름과 일치하는 경우(예: example.com 및 www.example.com) Resolver는 가장 구체적인 도메인 이름(www.example.com)이 포함된 규칙을 사용하여 아웃바운드 DNS 쿼리를 라우팅한다.

3) Resolver가 DNS 쿼리를 전달할 대상을 결정하는 방법

VPC의 EC2 인스턴스에서 실행되는 애플리케이션이 DNS 쿼리를 제출할 때 Route 53 Resolver는 다음과 같은 단계를 수행한다.

  1. Resolver가 규칙에 도메인 이름이 있는지 확인한다.

    쿼리의 도메인 이름이 규칙의 도메인 이름과 일치하면 Resolver는 아웃바운드 엔드포인트를 생성할 때 지정한 IP 주소로 쿼리를 전달한다. 그러면 아웃바운드 엔드포인트가 네트워크에 있는 해석기의 IP 주소로 쿼리를 전달한다. 이 주소는 규칙을 생성할 때 지정된 주소이다.

    자세한 내용은 Resolver가 쿼리의 도메인 이름이 규칙과 일치하는지 확인하는 방법 섹션을 참조한다.

  2. Resolver 엔드포인트가 "." 규칙의 설정에 따라 DNS 쿼리를 전달한다.

    쿼리의 도메인 이름이 다른 규칙의 도메인 이름과 일치하지 않으면 Resolver가 자동 정의된 "."(점) 규칙의 설정에 따라 쿼리를 전달한다. 점 규칙은 몇몇 AWS 내부 도메인 이름과 프라이빗 호스팅 영역에 있는 레코드 이름을 제외한 모든 도메인 이름에 적용된다. 이 규칙을 사용하면 쿼리에 있는 도메인 이름이 사용자 지정 전달 규칙에 있는 이름과 일치하지 않을 경우 Resolver가 퍼블릭 이름 서버에 DNS 쿼리를 전달한다. 네트워크에 있는 DNS로 모든 쿼리를 전달하려면 사용자 지정 전달 규칙을 생성하고 도메인 이름에 "."을 지정하며 유형에 전달을 지정하고 해당 해석기의 IP 주소를 지정하면 된다.

  3. Resolver가 쿼리를 제출한 애플리케이션에 응답을 반환한다.

4) 여러 리전에서 규칙 사용

Route 53 Resolver는 리전 서비스이므로 AWS 리전에서 만든 객체는 해당 리전에서만 사용할 수 있다. 2개 이상 리전에서 동일한 규칙을 사용하려면 각 리전에서 규칙을 생성해야 한다.

규칙을 만든 AWS 계정은 규칙을 다른 AWS 계정과 공유할 수 있다. 자세한 내용은 전달 규칙을 다른 AWS 계정과 공유하고 공유된 규칙 사용 섹션을 참조한다.

5) Resolver가 자동 정의 시스템 규칙을 생성하는 도메인 이름

Resolver가 자동 정의 시스템 규칙을 자동으로 생성한다. 이 규칙은 선택한 도메인의 쿼리가 기본적으로 해석되는 방법을 정의한다.

  • 프라이빗 호스팅 영역 및 Amazon EC2 특정 도메인 이름(예: compute.amazonaws.com 및 compute.internal)에 대해 자동 정의 규칙을 사용하면 "."(점) 또는 "com"과 같이 구체적이지 않은 도메인 이름에 대한 조건부 전달 규칙을 생성할 경우 프라이빗 호스팅 영역과 EC2 인스턴스를 계속 해석할 수 있다.

  • 공개적으로 예약된 도메인 이름(예: localhost 및 10.in-addr.arpa)의 경우 DNS 모범 사례에 따라 쿼리가 퍼블릭 이름 서버로 전달되는 것이 아니라 로컬로 응답되는 것이 좋다. RFC 6303, Locally Served DNS Zones 섹션을 참조한다.

Note

"."(점) 또는 "com"에 대해 조건부 전달 규칙을 생성하는 경우에는 amazonaws.com에서도 시스템 규칙을 생성하는 것이 좋다 (시스템 규칙을 사용하면 Resolver가 특정 도메인 및 하위 도메인의 DNS 쿼리를 로컬로 해석한다.) 이러한 시스템 규칙을 생성하면 성능을 개선하고, 네트워크에 전달되는 쿼리 수를 줄이며, Resolver 요금을 줄일 수 있다.

자동 정의 규칙을 재정의하고 싶은 경우에는 동일한 도메인 이름에 대해 조건부 전달 규칙을 생성할 수 있다.

자동 정의 규칙을 비활성화할 수도 있다. 자세한 정보는 해석기의 역방향 DNS 쿼리에 대한 전달 규칙을 참조한다.

해석기가 다음과 같은 자동 정의 규칙을 생성한다.

프라이빗 호스팅 영역을 위한 규칙

VPC에 연결하는 프라이빗 호스팅 영역마다 Resolver가 규칙을 만들어 VPC에 연결한다. 프라이빗 호스팅 영역을 여러 VPC에 연결할 경우 Resolver가 동일한 VPC에 규칙을 연결한다.

규칙에는 전달 유형이 있다.

여러 AWS 내부 도메인 이름에 대한 규칙

이 단원에 나오는 내부 도메인 이름에 대한 모든 규칙에는 전달(Forward) 유형이 있다. Resolver가 이 도메인 이름에 대한 DNS 쿼리를 VPC의 신뢰할 수 있는 이름 서버로 전달한다.

Note

사용자가 VPC의 enableDnsHostnames 플래그를 true로 설정할 때 Resolver가 이러한 규칙의 대부분을 만든다. Resolver 엔드포인트를 사용하지 않는 경우에도 Resolver가 규칙을 만든다.

VPC의 enableDnsHostnames 플래그를 true로 설정할 경우 Resolver가 다음과 같은 자동 정의 규칙을 생성해서 VPC에 연결한다.

  • 예를 들어 Region-name.compute.internal의 경우 eu-west-1.compute.internal이다. us-east-1 리전에서는 이 도메인 이름을 사용하지 않는다.

  • 예를 들어 Region-name.compute.amazon-domain-name의 경우 eu-west-1.compute.amazonaws.com 또는 cn-north-1.compute.amazonaws.com.cn이다. us-east-1 리전에서는 이 도메인 이름을 사용하지 않는다.

  • ec2.internal. us-east-1 리전에서만 이 도메인 이름을 사용한다.

  • compute-1.internal. us-east-1 리전에서만 이 도메인 이름을 사용한다.

  • compute-1.amazonaws.com. us-east-1 리전에서만 이 도메인 이름을 사용한다.

다음의 자동 정의 규칙은 VPC의 enableDnsHostnames 플래그를 true로 설정할 경우 Resolver가 생성하는 규칙에 대한 역방향 DNS 조회에 사용된다.

  • 10.in-addr.arpa

  • 16.172.in-addr.arpa through 31.172.in-addr.arpa

  • 168.192.in-addr.arpa

  • 254.169.254.169.in-addr.arpa

  • VPC의 각 CIDR 범위에 대한 규칙이다. 예를 들어, CIDR 범위가 10.0.0.0/23인 VPC의 경우 Resolver가 다음 규칙을 생성한다.

    • 0.0.10.in-addr.arpa

    • 1.0.10.in-addr.arpa

또한 localhost 관련 도메인에 사용되는 다음의 자동 정의 규칙이 생성되고, VPC의 enableDnsHostnames 플래그를 true로 설정할 경우 VPC에 연결된다.

  • localhost

  • localdomain

  • 127.in-addr.arpa

  • 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa

  • 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa

Transit Gateway 또는 VPC 피어링을 통해 VPC를 다른 VPC와 연결하고 DNS 지원이 활성화된 경우 Resolver는 다음과 같은 자동 정의 규칙을 생성해서 VPC에 연결한다.

  • 피어 VPC의 IP 주소 범위에 대한 역방향 DNS 조회(예: 0.192.in-addr.arpa)

    IPv4 CIDR 블록을 VPC에 추가하면 Resolver가 새 IP 주소 범위의 자동 정의 규칙을 추가한다.

  • 다른 VPC가 다른 리전에 있을 경우 다음과 같은 도메인 이름이 사용된다.

    • Region-name.compute.internal. us-east-1 리전에서는 이 도메인 이름을 사용하지 않는다.

    • Region-name.compute.amazon-domain-name. us-east-1 리전에서는 이 도메인 이름을 사용하지 않는다.

    • ec2.internal. us-east-1 리전에서만 이 도메인 이름을 사용한다.

    • compute-1.amazonaws.com. us-east-1 리전에서만 이 도메인 이름을 사용한다.

다른 모든 도메인에 대한 규칙

Resolver가 이 주제 앞부분에서 지정하지 않은 모든 도메인 이름에 적용되는 "."(점) 규칙을 생성한다. "." 규칙의 유형은 재귀(Recursive)이므로 이 규칙을 사용하면 Resolver가 재귀 해석기로 사용된다.


3. 인바운드 및 아웃바운드 엔드포인트를 만들 때 고려 사항

AWS 리전에서 인바운드 및 아웃바운드 해석기 엔드포인트를 작성하려면 먼저 다음 사항을 고려한다.

각 AWS 리전의 인바운드 및 아웃바운드 엔드포인트 수

AWS 리전의 VPC용 DNS를 네트워크용 DNS와 통합하려면 일반적으로 하나의 Resolver 인바운드 엔드포인트(VPC로 전달하는 DNS 쿼리용)와 하나의 아웃바운드 엔드포인트(VPC에서 네트워크로 전달하는 쿼리용)가 필요하다. 여러 개의 인바운드 엔드포인트와 여러 개의 아웃바운드 엔드포인트를 생성할 수 있지만 하나의 인바운드 또는 아웃바운드 엔드포인트로 각 방향의 DNS 조회를 충분히 처리할 수 있다. 다음을 참조한다.

  • 각 Resolver 엔드포인트의 경우 서로 다른 가용 영역에 두 개 이상의 IP 주소를 지정한다. 엔드포인트의 각 IP 주소는 초당 많은 수의 DNS 쿼리를 처리할 수 있다. 엔드포인트의 IP 주소별 초당 최대 동시 쿼리 수는 Route 53 Resolver의 할당량 섹션을 참조한다. Resolver가 추가 쿼리를 처리하게 하려는 경우 다른 엔드포인트를 추가하는 대신 기존 엔드포인트에 IP 주소를 추가할 수 있다.

  • Resolver 요금은 엔드포인트의 IP 주소 수와 엔드포인트가 처리하는 DNS 쿼리 수를 기반으로 한다. 각 엔드포인트는 최소 두 개의 IP 주소를 포함한다. Resolver 요금에 대한 자세한 내용은 Amazon Route 53 요금을 참조한다.

  • 각 규칙은 DNS 쿼리가 전달되는 아웃바운드 엔드포인트를 지정한다. AWS 리전에 여러 개의 아웃바운드 엔드포인트를 만들고 일부 또는 모든 Resolver 규칙을 모든 VPC와 연결하려면 이러한 규칙의 사본을 여러 개 만들어야 한다.

인바운드 및 아웃바운드 엔드포인트에 동일한 VPC 사용

동일한 VPC 또는 동일한 리전의 다른 VPC에서 인바운드 및 아웃바운드 엔드포인트를 생성할 수 있다.

자세한 내용은 Amazon Route 53 모범 사례 섹션을 참조한다.

인바운드 엔드포인트 및 프라이빗 호스팅 영역

Resolver가 프라이빗 호스팅 영역의 레코드를 사용하여 인바운드 DNS 쿼리를 해석하게 하려면 프라이빗 호스팅 영역을 인바운드 엔드포인트가 생성된 VPC와 연결한다. 프라이빗 호스팅 영역과 VPC를 연결하는 방법에 대한 자세한 내용은 프라이빗 호스팅 영역 사용 섹션을 참조한다.

VPC 피어링

선택한 VPC가 다른 VPC와 피어링되었는지 여부와 관계없이 AWS 리전에 있는 모든 VPC를 인바운드 또는 아웃바운드 엔드포인트로 사용할 수 있다. 자세한 내용은 Amazon Virtual Private Cloud(VPC) 피어링을 참조한다.

공유 서브넷의 IP 주소

인바운드 또는 아웃바운드 엔드포인트를 생성할 때 현재 계정에서 VPC를 생성한 경우에만 공유 서브넷에 IP 주소를 지정할 수 있다. 다른 계정이 VPC를 생성하고 VPC의 서브넷을 사용자 계정과 공유하는 경우 해당 서브넷에 IP 주소를 지정할 수 없다. 공유 서브넷에 대한 자세한 내용은 Amazon VPC 사용 설명서의 공유 VPC 작업을 참조한다.

네트워크와 엔드포인트를 생성한 VPC 간의 연결

네트워크와 엔드포인트를 생성한 VPC 사이에 다음 연결 중 하나가 있어야 한다.

규칙을 공유하면 아웃바운드 엔드포인트도 공유됨

규칙을 생성할 때 Resolver가 DNS 쿼리를 네트워크로 전달하는 데 사용할 아웃바운드 엔드포인트를 지정한다. 규칙을 다른 AWS 계정과 공유하는 경우 규칙에서 지정한 아웃바운드 엔드포인트도 간접적으로 공유된다. 두 개 이상의 AWS 계정을 사용하여 AWS 리전에 VPC를 생성한 경우 다음을 수행할 수 있다.

  • 리전에 하나의 아웃바운드 엔드포인트를 생성한다.

  • 하나의 AWS 계정을 사용하여 규칙을 생성한다.

  • 리전에 VPC를 생성한 규칙을 모든 AWS 계정과 공유한다.

이렇게 하면 여러 AWS 계정을 사용하여 VPC를 생성한 경우에도 여러 VPC에서 네트워크로 DNS 쿼리를 전달할 수 있도록 리전의 아웃바운드 엔드포인트 하나를 사용할 수 있다.

전용 인스턴스 테넌시용으로 구성된 VPC에서 Resolver 사용

Resolver 엔드포인트를 생성하는 경우 인스턴스 테넌시 속성dedicated로 설정된 VPC는 지정할 수 없다. Resolver는 단일 테넌트 하드웨어에서 실행되지 않는다.

그래도 Resolver를 사용하여 VPC에서 발생한 DNS 쿼리를 해석할 수 있다. 인스턴스 테넌시 속성이 default로 설정된 VPC를 최소한 하나 이상 생성하고, 인바운드 및 아웃바운드 엔드포인트를 생성할 때 해당 VPC를 지정한다.

전달 규칙을 생성할 때 인스턴스 테넌시 속성 설정과 상관없이 규칙을 어떠한 VPC에든 연결할 수 있다.


References