Warum kann ich keine Domänennamen über meine VPC-Peering-Verbindung auflösen?

Lesedauer: 7 Minute
0

Ich kann Domänennamen über meine Peering-Verbindung von Amazon Virtual Private Cloud (Amazon VPC) nicht auflösen.

Lösung

Hinweis: In den folgenden Szenarien wird davon ausgegangen, dass die VPC mit AmazonProvidedDNS konfiguriert ist. Wenn Sie benutzerdefiniertes DNS verwenden und Domänennamen nicht auflösen können, gehen Sie wie folgt vor:

  • Fügen Sie die Datensätze im benutzerdefinierten DNS hinzu.
    -oder-
  • Konfigurieren Sie das DNS so, dass bestimmte Abfragen an von Amazon bereitgestelltes DNS weitergeleitet werden. Der von Amazon bereitgestellte DNS-Server ist die IP-Adresse .2 des VPC-CIDR.

Szenario 1: Auflösung einer Amazon-EC2-Instance, die in der Peering-VPC erstellt wurde, in das öffentliche DNS

Amazon Elastic Compute Cloud (Amazon EC2) weist bei der Instancerstellung einen privaten und öffentlichen DNS-Namen zu. Die folgenden Domänennamen werden Instances standardmäßig zugewiesen:

  • Privates DNS: ip-172-31-19-128.ec2.internal (für Region us-east-1) oder ip-172-31-12-97.us-west-2.compute.internal (für andere Regionen).
  • Öffentliches DNS: ec2-54-147-16-116.compute-1.amazonaws.com oder ec2-35-88-61-144.us-west-2.compute.amazonaws.com.

Wenn Sie den DHCP-Optionssatz mit einem benutzerdefinierten Domänennamen wie „example.com“ konfigurieren, verwendet die EC2-Instance diesen Domänennamen. Zum Beispiel ip-172-31-12-97.us-west-2.example.com.

Das Auflösen in ein privates DNS von jeder Instance in AWS wird in eine private IP-Adresse der VPC aufgelöst, in der Sie die Instance erstellt haben:

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

Das Auflösen des öffentlichen DNS der Instance von einer anderen Instance, die in der Peering-VPC erstellt wurde, wird zur öffentlichen IP-Adresse der Instance aufgelöst:

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

Sie können den Namen der öffentlichen Domäne in die private IP-Adresse der EC2-Instance auflösen. Schalten Sie dazu eine der folgenden Optionen in der VPC-Peering-Verbindung ein:

  • DNS-Auflösung durch den Anforderer
    -oder-
  • DNS-Auflösung durch den Abnehmer

Weitere Informationen finden Sie unter DNS-Auflösung für eine VPC-Peering-Verbindung einschalten.

Nachdem Sie die DNS-Auflösung aktiviert haben, können Sie das öffentliche DNS auf die private IP-Adresse der Instance auflösen. Beispiel: 

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

Wenn die DNS-Auflösung nicht funktioniert, nachdem Sie die DNS-Auflösung beim VPC-Peering aktiviert haben, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Schritte zur Fehlerbehebung

1.    Überprüfen Sie die Ids der Quell-VPC und Ziel-VPC.

2.    Stellen Sie mithilfe von VPC-Peering sicher, dass eine aktive Peering-Verbindung zwischen den Quell- und Ziel-VPCs besteht.

3.    Überprüfen Sie die DNS-Konfiguration für die Peering-Verbindung. Stellen Sie sicher, dass die DNS-Auflösung sowohl für die anfordernden als auch für die akzeptierenden VPCs aktiviert ist.

4.    Stellen Sie sicher, dass der Name der öffentlichen Domäne, in den Sie sich auflösen möchten, vorhanden ist. Überprüfen Sie die Ziel-VPC, um sicherzustellen, dass es eine Instance mit der im Domänennamen genannten öffentlichen IP gibt.

5.    Prüfen Sie, ob die DNS-Konfiguration in der VPC AmazonProvidedDNS oder CustomDNS ist. Wenn Sie benutzerdefiniertes DNS verwenden, stellen Sie sicher, dass das benutzerdefinierte DNS den Domänennamen der öffentlichen Instance auflöst. Wenn das benutzerdefinierte DNS den Domänennamen nicht auflösen kann, führen Sie einen der folgenden Schritte aus:

Fügen Sie einen statischen DNS-Datensatz hinzu.

-oder-

Leiten Sie die Abfrage an AmazonProvidedDNS um.

Szenario 2: Auflösung der in einer Peering-VPC erstellten Services in den Domänennamen

Wenn Sie einen Service mit einem Domänenamen erstellen, dann können Sie diesen Domänennamen aus einer Instance in jeder Peering-VPC auflösen. Die für diese Services erstellten Domänennamen sind öffentliche Aufzeichnungen und können von überall aus aufgelöst werden.

Beispielsweise können die folgenden Domänenamen-Datensätze öffentlich aufgelöst werden:

  • 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

Hinweis: Selbst wenn der Domänenname für einen privaten Load Balancer bestimmt ist, ist der Eintrag öffentlich und wird in die private IP-Adresse aufgelöst.

Domänennamen für Service-Endpunkte wie ssm.us-east-1.amazonaws.com werden in die öffentliche IP-Adresse aufgelöst. Dies gilt auch dann, wenn in der Peering-VPC ein Schnittstellen-Endpunkt mit aktivierter privater DNS-Option erstellt wurde. Darüber hinaus werden diese Namen nur dann in private IP-Adressen aufgelöst, wenn sie innerhalb der VPC, in der Sie den Schnittstellenendpunkt erstellt haben, abgefragt werden. Um die Endpunktdomänennamen in private Endpunkt-IP-Adressen von einer Peering-VPC aufzulösen, müssen Sie die richtige DNS-Architektur erstellt haben.

Im folgenden Beispiel ist der Schnittstellen-VPC-Endpunkt auf VPC A konfiguriert, um den Service-Domänennamen von VPC B auf die IP-Adressen der Schnittstellen-VPC-Endpunkte in VPC A aufzulösen:

  1. Erstellen Sie einen Schnittstellenendpunkt für den Service bei deaktiviertem PrivateDNS.
  2. Erstellen Sie eine private gehostete Zone mit dem Service-Domänennamen (z. B. ssm.us-east-1.amazonaws.com) aus dem Konto, in dem der Schnittstellenendpunkt erstellt wurde.
  3. Stellen Sie sicher, dass die DNS-Hostnamen und DNS-Auflösung für beide VPCs in der Peering-Verbindung aktiviert sind.
  4. Erstellen Sie einen Alias-Datensatz, der den Namen der Service-Domäne auf den regionalen Endpunkt des Schnittstellenendpunkts DNS verweist: vpce-057d3426e21755b8a-svk1k3tm.ssm.us-east-1.vpce.amazonaws.com. Oder erstellen Sie einen Datensatz, der den Namen der Service-Domäne auf die privaten IP-Adressen des in VPC A erstellten Schnittstellen-VPC-Endpunkts verweist.
  5. Ordnen Sie die von Ihnen erstellte private gehostete Zone der per Peering verbundenen VPC (VPC B) zu. Wenn eine kontenübergreifende VPC B existiert, lesen Sie bitte Wie verknüpfe ich eine private gehostete Zone in Route 53 mit einer VPC auf einem anderen AWS-Konto?

Schritte zur Fehlerbehebung

1.    Überprüfen Sie die Ids der Quell-VPC und Ziel-VPC.

2.    Stellen Sie sicher, dass eine aktive Peering-Verbindung zwischen der Quell- und der Ziel-VPC besteht.

3.    Stellen Sie sicher, dass die DNS-Hostnamen und DNS-Auflösung für beide VPCs in der Peering-Verbindung aktiviert sind.

4.    Überprüfen Sie, ob das in der VPC konfigurierte DNS von AmazonProvidedDNS oder CustomDNS ist. Wenn Sie ein benutzerdefiniertes DNS verwenden, stellen Sie sicher, dass das benutzerdefinierte DNS den Domänennamen auflösen kann. Wenn das benutzerdefinierte DNS den Domänennamen nicht auflösen kann, fügen Sie einen statischen DNS-Datensatz hinzu oder konfigurieren Sie ein benutzerdefiniertes DNS, um die Abfrage an AmazonProvidedDNS weiterzuleiten.

5.    Stellen Sie sicher, dass beide Peering-VPCs derselben privaten gehosteten Zone zugeordnet sind, in der der Domänenname-Datensatz erstellt wird.

6.    Stellen Sie sicher, dass die Datensätze auf die richtigen regionsspezifischen Domänen- oder Schnittstellen-Endpunkt-IP-Adressen für VPC-Endpunkte verweisen.

Szenario 3: Benutzerdefinierter Domänenname wurde in einer privaten gehosteten Zone erstellt

Sie haben eine private gehostete Zone für einen benutzerdefinierten Domänennamen erstellt, mit dem die Domäne in einen Datensatz aufgelöst wird, der in einer privat gehosteten Zone erstellt wurde. VPC A ist einer privaten gehosteten Zone zugeordnet. VPC B hat eine Peering-Verbindung zu VPC A. Sie möchten den benutzerdefinierten Domänennamen von VPC B in VPC A auflösen.

Ordnen Sie zur Auflösung die VPC B der privaten gehosteten Zone der benutzerdefinierte Domäne zu, in der Sie den Datensatz erstellt haben. Nachdem Sie die Zuordnung vorgenommen haben, können Sie den benutzerdefinierten Domänennamen in einer privaten gehosteten Zone aus Ressourcen in beiden Peering-VPCs auflösen.

Schritte zur Fehlerbehebung

1.    Überprüfen Sie die Ids der Quell-VPC und Ziel-VPC.

2.    Überprüfen Sie, ob das in der VPC konfigurierte DNS von AmazonProvidedDNS oder CustomDNS ist. Wenn Sie benutzerdefiniertes DNS verwenden, können Sie keine Datensätze auflösen, die in privaten gehosteten Zonen gehostet werden. Um dies zu korrigieren, fügen Sie einen statischen Domänennamen-Datensatz im benutzerdefinierten DNS hinzu. Oder konfigurieren Sie ein benutzerdefiniertes DNS, um die Abfrage an AmazonProvidedDNS weiterzuleiten.

3.    Wenn Sie von Amazon bereitgestelltes DNS verwenden, überprüfen Sie die Domäne, die Sie auflösen möchten, und wo sie gehostet wird (Amazon Route 53 oder On-Premises). Wenn On-Premises, stellen Sie sicher, dass der Endpunkt des ausgehenden Resolvers, der zur Weiterleitung der Abfrage an das On-Premises-DNS verwendet wird, korrekt konfiguriert ist.

4.    Wenn sie in einer privaten gehosteten Zone von Route 53 gehostet werden, überprüfen Sie, ob die Quell-VPC mit der privaten gehosteten Zone verknüpft ist. Die Quell-VPC ist der Ort, von dem aus Sie versuchen, den benutzerdefinierten Domänennamen aufzulösen.

5.    Stellen Sie sicher, dass der FQDN, den Sie auflösen möchten, einen Datensatz enthält, der in der privat gehosteten Zone erstellt wurde.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr