View a markdown version of this page

Konfigurieren Sie Netzwerke, Sicherheitsgruppen und IAM-Authentifizierung - Amazon Neptune

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfigurieren Sie Netzwerke, Sicherheitsgruppen und IAM-Authentifizierung

Container-Bereitstellungen auf Amazon ECS oder Amazon EKS erfordern eine korrekte Netzwerkkonfiguration und IAM-Anmeldeinformationsverwaltung, um eine Verbindung zu Neptune herzustellen.

Checkliste für Sicherheitsgruppen

  • Die Neptune-Cluster-Sicherheitsgruppe muss eingehendes TCP auf Port 8182 (oder dem für Ihren Neptune-Cluster konfigurierten benutzerdefinierten Port) vom Amazon EKS-Knoten oder Pod-CIDR-Bereich zulassen.

  • Wenn Sie das Amazon VPC CNI-Plugin mit benutzerdefiniertem Netzwerk verwenden, stellen Sie sicher, dass das Pod-Subnetz über eine Route zum Neptune-Subnetz verfügt.

  • Neptune muss sich in derselben Amazon VPC wie Ihr Amazon ECS- oder Amazon EKS-Cluster befinden oder über Amazon VPC-Peering oder Transit Gateway verbunden sein.

Überprüfen Sie die Konnektivität innerhalb des Containers

Bevor Sie Probleme auf Anwendungsebene debuggen, überprüfen Sie den Netzwerkpfad, indem Sie im Container einen der folgenden Befehle ausführen:

AWS CLI
aws neptunedata get-engine-status \ --endpoint-url https://your-neptune-endpoint:8182

Weitere Informationen finden Sie unter get-engine-status in der Befehlsreferenz. AWS CLI

SDK
import boto3 from botocore.config import Config client = boto3.client( 'neptunedata', region_name='us-east-1', endpoint_url='https://your-neptune-endpoint:8182', config=Config(read_timeout=10) ) response = client.get_engine_status() print(response['status'])
awscurl
awscurl https://your-neptune-endpoint:8182/status \ --region us-east-1 \ --service neptune-db
Anmerkung

In diesem Beispiel wird davon ausgegangen, dass Ihre AWS Anmeldeinformationen in Ihrer Umgebung konfiguriert sind. Ersetze es us-east-1 durch die Region deines Neptun-Clusters.

curl
curl -k https://your-neptune-endpoint:8182/status
Anmerkung

Die -k Flagge überspringt die Überprüfung des Zertifikats. Verwenden Sie dies nur für Konnektivitätstests, nicht für Produktionscode.

Eine erfolgreiche Antwort bestätigt, dass Sicherheitsgruppen, Routing und DNS-Auflösung funktionieren. Ein Timeout weist auf ein Problem auf Netzwerkebene hin.

Aktualisierung der IAM-Anmeldeinformationen

Wenn Sie die IAM-Authentifizierung mit Neptune verwenden, müssen Ihre Pods die Anmeldeinformationen aktualisieren, bevor sie ablaufen. Wir empfehlen Amazon EKS Pod Identity für neue Bereitstellungen. IAM Roles for Service Accounts (IRSA) wird ebenfalls unterstützt und ist weit verbreitet.

Rufen Sie bei beiden Ansätzen die Anmeldeinformationen innerhalb der Authentifizierungsgeneratorfunktion ab und nicht nur einmal beim Start. IRSA- und Pod Identity-Token laufen nach 1 Stunde ab. Wenn Sie Anmeldeinformationen bei der Initialisierung zwischenspeichern, schlagen Anfragen fehl, sobald das Token AccessDeniedException: security token expired abgelaufen ist.

  • Für gremlin-go: Aufruf cfg.Credentials.Retrieve(ctx) innerhalb der Funktion, an die übergeben wurde. gen NewDynamicAuth

  • Für Java: NeptuneGremlinClient mit einem verwendenHandshakeInterceptor, das die SigV4-Signatur bei jeder neuen Verbindung aktualisiert.

Cross-account Zugriff

Neptune unterstützt keine direkte kontoübergreifende IAM-Authentifizierung. Wenn sich Ihr Amazon EKS-Cluster in einem anderen AWS Konto als Ihr Neptune-Cluster befindet, muss der Pod zunächst eine Rolle im Neptune-Konto annehmen, bevor er sich authentifiziert.

Eingangskonfiguration für Graph Explorer

Wenn Sie Graph Explorer in einer containerisierten Umgebung ausführen, stellen Sie sicher, dass der Proxy auf alle Pfade zugreifen kann — nicht nur. /explorer Konfigurieren Sie in Amazon EKS Ihre Ingress-Controller-Regeln so, dass alle Pfade zulässig sind. Konfigurieren Sie auf Amazon ECS Ihre Application Load Balancer Balancer-Zielgruppe und Listener-Regeln so, dass alle Pfade an den Graph Explorer-Container weitergeleitet werden. Der Proxy von Graph Explorer ruft, /summary /gremlin/openCypher, und auf. /sparql Path-restricted Routing-Regeln unterbrechen den Proxy im Hintergrund.