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 aplicaciones de contenedores de forma privada en Amazon EKS mediante AWS PrivateLink y un Network Load Balancer
Creado por Kirankumar Chandrashekar (AWS)
Entorno: producción | Tecnologías: contenedores y microservicios; modernización DevOps; seguridad, identidad y cumplimiento | Carga de trabajo: todas las demás cargas de trabajo |
Servicios de AWS: Amazon EKS; Amazon VPC |
Resumen
Este patrón describe cómo alojar de forma privada una aplicación contenedora de Docker en Amazon Elastic Kubernetes Service (Amazon EKS) detrás de un Network Load Balancer y cómo acceder a la aplicación mediante AWS. PrivateLink A continuación, puede utilizar una red privada para acceder de forma segura a los servicios de la nube de Amazon Web Services (AWS).
El clúster de Amazon EKS que ejecuta las aplicaciones de Docker, con un Network Load Balancer en la interfaz, se puede asociar a un punto final de nube privada virtual (VPC) para acceder a él a través de AWS. PrivateLink A continuación, este servicio de punto de conexión de VPC se puede compartir con otras VPC mediante sus puntos de conexión de VPC.
La configuración descrita por este patrón es una forma segura de compartir el acceso a las aplicaciones entre las VPC y las cuentas de AWS. No requiere configuraciones de enrutamiento ni conectividad especiales, ya que la conexión entre las cuentas del consumidor y del proveedor se encuentra en la red troncal global de AWS y no atraviesa la Internet pública.
Requisitos previos y limitaciones
Requisitos previos
Docker
, instalado y configurado en Linux, macOS o Windows. Una aplicación que se ejecuta en Docker.
Una cuenta de AWS activa.
Interfaz de la línea de comandos de AWS (AWS CLI) versión 2, instalada y configurada en Linux, macOS o Windows.
Un clúster de Amazon EKS existente con subredes privadas etiquetadas y configurado para alojar aplicaciones. Para obtener más información, consulte Etiquetado de subredes en la documentación de Amazon EKS.
Kubectl, instalado y configurado para acceder a los recursos de su clúster de Amazon EKS. Para más información, consulte Instalar kubectl en la documentación de Amazon EKS.
Arquitectura
![Utilice PrivateLink un Network Load Balancer para acceder a una aplicación en un contenedor Amazon EKS.](images/pattern-img/ce977924-012c-4fb6-8e51-94d6e5c829a6/images/378456a3-f4d1-4a57-bb36-879c240cabfb.png)
Pila de tecnología
Amazon EKS
AWS PrivateLink
Equilibrador de carga de red
Automatizar y escalar
Los manifiestos de Kubernetes se pueden rastrear y administrar en un repositorio basado en Git (por ejemplo, en AWS CodeCommit), y se pueden implementar mediante la integración continua y la entrega continua (CI/CD) en AWS. CodePipeline
Puede usar AWS CloudFormation para crear este patrón mediante el uso de infraestructura como código (IaC).
Herramientas
AWS CLI: la interfaz de la línea de comandos de AWS (AWS CLI) es una herramienta de código abierto que permite interactuar con los servicios de AWS mediante comandos en el intérprete de comandos de línea de comandos.
Equilibrador de carga elástico: el equilibrador de carga elástico distribuye el tráfico entrante de red o de la aplicación entre varios destinos, por ejemplo, instancias de Amazon Elastic Compute Cloud (Amazon EC2), contenedores y direcciones IP en una o más zonas de disponibilidad.
Amazon EKS: Amazon Elastic Kubernetes Service (Amazon EKS) es un servicio administrado que puede utilizar para ejecutar Kubernetes en AWS sin necesidad de instalar, operar ni mantener su propio plano de control o nodos de Kubernetes.
Amazon VPC: Amazon Virtual Private Cloud (Amazon VPC) permite lanzar recursos de AWS en una red virtual previamente definida.
Kubectl
– Kubectl es una utilidad de línea de comandos para ejecutar comandos en clústeres de Kubernetes.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree el archivo de manifiesto de implementación de Kubernetes. | Cree un archivo de manifiesto de implementación modificando el siguiente archivo de muestra según sus necesidades.
Nota: Esta es una muestra de archivo de configuración de NGINX que se implementa mediante la imagen de Docker de NGINX. Para obtener más información, consulte Cómo usar la imagen de Docker de NGINX | DevOps ingeniero |
Implemente el archivo de manifiesto de implementación de Kubernetes. | Ejecute el siguiente comando para aplicar el archivo de manifiesto de implementación a su clúster de Amazon EKS:
| DevOps ingeniero |
Cree el archivo de manifiesto del servicio de Kubernetes. | Cree un archivo de manifiesto de servicio modificando el siguiente archivo de muestra según sus necesidades.
Importante: Asegúrese de incluir las siguiente
| DevOps ingeniero |
Implemente el archivo de manifiesto del servicio de Kubernetes. | Ejecute el siguiente comando para aplicar el archivo de manifiesto de servicio a su clúster de Amazon EKS:
| DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Registre el nombre del equilibrador de carga de red. | Ejecute el siguiente comando para recuperar el nombre del equilibrador de carga de red:
Registre el nombre del balanceador de carga de red, que es necesario para crear un PrivateLink punto de conexión de AWS. | DevOps ingeniero |
Cree un PrivateLink punto de conexión de AWS. | Inicie sesión en la consola de administración de AWS, abra la consola de Amazon VPC y, a continuación, cree un punto de conexión de AWS PrivateLink . Al asociar este punto de conexión al equilibrador de carga de red, la aplicación estará disponible de forma privada para los clientes. Para obtener más información, consulte los servicios de punto final de VPC PrivateLink (AWS) en la documentación de Amazon VPC. Importante: Si la cuenta de consumidor requiere acceso a la aplicación, el ID de cuenta de AWS de la cuenta de consumidor debe añadirse a la lista de directores permitidos para la configuración del PrivateLink punto de conexión de AWS. Para obtener más información, consulte Cómo añadir y eliminar permisos para el servicio de puntos de conexión en la documentación de Amazon VPC. | Administrador de la nube |
Cree un punto de conexión de VPC. | En la consola de Amazon VPC, elija Endpoint Services y, a continuación, elija Create Endpoint Service. Cree un punto de enlace de VPC para el punto de enlace de AWS PrivateLink . El nombre de dominio completo (FQDN) del punto de enlace de VPC apunta al FQDN del punto de enlace de AWS. PrivateLink Esto crea una interfaz de red elástica para el servicio de puntos de conexión de VPC a la que pueden acceder los puntos de conexión de DNS. | Administrador de la nube |