Wie kann ich Konnektivitätsprobleme über meine Gateway- und Schnittstellen-VPC-Endpunkte beheben?

Letzte Aktualisierung: 05.04.2022

Wie kann ich Konnektivitätsprobleme über meine Gateway- und Schnittstellen-Endpunkte der Amazon Virtual Private Cloud (Amazon VPC) beheben?

Lösung

Die folgende Lösung behandelt verschiedene Parameter, die für den Aufbau von Ende-zu-Ende-Verbindungen über VPC-Endpunkte wichtig sind. Schritte zur Fehlerbehebung bei der Konnektivität sind ebenfalls enthalten.

Gateway-VPC-Endpunkte

Mit Gateway-VPC-Endpunkten können Sie sich privat von Ihrer VPC aus mit Amazon Simple Storage Service (Amazon S3) und Amazon DynamoDB verbinden.

Bei der Verwendung von Gateway-Endpunkten gibt es vier Faktoren, die sich auf die Konnektivität zu den jeweiligen Services auswirken:

  • die Endpunktrichtlinie,
  • die VPC-Subnetz-Netzwerkzugriffssteuerungsliste (ACL),
  • die Quell-Subnetz-Routing-Tabelle,
  • Die Quell-Amazon Elastic Compute Cloud (Amazon EC2)- oder AWS Lambda-Sicherheitsgruppen,

Endpunktrichtlinie

Stellen Sie bei Verwendung einer benutzerdefinierten Endpunktrichtlinie sicher, dass die mit dem Endpunkt verknüpfte Richtlinie den erforderlichen Zugriff zum Ausführen von Aktionen für den Service gewährt. Die standardmäßige Endpunktrichtlinie gewährt vollen Zugriff auf den Service.

Weitere Informationen finden Sie unter Endpunktrichtlinien für Gateway-Endpunkte.

VPC-Subnetz-Netzwerkzugriffssteuerungsliste

Die Subnetz-Netzwerk-ACLs müssen sowohl eingehende als auch ausgehende TCP-Verbindungen zu S3 und DynamoDB CIDRs innerhalb der AWS-Region zulassen. Sie können die IP-CIDRs für S3 und DynamoDB in einer bestimmten AWS-Region durch Ausführen des folgenden Befehls von Ihrer AWS Command Line Interface (AWS CLI) aus anzeigen.

Hinweis: Wenn beim Ausführen von AWS-CLI-Befehlen Fehler gemeldet werden, stellen Sie sicher, dass Sie die neueste Version der AWS CLI verwenden.

aws ec2 describe-prefix-lists --region <AWS Region>

Hinweis: CIDRs öffentlicher IP-Adressen für AWS-Services können sich ändern. Um sicherzustellen, dass alle CIDRs in den Regeln der Netzwerkzugriffssteuerungsliste zugelassen sind, führen Sie den vorherigen Befehl von Zeit zu Zeit erneut aus, um nach neuen CIDR-Bereichen zu suchen.

Sicherheitsgruppen für Quell-EC2 oder Lambda

Die Sicherheitsgruppen, die mit der Quelle verknüpft sind, die die Konnektivität zu den S3- und DynamoDB-Endpunkten initiiert, müssen Folgendes zulassen:

  • Ausgehende Verbindungen zu den öffentlichen IP-CIDRs.
    -oder-
  • Die Präfix-List-ID für S3 bzw. DynamoDB in der betroffenen AWS-Region.

Hinweis: Wenn Sie die Regeln für Sicherheitsgruppen und Netzwerk-ACL konfigurieren, können Sie in den Dokumenten zu Simple Storage Service (Amazon S3)-Endpunkten und DynamoDB-Endpunkten nach den unterstützten Protokollen suchen. Stützen Sie sich bei Ihren Datenverkehrsbeschränkungen auf diese Informationen.

Subnetz-Routing-Tabelle

Wählen Sie beim Erstellen des Gateway-Endpunkts die Routing-Tabellen aus, auf denen die Routen zum Service installiert werden sollen. Stellen Sie sicher, dass die Quell-Routing-Tabelle Routen mit der Präfix-List-ID des vorgesehenen Services enthält, die auf den Gateway-VPC-Endpunkt verweist.

Bestätigung des Datenverkehrsflusses über einen Gateway-Endpunkt

Wenn Sie Gateway-VPC-Endpunkte verwenden, können Sie tcptrace-route zu Port 80 oder 443 ausführen, um zu bestätigen, dass der Datenverkehr über diesen Endpunkt fließt:

sudo tcptraceroute s3.us-east-1.amazonaws.com 80

traceroute to s3.us-east-1.amazonaws.com (52.217.85.238), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  s3-1.amazonaws.com (52.217.85.238) <syn,ack>  0.797 ms  1.298 ms  0.821 ms

In der vorhergehenden Ausgabe sind außer für das S3-Endpunktziel keine Hops zu sehen. Dies zeigt, dass der Datenverkehr über den VPC-Gateway-Endpunkt läuft. Wenn Sie mehrere öffentliche Hops auf der TCP-Trace-Route sehen, läuft der Datenverkehr über das Internet.

Weitere Informationen finden Sie unter Warum kann ich keine Verbindung zu einem S3-Bucket über einen Gateway-VPC-Endpunkt herstellen?

Schnittstellen-VPC-Endpunkte (AWS PrivateLink)

Wenn Sie mit Schnittstellen-VPC-Endpunkten arbeiten, überprüfen Sie Folgendes:

DNS-Namensauflösung

Für AWS-Services:

Wenn private DNS-Namen aktiviert sind, können Sie AWS-API-Aufrufe für die Service-Endpunkte ausführen (z. B. ec2.us-east-1.amazonaws.com). Diese lösen sich auf die privaten IPs der Endpunktschnittstellen auf.

Wenn Sie keine privaten DNS-Namen aktiviert haben, können Sie die API-Aufrufe ausführen, indem Sie explizit den DNS-Namen des VPC-Endpunkts der Region oder Zone angeben.

Weitere Informationen finden Sie unter Warum kann ich keine Servicedomänennamen für einen Schnittstellen-VPC-Endpunkt auflösen?

Überprüfen Sie mit den Befehlen dig oder nslookup die DNS-Auflösung für den Schnittstellen-VPC-Endpunktnamen, mit dem Sie eine Verbindung herstellen möchten.

Endpunktservices (partner- oder kundenverwaltete Services)

Stellen Sie sicher, dass sich in allen Availability Zones, die für den Network Load Balancer auf der Seite des Anbieters aktiviert sind, Ziele im Backend befinden. Weitere Informationen finden Sie unter Warum kann ich mich nicht von meinem Schnittstellen-Endpunkt in einer Amazon VPC mit einem Endpunktservice verbinden?

Angenommen, der Network Load Balancer ist für die Bereitstellung in zwei Availability Zones, us-east-1a und us-east-1b, vorgesehen. Stellen Sie Ziele auf beiden Availability Zones bereit. Wenn in den Availability Zones keine Ziele vorhanden sind, aktivieren Sie die zonenübergreifenden Lastenverteilung, um alle Anforderungen zu erfüllen.

Endpunktrichtlinie

Die Standardrichtlinie gewährt vollen Zugriff auf den Service. Stellen Sie bei Verwendung einer benutzerdefinierten Richtlinie sicher, dass die Richtlinie den Zugriff zum Ausführen von Aktionen für den Service ermöglicht.

Sicherheitsgruppe für VPC-Endpunkt

Mit Schnittstellen-VPC-Endpunkten können Sie zum Steuern des Zugriffs Sicherheitsgruppen zuordnen. Stellen Sie sicher, dass die Eingangsregeln für die Sicherheitsgruppe die Kommunikation zwischen der Endpunktnetzwerkschnittstelle und den Ressourcen (VPC oder On-Premises) ermöglichen, die auf den Service zugreifen.

Lassen Sie je nach den Ports, auf denen der Service Verbindungen akzeptiert, Verbindungen zu diesem Port und Protokoll zu.

Beispiel:

Der Endpunktservice Network Load Balancer hört auf den TCP-Ports 6169 und 8443. Lassen Sie in diesem Fall TCP-Datenverkehr zu den Ports 6169 und 8443 von den entsprechenden Quelladressen in den Eingangsregeln der Sicherheitsgruppe für den VPC-Endpunkt zu.

Die Ausgangsregeln der Sicherheitsgruppe werden nicht für Schnittstellen-Endpunkte ausgewertet. Sie können diese also leer oder eingeschränkt lassen.

Subnetz-Netzwerk-ACLs

Die Subnetz-Netzwerk-ACLs müssen sowohl eingehende als auch ausgehende Verbindungen zu den Elastic-Network-Schnittstellen des Schnittstellen-Endpunkts aus den Quellnetzwerken zulassen, wenn eine Verbindung von außerhalb der VPC hergestellt wird.

Weitere Informationen finden Sie unter Wie konfiguriere ich Sicherheitsgruppen und Netzwerk-ACLs beim Erstellen eines VPC-Schnittstellen-Endpunkts für Endpunktservices?

Routing

Schnittstellen-VPC-Endpunkte können verwendet werden, um privat von AWS oder von einem On-Premises-Netzwerk aus auf Services zuzugreifen.

Beim Herstellen einer Verbindung innerhalb derselben VPC wie dem Schnittstellenendpunkt wird das Routing von der lokalen Route in den Subnetz-Routing-Tabellen übernommen. Daher sind keine zusätzlichen Routing-Konfigurationen erforderlich.

Wenn Sie sich von außerhalb der VPC mit dem Endpoint verbinden (regionsübergreifende VPC oder On-Premises-Netzwerk), stellen Sie sicher, dass die Konnektivität von einem oder mehreren Quellnetzwerken zu den Elastic-Network-Schnittstellen-Subnetzen des Schnittstellen-VPC-Endpunkts hergestellt werden kann.

Testen der Konnektivität zu Schnittstellen-VPC-Endpunkten

Um zu testen, ob Sie den Service über einen Schnittstellen-Endpunkt erreichen können, können Sie Netzwerkkonnektivitätstools für die entsprechenden Ports verwenden.

Im Folgenden finden Sie ein Beispiel für das Testen der Konnektivität zu einem Schnittstellen-Endpunkt für einen AWS-Service:

telnet ec2.us-east-1.amazonaws.com 443
telnet PrivateIPofInterfaceEndpointENI 443

Im Folgenden finden Sie ein Beispiel für das Testen der Konnektivität zu einem Schnittstellen-Endpunkt, wenn der Anbieter, mit dem Sie sich verbinden, auf Port 6169 hört:

telnet vpce-aaaabbbbcccc-dddd.vpce-svc-12345678.us-east-1.vpce.amazonaws.com 6169
telnet PrivateIPofInterfaceEndpointENI 6169

Wenn Sie Domänennamen verwenden, stellen Sie sicher, dass die Verbindung zur richtigen IP hergestellt wird und ob sie erfolgreich ist. Für die SSL-Überprüfung können Sie curl- oder OpenSSL-Tools zum Testen verwenden.

Für Endpunktservices können Sie sich an den Anbieter wenden, um Probleme mit dem Network Load Balancer zu beheben.


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?