As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Acesse um banco de dados Amazon Neptune a partir de um contêiner Amazon EKS
Criado por Ramakrishnan Palaninathan (AWS)
Resumo
Esse padrão estabelece uma conexão entre o Amazon Neptune, que é um banco de dados gráfico totalmente gerenciado, e o Amazon Elastic Kubernetes Service (Amazon EKS), um serviço de orquestração de contêineres, para acessar um banco de dados Neptune. Os clusters de banco de dados Neptune estão confinados em uma nuvem privada virtual (VPC) ativada. AWS Por esse motivo, acessar o Neptune exige uma configuração cuidadosa da VPC para permitir a conectividade.
Ao contrário do Amazon Relational Database Service (Amazon RDS) para PostgreSQL, o Neptune não depende de credenciais típicas de acesso ao banco de dados. Em vez disso, ele usa funções AWS Identity and Access Management (IAM) para autenticação. Portanto, conectar-se ao Neptune a partir do Amazon EKS envolve a configuração de uma função do IAM com as permissões necessárias para acessar o Neptune.
Além disso, os endpoints do Neptune são acessíveis somente na VPC em que o cluster reside. Isso significa que você precisa definir as configurações de rede para facilitar a comunicação entre o Amazon EKS e o Neptune. Dependendo de seus requisitos específicos e preferências de rede, existem várias abordagens para configurar a VPC para permitir uma conectividade perfeita entre o Neptune e o Amazon EKS. Cada método oferece vantagens e considerações distintas, que fornecem flexibilidade na criação da arquitetura do banco de dados para atender às necessidades do seu aplicativo.
Pré-requisitos e limitações
Pré-requisitos
Instale a versão mais recente do kubectl (veja as instruções
). Para verificar sua versão, execute: kubectl version --short
Instale a versão mais recente do eksctl (veja as instruções
). Para verificar sua versão, execute: eksctl info
Instale a versão mais recente da AWS Command Line Interface (AWS CLI) versão 2 (consulte as instruções). Para verificar sua versão, execute:
aws --version
Crie um cluster de banco de dados Neptune (consulte as instruções). Certifique-se de estabelecer comunicações entre a VPC do cluster e o Amazon EKS por meio de emparelhamento de VPC ou outro método. AWS Transit Gateway Verifique também se o status do cluster está “disponível” e se ele tem uma regra de entrada na porta 8182 para o grupo de segurança.
Versões do produto
Arquitetura
O diagrama a seguir mostra a conexão entre os pods do Kubernetes em um cluster do Amazon EKS e o Neptune para fornecer acesso a um banco de dados do Neptune.

Automação e escala
Você pode usar o Amazon EKS Horizontal Pod Autoscaler para escalar essa solução.
Ferramentas
Serviços
O Amazon Elastic Kubernetes Service (Amazon EKS) ajuda você a executar o AWS Kubernetes sem precisar instalar ou manter seu próprio plano de controle ou nós do Kubernetes.
AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
O Amazon Neptune é um serviço de banco de dados gráfico que ajuda você a criar e executar aplicativos que funcionam com conjuntos de dados altamente conectados.
Práticas recomendadas
Para obter as melhores práticas, consulte Identity and Access Management
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Verifique o contexto do cluster. | Antes de interagir com seu cluster Amazon EKS usando o Helm ou outras ferramentas de linha de comando, você deve definir variáveis de ambiente que encapsulem os detalhes do seu cluster. Essas variáveis são usadas em comandos subsequentes para garantir que elas tenham como alvo o cluster e os recursos corretos. Primeiro, confirme se você está operando no contexto correto do cluster. Isso garante que todos os comandos subsequentes sejam enviados para o cluster Kubernetes pretendido. Para verificar o contexto atual, execute o comando a seguir.
| Administrador da AWS, administrador de nuvem |
Defina a | Defina a variável de
| Administrador da AWS, administrador de nuvem |
Valide a saída. | Para validar se as variáveis foram definidas corretamente, execute o comando a seguir.
Verifique se a saída desse comando corresponde à entrada especificada na etapa anterior. | Administrador da AWS, administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar uma conta de serviço do . | Você usa funções do IAM para contas de serviço para mapear suas contas de serviço do Kubernetes para funções do IAM, a fim de permitir o gerenciamento refinado de permissões para seus aplicativos que são executados no Amazon EKS. Você pode usar eksctl ImportanteVocê deve ter um endpoint OIDC associado ao seu cluster antes de executar esses comandos. Crie uma conta de serviço que você deseja associar a uma política AWS gerenciada chamada
onde Após a conclusão, esse comando exibe a seguinte resposta:
| Administrador da AWS, administrador de nuvem |
Verifique se a conta está configurada corretamente. | Certifique-se de que a conta
O resultado deve ser semelhante ao seguinte:
| Administrador da AWS, administrador de nuvem |
Verifique a conectividade. | Implante um pod de amostra chamado
| Administrador da AWS, administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Ative a autenticação do banco de dados do IAM. | Por padrão, a autenticação de banco de dados do IAM está desabilitada quando você cria um cluster de banco de dados do Neptune. Você pode ativar ou desativar a autenticação do banco de dados do IAM usando AWS Management Console o. Siga as etapas na AWS documentação para habilitar a autenticação do banco de dados do IAM no Neptune. | Administrador da AWS, administrador de nuvem |
Verifique as conexões. | Nesta etapa, você interage com o
| Administrador da AWS, administrador de nuvem |
Solução de problemas
Problema | Solução |
---|---|
Não consigo acessar o banco de dados Neptune. | Revise a política do IAM que está anexada à conta de serviço. Certifique-se de que ele permita as ações necessárias (por exemplo, |
Recursos relacionados
Conceda às cargas de trabalho do Kubernetes acesso ao AWS uso de contas de serviço do Kubernetes (documentação do Amazon EKS)
Funções do IAM para contas de serviço (documentação do Amazon EKS)
Criação de um novo cluster de banco de dados Neptune (documentação do Amazon Neptune)