Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Acceda a una base de datos de Amazon Neptune desde un contenedor Amazon EKS
Creado por Ramakrishnan Palaninathan (AWS)
Resumen
Este patrón establece una conexión entre Amazon Neptune, que es una base de datos de gráficos totalmente gestionada, y Amazon Elastic Kubernetes Service (Amazon EKS), un servicio de organización de contenedores, para acceder a una base de datos de Neptune. Los clústeres de base de datos de Neptune están confinados dentro de una nube privada virtual (VPC) activada. AWS Por este motivo, el acceso a Neptune requiere una configuración cuidadosa de la VPC para permitir la conectividad.
A diferencia de Amazon Relational Database Service (Amazon RDS) para PostgreSQL, Neptune no depende de las credenciales de acceso a bases de datos habituales. En su lugar, utiliza funciones AWS Identity and Access Management (IAM) para la autenticación. Por lo tanto, conectarse a Neptune desde Amazon EKS implica configurar un rol de IAM con los permisos necesarios para acceder a Neptune.
Además, solo se puede acceder a los puntos finales de Neptune dentro de la VPC en la que reside el clúster. Esto significa que debe configurar los ajustes de red para facilitar la comunicación entre Amazon EKS y Neptune. Según sus requisitos específicos y sus preferencias de red, existen varios enfoques para configurar la VPC a fin de permitir una conectividad perfecta entre Neptune y Amazon EKS. Cada método ofrece ventajas y consideraciones distintas, que proporcionan flexibilidad a la hora de diseñar la arquitectura de la base de datos para adaptarla a las necesidades de la aplicación.
Requisitos previos y limitaciones
Requisitos previos
Instale la última versión de kubectl (consulte las instrucciones).
Para comprobar tu versión, ejecuta: kubectl version --short
Instale la última versión de eksctl (consulte las instrucciones
). Para comprobar su versión, ejecute: eksctl info
Instale la última versión de la AWS Command Line Interface (AWS CLI) versión 2 (consulte las instrucciones). Para comprobar tu versión, ejecuta:
aws --version
Cree un clúster de base de datos de Neptune (consulte las instrucciones). Asegúrese de establecer las comunicaciones entre la VPC del clúster y Amazon EKS mediante el emparejamiento de VPC u otro método. AWS Transit Gateway Asegúrese también de que el estado del clúster sea «disponible» y de que tenga una regla de entrada en el puerto 8182 para el grupo de seguridad.
Versiones de producto
Arquitectura
El siguiente diagrama muestra la conexión entre los pods de Kubernetes de un clúster de Amazon EKS y Neptuno para proporcionar acceso a una base de datos de Neptune.

Automatizar y escalar
Puede usar el escalador automático Amazon EKS Horizontal Pod para escalar esta solución.
Herramientas
Servicios
Amazon Elastic Kubernetes Service (Amazon EKS) le ayuda a ejecutar AWS Kubernetes sin necesidad de instalar o mantener su propio plano de control o nodos de Kubernetes.
AWS Identity and Access Management (IAM) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.
Amazon Neptune es un servicio de base de datos de gráficos que le ayuda a crear y ejecutar aplicaciones que funcionan con conjuntos de datos altamente conectados.
Prácticas recomendadas
Para obtener información sobre las prácticas recomendadas, consulte Identity and Access Management
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Verifique el contexto del clúster. | Antes de interactuar con su clúster de Amazon EKS mediante Helm u otras herramientas de línea de comandos, debe definir las variables de entorno que encapsulen los detalles del clúster. Estas variables se utilizan en los comandos posteriores para garantizar que se dirijan al clúster y los recursos correctos. En primer lugar, confirme que está operando en el contexto de clúster correcto. Esto garantiza que cualquier comando posterior se envíe al clúster de Kubernetes deseado. Para verificar el contexto actual, ejecuta el siguiente comando.
| Administrador de la nube, administrador de AWS |
Defina la | Defina la variable de
| Administrador de la nube, administrador de AWS |
Valide la salida. | Para validar que las variables se han establecido correctamente, ejecute el siguiente comando.
Compruebe que el resultado de este comando coincide con la entrada que especificó en el paso anterior. | Administrador de la nube, administrador de AWS |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree una cuenta de servicio de . | Utiliza las funciones de IAM para las cuentas de servicio para asignar sus cuentas de servicio de Kubernetes a las funciones de IAM, a fin de permitir una administración de permisos detallada para las aplicaciones que se ejecutan en Amazon EKS. Puede usar eksctl importanteDebe tener un punto final OIDC asociado a su clúster antes de ejecutar estos comandos. Cree una cuenta de servicio que desee asociar a una política AWS administrada denominada.
donde Al finalizar, este comando muestra la siguiente respuesta:
| Administrador de la nube, administrador de AWS |
Compruebe que la cuenta esté configurada correctamente. | Asegúrese de que la cuenta de
La salida debe tener el siguiente aspecto:
| Administrador de la nube, administrador de AWS |
Comprueba la conectividad. | Implemente un módulo de muestra llamado
| Administrador de la nube, administrador de AWS |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Habilite la autenticación de la base de datos de IAM. | De forma predeterminada, la autenticación de bases de datos de IAM está deshabilitada al crear un clúster de Neptune DB. Puede activar o desactivar la autenticación de bases de datos de IAM mediante. AWS Management Console Siga los pasos de la AWS documentación para habilitar la autenticación de bases de datos de IAM en Neptune. | Administrador de la nube, administrador de AWS |
Compruebe las conexiones. | En este paso, interactúa con el
| Administrador de la nube, administrador de AWS |
Solución de problemas
Problema | Solución |
---|---|
No se puede acceder a la base de datos de Neptune. | Revise la política de IAM adjunta a la cuenta de servicio. Asegúrese de que permite realizar las acciones necesarias (por ejemplo |
Recursos relacionados
Otorgue a las cargas de trabajo de Kubernetes acceso al AWS uso de cuentas de servicio de Kubernetes (documentación de Amazon EKS)
Funciones de IAM para cuentas de servicio (documentación de Amazon EKS)
Creación de un nuevo clúster de base de datos de Neptune (documentación de Amazon Neptune)