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

5분 분량
0

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.    피어링 연결에 대한 DNS 구성을 확인합니다. 요청자수락자 VPC 모두에 대해 DNS 확인이 활성화되었는지 확인합니다.

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

5.    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에 인터페이스 엔드포인트가 생성된 경우에도 마찬가지입니다. 또한 이러한 이름은 인터페이스 엔드포인트를 생성한 VPC 내에서 쿼리된 경우에만 프라이빗 IP 주소로 확인됩니다. 피어링된 VPC의 엔드포인트 도메인 이름을 엔드포인트 프라이빗 IP 주소로 확인하려면 올바른 DNS 아키텍처를 생성해야 합니다.

다음 예에서는 VPC A에 인터페이스 VPC 엔드포인트를 구성하여 서비스 도메인 이름을 VPC B에서 VPC A의 인터페이스 VPC 엔드포인트 IP 주소로 확인합니다.

  1. PrivateDNS를 끈 상태로 서비스에 대한 인터페이스 엔드포인트를 생성합니다.
  2. 인터페이스 엔드포인트가 생성된 계정에서 서비스 도메인 이름(예: ssm.us-east-1.amazonaws.com)을 사용하여 프라이빗 호스팅 영역을 생성합니다.
  3. 피어링 연결에서 두 VPC 모두에 대해 DNS 호스트 이름과 DNS 확인이 켜져 있는지 확인합니다.
  4. 서비스 도메인 이름을 인터페이스 엔드포인트 DNS의 리전 엔드포인트(vpce-057d3426e21755b8a-svk1k3tm.ssm.us-east-1.vpce.amazonaws.com)로 가리키는 별칭 레코드를 생성합니다. 또는 서비스 도메인 이름을 VPC A에서 만든 인터페이스 VPC 엔드포인트의 프라이빗 IP 주소를 가리키는 레코드를 생성합니다.
  5. 생성한 프라이빗 호스팅 영역을 피어링된 VPC(VPC B)에 연결합니다. VPC B가 교차 계정인 경우, Route 53 프라이빗 호스팅 영역을 다른 AWS 계정의 VPC와 연결하려면 어떻게 해야 하나요? 섹션을 참조하세요.

문제 해결 단계

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

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

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

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

5.    두 개의 피어링된 VPC가 모두 도메인 이름 레코드가 생성된 동일한 프라이빗 호스팅 영역에 연결되어 있는지 확인합니다.

6.    레코드가 올바른 VPC 엔드포인트 리전별 도메인 또는 인터페이스 엔드포인트 IP 주소를 가리키고 있는지 확인합니다.

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

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

확인하려면 VPC B를 레코드를 생성한 사용자 지정 도메인의 프라이빗 호스팅 영역에 연결합니다. 연결한 후에는 두 피어링된 VPC의 리소스에서 프라이빗 호스팅 영역의 사용자 지정 도메인 이름을 확인할 수 있습니다.

문제 해결 단계

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에 프라이빗 호스팅 영역에 생성된 레코드가 있는지 확인합니다.


AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음

관련 콘텐츠