VPC 피어링 연결을 통해 도메인 이름을 확인할 수 없는 이유는 무엇입니까?

최종 업데이트 날짜: 2022년 8월 29일

Amazon Virtual Private Cloud(VPC) 피어링 연결을 통해 도메인 이름을 확인할 수 없습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

해결 방법

참고: 다음 시나리오에서는 VPC가 AmazonProvidedDNS로 구성되어 있다고 가정합니다. 사용자 지정 DNS를 사용 중이고 도메인 이름을 확인할 수 없는 경우 다음을 수행합니다.

  • 사용자 지정 DNS에 레코드를 추가합니다.
    또는
  • 특정 쿼리를 Amazon 제공 DNS로 전달하도록 DNS를 구성합니다. Amazon에서 제공하는 DNS는 VPC CIDR의 .2 IP 주소입니다.

시나리오 1: 피어링된 VPC에서 생성된 Amazon EC2 인스턴스의 퍼블릭 DNS로 확인

Amazon Elastic Compute Cloud(Amazon EC2)는 인스턴스 생성 시 프라이빗 및 퍼블릭 DNS 이름을 할당합니다. 기본적으로 다음 도메인 이름이 인스턴스에 할당됩니다.

  • 프라이빗 DNS: ip-172-31-19-128.ec2.internal(us-east-1 리전) 또는 ip-172-31-12-97.us-west-2.compute.internal(기타 리전)
  • 퍼블릭 DNS: ec2-54-147-16-116.compute-1.amazonaws.com 또는 ec2-35-88-61-144.us-west-2.compute.amazonaws.com.

DHCP 옵션 세트를 사용자 지정 도메인 이름(예: “example.com”)으로 구성하면 EC2 인스턴스가 해당 도메인 이름을 사용합니다. ip-172-31-12-97.us-west-2.example.com을 예로 들 수 있습니다.

AWS의 모든 인스턴스에서 프라이빗 DNS로 확인하면 인스턴스를 생성한 VPC의 프라이빗 IP 주소로 확인됩니다.

$ dig ip-172-31-12-97.us-west-2.compute.internal +short
172.31.12.97

피어링된 VPC에서 생성된 다른 인스턴스에서 인스턴스의 퍼블릭 DNS를 확인하면 인스턴스의 퍼블릭 IP 주소가 확인됩니다.

$ dig ec2-35-88-61-144.us-west-2.compute.amazonaws.com +short
35.88.61.144

퍼블릭 도메인 이름을 EC2 인스턴스의 프라이빗 IP 주소로 확인할 수 있습니다. 이렇게 하려면 VPC 피어링 연결에서 다음 옵션 중 하나를 켭니다.

  • 요청자 DNS 확인
    또는
  • 수락자 DNS 확인

자세한 내용은 VPC 피어링 연결에 대한 DNS 확인 활성화를 참조하세요.

DNS 확인을 설정한 후 다음 예와 같이 퍼블릭 DNS를 인스턴스의 프라이빗 IP 주소로 확인할 수 있습니다.

$ dig ec2-35-88-61-144.us-west-2.compute.amazonaws.com +short
172.31.12.97

VPC 피어링에서 DNS 확인을 활성화한 후 DNS 확인이 작동하지 않으면 다음 단계에 따라 문제를 해결하세요.

문제 해결 단계

1.    원본 VPC와 대상 VPC ID를 확인합니다.

2.    VPC 피어링을 사용하여 원본 VPC와 대상 VPC 간에 활성 피어링 연결이 있는지 확인합니다.

3.    피어링 연결에 사용되는 두 VPC 모두에 대해 DNS 호스트 이름DNS 확인이 켜져 있는지 확인합니다.

4.    피어링 연결에 대한 DNS 구성을 확인하고 요청자수락자 VPC 모두에 대해 DNS 확인이 켜져 있는지 확인합니다.

5.    확인하려는 퍼블릭 도메인 이름이 존재하는지 확인합니다. 대상 VPC에서 도메인 이름에 퍼블릭 IP가 언급된 인스턴스가 있는지 확인합니다.

6.    VPC의 DNS 구성이 AmazonProvidedDNS인지 아니면 CustomDNS인지 확인합니다. 사용자 지정 DNS를 사용하는 경우 사용자 지정 DNS가 퍼블릭 인스턴스의 도메인 이름을 확인하는지 확인합니다. 사용자 지정 DNS가 도메인 이름을 확인할 수 없는 경우 다음 중 하나를 수행합니다.

정적 DNS 레코드를 추가합니다.

또는

쿼리를 AmazonProvidedDNS로 리디렉션합니다.

시나리오 2: 피어링된 VPC에서 생성된 서비스의 도메인 이름으로 확인

도메인 이름으로 서비스를 생성하면 피어링된 VPC의 인스턴스에서 해당 도메인 이름을 확인할 수 있습니다. 이러한 서비스에 대해 생성된 도메인 이름은 퍼블릭 레코드이며 어디서나 확인할 수 있기 때문입니다.

예를 들어 다음 도메인 이름 레코드는 공개적으로 확인할 수 있습니다.

  • testCLB-520693273.us-east-1.elb.amazonaws.com
  • test-87913728ca9b8a68.elb.us-east-1.amazonaws.com
  • vpce-057d3426e21755b8a-svk1k3tm.ssm.us-east-1.vpce.amazonaws.com

참고: 도메인 이름이 프라이빗 로드 밸런서용인 경우에도 레코드는 퍼블릭이며 프라이빗 IP 주소로 확인됩니다.

‘ssm.us-east-1.amazonaws.com’과 같은 서비스 엔드포인트 도메인 이름은 퍼블릭 IP 주소로 확인됩니다. 프라이빗 DNS 옵션이 켜진 상태로 피어링된 VPC에 인터페이스 엔드포인트가 생성된 경우에도 마찬가지입니다. 서비스 엔드포인트의 도메인 이름을 인터페이스 엔드포인트의 프라이빗 IP 주소로 확인할 수 있습니다. 이렇게 하려면 리소스가 인터페이스 엔드포인트를 생성한 VPC의 일부여야 합니다.

예제

인터페이스 VPC 엔드포인트는 VPCA에 구성되어 있습니다. 서비스 도메인 이름을 VPCB에서 VPCA의 인터페이스 VPC 엔드포인트 IP로 확인하려고 합니다. 이 시나리오에서는 VPC B에 Amazon Route 53 아웃바운드 확인자 엔드포인트가 필요하고 VPCA에는 Route 53 인바운드 확인자 엔드포인트가 필요합니다.

참고: 마법사를 사용하여 Route 53 Resolver를 구성하는 방법에 대한 자세한 내용은 Route 53 Resolver 시작하기를 참조하세요.

1.    VPCB(엔드포인트 DNS에 액세스하려는 위치)에 Route 53 확인자 아웃바운드 엔드포인트를 생성합니다.

2.    VPCA(엔드포인트를 생성한 위치)에 Route 53 확인자 인바운드 엔드포인트를 생성합니다.

3.    VPCA와 동일한 리전의 도메인 이름과 대상 IP 주소를 사용하여 VPCB에 Route 53 확인자 규칙을 생성합니다.

VPCB의 아웃바운드 엔드포인트는 서비스 도메인 이름에 대한 DNS 쿼리를 VPCA의 인바운드 확인자 엔드포인트의 IP로 전달합니다. VPCA의 인바운드 엔드포인트는 서비스 도메인 이름에 대한 DNS 쿼리를 수신합니다. 그런 다음 인바운드 엔드포인트는 확인을 위해 쿼리를 VPCA의 Amazon 제공 DNS 서버로 전달합니다.

Route 53 확인자 엔드포인트가 활성화되면 프라이빗 DNS 이름으로 엔드포인트에 액세스할 수 있습니다.

문제 해결 단계

1.    원본 VPC와 대상 VPC ID를 확인합니다.

2.    원본 VPC와 대상 VPC 간에 활성 피어링 연결이 있는지 확인합니다.

3.    피어링 연결에 사용되는 두 VPC 모두에 대해 DNS 호스트 이름DNS 확인이 켜져 있는지 확인합니다.

4.    피어링 연결에 대한 DNS 구성을 확인하고 요청자와 수락자 VPC 모두에 대해 DNS 확인이 켜져 있는지 확인합니다.

5.    확인하려는 퍼블릭 도메인 이름이 존재하는지 확인합니다. 대상 VPC를 확인하고 프라이빗 DNS 옵션이 활성화된 VPC에 VPC 인터페이스 엔드포인트가 생성되었는지 확인합니다.

6.    VPC에 구성된 DNS가 AmazonProvidedDNS인지 아니면 CustomDNS인지 확인합니다. 사용자 지정 DNS를 사용하는 경우 사용자 지정 DNS가 도메인 이름을 확인할 수 있는지 확인합니다. 사용자 지정 DNS가 도메인 이름을 확인할 수 없는 경우 정적 DNS 레코드를 추가하거나 사용자 지정 DNS를 구성하여 쿼리를 AmazonProvidedDNS로 전달합니다.

7.    VPC 해석기 엔드포인트가 있는 서브넷과 연결된 라우팅 테이블에 원본 또는 대상 VPC를 가리키는 피어링 경로가 있는지 확인합니다. 두 VPC의 모든 인바운드 및 아웃바운드 VPC 확인자 엔드포인트에 대해 이 작업을 수행합니다.

8.    확인자 엔드포인트가 생성된 서브넷에 연결된 네트워크 ACL이 피어링된 VPC CIDR의 인바운드 트래픽을 허용하는지 확인합니다.

9.    인바운드 및 아웃바운드 확인자가 올바르게 구성되었고 트래픽을 다음 홉으로 전달하는 올바른 규칙이 있는지 확인합니다. 자세한 내용은 Route 53 Resolver 엔드포인트의 DNS 확인 문제를 해결하려면 어떻게 해야 합니까?를 참조하세요.

시나리오 3: 프라이빗 호스팅 영역에서 생성된 사용자 지정 도메인 이름

도메인을 프라이빗 호스팅 영역에서 생성된 레코드로 확인하는 데 사용되는 사용자 지정 도메인 이름에 대한 프라이빗 호스팅 영역을 생성했습니다. VPC A는 프라이빗 호스팅 영역에 연결됩니다. VPC B에는 VPC A에 대한 피어링 연결이 있습니다. 사용자 지정 도메인 이름을 VPC B에서 사용자 지정 도메인을 확인할 수 있는 VPC A로 확인하려고 합니다.

이 작업을 수행하는 데는 두 가지 방법이 있습니다.

  • 해결 방법 1: 쿼리를 VPC B에서 기본 VPC A의 DNS로 전달합니다. 이 설정은 시나리오 2와 유사합니다.
  • 해결 방법 2: VPC B를 레코드를 생성한 사용자 지정 도메인의 프라이빗 호스팅 영역에 연결합니다. 연결한 후에는 두 피어링된 VPC의 리소스에서 프라이빗 호스팅 영역의 사용자 지정 도메인 이름을 확인할 수 있습니다.

문제 해결 단계

참고: 해결 방법 1의 경우 시나리오 2에 언급된 문제 해결 단계를 따릅니다.

1.    원본 VPC와 대상 VPC ID를 확인합니다.

2.    VPC에 구성된 DNS가 AmazonProvidedDNS인지 아니면 CustomDNS인지 확인합니다. 사용자 지정 DNS를 사용하는 경우 프라이빗 호스팅 영역에서 호스팅되는 레코드를 확인할 수 없습니다. 이 문제를 해결하려면 사용자 지정 DNS에 정적 도메인 이름 레코드를 추가합니다. 또는 AmazonprovidedDNS로 쿼리를 전달하도록 사용자 지정 DNS를 구성합니다.

3.    Amazon에서 제공하는 DNS를 사용하는 경우 확인하려는 도메인과 도메인이 호스팅되는 위치(Amazon Route 53 또는 온프레미스)를 확인합니다. 온프레미스인 경우 쿼리를 온프레미스 DNS로 전달하는 데 사용되는 아웃바운드 확인자 엔드포인트가 올바르게 구성되어 있는지 확인합니다.

4.    Route 53 프라이빗 호스팅 영역에서 호스팅 되는 경우 원본 VPC가 프라이빗 호스팅 영역에 연결되어 있는지 확인합니다. 원본 VPC는 사용자 지정 도메인 이름을 확인하려는 위치입니다.

5.    해결하려는 FQDN에 프라이빗 호스팅 영역에 생성된 레코드가 있는지 확인합니다.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?