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.
Greifen Sie von einem Amazon-Container aus auf eine Amazon Neptune-Datenbank zu EKS
Erstellt von Ramakrishnan Palaninathan () AWS
Übersicht
Dieses Muster stellt eine Verbindung zwischen Amazon Neptune, einer vollständig verwalteten Graphdatenbank, und Amazon Elastic Kubernetes Service (AmazonEKS), einem Container-Orchestrierungsservice, her, um auf eine Neptune-Datenbank zuzugreifen. Neptune-DB-Cluster sind auf eine virtuelle private Cloud (VPC) beschränkt. AWS Aus diesem Grund erfordert der Zugriff auf Neptune eine sorgfältige Konfiguration von, VPC um die Konnektivität zu aktivieren.
Im Gegensatz zu Amazon Relational Database Service (AmazonRDS) for Postgre SQL ist Neptune nicht auf typische Datenbankzugriffsanmeldeinformationen angewiesen. Stattdessen verwendet es AWS Identity and Access Management (IAM) -Rollen für die Authentifizierung. Um von Amazon aus eine Verbindung zu Neptune herzustellen, EKS müssen Sie daher eine IAM Rolle mit den erforderlichen Berechtigungen für den Zugriff auf Neptune einrichten.
Darüber hinaus sind Neptun-Endpunkte nur innerhalb des Bereichs zugänglich, in VPC dem sich der Cluster befindet. Das bedeutet, dass Sie Netzwerkeinstellungen konfigurieren müssen, um die Kommunikation zwischen Amazon EKS und Neptune zu erleichtern. Abhängig von Ihren spezifischen Anforderungen und Netzwerkpräferenzen gibt es verschiedene Ansätze zur Konfiguration von, um eine nahtlose Konnektivität zwischen Neptune und Amazon VPC zu ermöglichen. EKS Jede Methode bietet unterschiedliche Vorteile und Überlegungen, sodass Sie Ihre Datenbankarchitektur flexibel an die Anforderungen Ihrer Anwendung anpassen können.
Voraussetzungen und Einschränkungen
Voraussetzungen
Installieren Sie die neueste Version von kubectl (siehe Anweisungen
). Um deine Version zu überprüfen, führe folgenden Befehl aus: kubectl version --short
Installieren Sie die neueste Version von eksctl (siehe Anweisungen
). Um deine Version zu überprüfen, führe folgenden Befehl aus: eksctl info
Installieren Sie die neueste Version von AWS Command Line Interface (AWS CLI) Version 2 (siehe Anweisungen). Um Ihre Version zu überprüfen, führen Sie folgenden Befehl aus:
aws --version
Erstellen Sie einen Neptune-DB-Cluster (siehe Anweisungen). Stellen Sie sicher, dass die Kommunikation zwischen dem Cluster VPC und Amazon EKS über VPCPeering oder eine andere Methode hergestellt wird. AWS Transit Gateway Stellen Sie außerdem sicher, dass der Status des Clusters „verfügbar“ lautet und dass für die Sicherheitsgruppe eine Regel für eingehende Zugriffe auf Port 8182 gilt.
Konfigurieren Sie einen IAM OpenID Connect (OIDC) -Anbieter auf einem vorhandenen EKS Amazon-Cluster (siehe Anweisungen).
Produktversionen
Architektur
Das folgende Diagramm zeigt die Verbindung zwischen Kubernetes-Pods in einem EKS Amazon-Cluster und Neptune, um Zugriff auf eine Neptune-Datenbank zu ermöglichen.

Automatisierung und Skalierung
Sie können den Amazon EKS Horizontal Pod Autoscaler verwenden, um diese Lösung zu skalieren.
Tools
Services
Mit Amazon Elastic Kubernetes Service (AmazonEKS) können Sie Kubernetes ausführen, AWS ohne dass Sie Ihre eigene Kubernetes-Steuerebene oder Knoten installieren oder verwalten müssen.
AWS Identity and Access Management (IAM) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.
Amazon Neptune ist ein Graphdatenbank-Service, mit dem Sie Anwendungen erstellen und ausführen können, die mit stark verbundenen Datensätzen arbeiten.
Bewährte Methoden
Bewährte Methoden finden Sie unter Identity and Access Management
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Überprüfen Sie den Clusterkontext. | Bevor Sie mit Ihrem EKS Amazon-Cluster mithilfe von Helm oder anderen Befehlszeilentools interagieren, müssen Sie Umgebungsvariablen definieren, die die Details Ihres Clusters kapseln. Diese Variablen werden in nachfolgenden Befehlen verwendet, um sicherzustellen, dass sie auf den richtigen Cluster und die richtigen Ressourcen abzielen. Stellen Sie zunächst sicher, dass Sie im richtigen Clusterkontext arbeiten. Dadurch wird sichergestellt, dass alle nachfolgenden Befehle an den vorgesehenen Kubernetes-Cluster gesendet werden. Führen Sie den folgenden Befehl aus, um den aktuellen Kontext zu überprüfen.
| AWSAdministrator, Cloud-Administrator |
Definieren Sie die | Definieren Sie die
| AWSAdministrator, Cloud-Administrator |
Ausgabe validieren. | Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Variablen richtig gesetzt wurden.
Stellen Sie sicher, dass die Ausgabe dieses Befehls mit der Eingabe übereinstimmt, die Sie im vorherigen Schritt angegeben haben. | AWSAdministrator, Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Ein -Service-Konto aktualisieren | Sie verwenden IAMRollen für Dienstkonten, um Ihre Kubernetes-Dienstkonten IAM Rollen zuzuordnen und so ein detailliertes Berechtigungsmanagement für Ihre Anwendungen zu ermöglichen, die auf Amazon ausgeführt werden. EKS Sie können eksctl WichtigBevor Sie diese Befehle ausführen können, muss Ihrem Cluster ein OIDCEndpunkt zugeordnet sein. Erstellen Sie ein Dienstkonto, das Sie einer AWS verwalteten Richtlinie mit dem Namen zuordnen möchten
wo Nach Abschluss zeigt dieser Befehl die folgende Antwort an:
| AWSAdministrator, Cloud-Administrator |
Stellen Sie sicher, dass das Konto ordnungsgemäß eingerichtet ist. | Stellen Sie sicher, dass das
Die Ausgabe sollte in etwa wie folgt aussehen:
| AWSAdministrator, Cloud-Administrator |
Überprüfen Sie die Konnektivität. | Stellen Sie einen Beispiel-Pod bereit, der aufgerufen wurde,
| AWSAdministrator, Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Aktivieren Sie die IAM Datenbankauthentifizierung. | Standardmäßig ist die IAM Datenbankauthentifizierung deaktiviert, wenn Sie einen Neptune-DB-Cluster erstellen. Sie können die IAM Datenbankauthentifizierung aktivieren oder deaktivieren, indem Sie den verwenden. AWS Management Console Folgen Sie den Schritten in der AWS Dokumentation, um die IAMDatenbankauthentifizierung in Neptune zu aktivieren. | AWSAdministrator, Cloud-Administrator |
Überprüfen Sie die Verbindungen. | In diesem Schritt interagieren Sie mit dem
| AWSAdministrator, Cloud-Administrator |
Fehlerbehebung
Problem | Lösung |
---|---|
Ich kann nicht auf die Neptun-Datenbank zugreifen. | Überprüfen Sie die IAM Richtlinie, die mit dem Dienstkonto verknüpft ist. Stellen Sie sicher, dass es die erforderlichen Aktionen (z. B. |
Zugehörige Ressourcen
Kubernetes-Workloads Zugriff auf die AWS Nutzung von Kubernetes-Servicekonten gewähren (Amazon-Dokumentation) EKS
IAMRollen für Servicekonten (EKSAmazon-Dokumentation)
Einen neuen Neptune-DB-Cluster erstellen (Amazon Neptune Neptune-Dokumentation)