Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Accedi a un database Amazon Neptune da un container Amazon EKS
Creato da Ramakrishnan Palaninathan (AWS)
Riepilogo
Questo modello stabilisce una connessione tra Amazon Neptune, che è un database grafico completamente gestito, e Amazon Elastic Kubernetes Service (Amazon EKS), un servizio di orchestrazione di container, per accedere a un database Neptune. I cluster Neptune DB sono confinati all'interno di un cloud privato virtuale (VPC) attivo. AWS Per questo motivo, l'accesso a Neptune richiede un'attenta configurazione del VPC per abilitare la connettività.
A differenza di Amazon Relational Database Service (Amazon RDS) per PostgreSQL, Neptune non si basa sulle tipiche credenziali di accesso al database. Utilizza invece ruoli (IAM) per l'autenticazione. AWS Identity and Access Management Pertanto, la connessione a Neptune da Amazon EKS implica la configurazione di un ruolo IAM con le autorizzazioni necessarie per accedere a Neptune.
Inoltre, gli endpoint Neptune sono accessibili solo all'interno del VPC in cui risiede il cluster. Ciò significa che devi configurare le impostazioni di rete per facilitare la comunicazione tra Amazon EKS e Neptune. A seconda dei requisiti specifici e delle preferenze di rete, esistono diversi approcci alla configurazione del VPC per consentire una connettività perfetta tra Neptune e Amazon EKS. Ogni metodo offre vantaggi e considerazioni distinti, che offrono flessibilità nella progettazione dell'architettura del database per soddisfare le esigenze dell'applicazione.
Prerequisiti e limitazioni
Prerequisiti
Installa l'ultima versione di kubectl (vedi istruzioni).
Per verificare la tua versione, esegui: kubectl version --short
Installa l'ultima versione di eksctl (vedi istruzioni
). Per verificare la tua versione, esegui: eksctl info
Installa l'ultima versione di AWS Command Line Interface (AWS CLI) versione 2 (vedi istruzioni). Per verificare la tua versione, esegui:
aws --version
Crea un cluster Neptune DB (vedi istruzioni). Assicurati di stabilire comunicazioni tra il VPC del cluster e Amazon EKS tramite peering VPC o un altro metodo. AWS Transit Gateway Assicurati inoltre che lo stato del cluster sia «disponibile» e che abbia una regola in entrata sulla porta 8182 per il gruppo di sicurezza.
Versioni del prodotto
Architettura
Il diagramma seguente mostra la connessione tra i pod Kubernetes in un cluster Amazon EKS e Neptune per fornire l'accesso a un database Neptune.

Automazione e scalabilità
Puoi usare Amazon EKS Horizontal Pod Autoscaler per scalare questa soluzione.
Strumenti
Servizi
Amazon Elastic Kubernetes Service (Amazon EKS) ti aiuta a eseguire AWS Kubernetes senza dover installare o gestire il tuo piano di controllo o i tuoi nodi Kubernetes.
AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.
Amazon Neptune è un servizio di database a grafi che ti aiuta a creare ed eseguire applicazioni che funzionano con set di dati altamente connessi.
Best practice
Per le best practice, consulta Identity and Access Management
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Verifica il contesto del cluster. | Prima di interagire con il cluster Amazon EKS utilizzando Helm o altri strumenti da riga di comando, devi definire variabili di ambiente che incapsulino i dettagli del cluster. Queste variabili vengono utilizzate nei comandi successivi per garantire che siano indirizzate al cluster e alle risorse corretti. Innanzitutto, verifica che stai operando nel contesto del cluster corretto. Ciò garantisce che tutti i comandi successivi vengano inviati al cluster Kubernetes previsto. Per verificare il contesto corrente, esegui il comando seguente.
| Amministratore AWS, amministratore cloud |
Definisci la | Definisci la variabile di
| Amministratore AWS, amministratore cloud |
Convalida l'output. | Per verificare che le variabili siano state impostate correttamente, esegui il comando seguente.
Verificate che l'output di questo comando corrisponda all'input specificato nel passaggio precedente. | Amministratore AWS, amministratore cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea un account di servizio . | Utilizzi i ruoli IAM per gli account di servizio per mappare i tuoi account di servizio Kubernetes ai ruoli IAM, per consentire una gestione granulare delle autorizzazioni per le tue applicazioni eseguite su Amazon EKS. Puoi usare eksctl ImportanteÈ necessario che al cluster sia associato un endpoint OIDC prima di eseguire questi comandi. Crea un account di servizio da associare a una politica AWS gestita denominata.
dove Al termine, questo comando visualizza la seguente risposta:
| Amministratore AWS, amministratore cloud |
Verifica che l'account sia configurato correttamente. | Assicurati che l'account del
L'output dovrebbe essere simile al seguente:
| Amministratore AWS, amministratore cloud |
Verifica la connettività. | Implementa un pod di esempio chiamato
| Amministratore AWS, amministratore cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Abilita l'autenticazione del database IAM. | Per impostazione predefinita, l'autenticazione del database IAM è disabilitata quando si crea un cluster Neptune DB. È possibile abilitare o disabilitare l'autenticazione del database IAM utilizzando. AWS Management Console Segui i passaggi indicati nella AWS documentazione per abilitare l'autenticazione del database IAM in Neptune. | Amministratore AWS, amministratore cloud |
Verifica le connessioni. | In questo passaggio, interagisci con il
| Amministratore AWS, amministratore cloud |
Risoluzione dei problemi
Problema | Soluzione |
---|---|
Impossibile accedere al database di Neptune. | Esamina la policy IAM allegata all'account del servizio. Assicurati che consenta le azioni necessarie (ad esempio |
Risorse correlate
Concedi ai carichi di lavoro Kubernetes l'accesso all' AWS utilizzo degli account di servizio Kubernetes (documentazione Amazon EKS)
Ruoli IAM per gli account di servizio (documentazione Amazon EKS)
Creazione di un nuovo cluster Neptune DB (documentazione Amazon Neptune)