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 las aplicaciones de contenedores de forma privada en Amazon ECS mediante AWS Fargate y un Network Load Balancer AWS PrivateLink
Creado por Kirankumar Chandrashekar () AWS
Entorno: producción | Tecnologías: contenedores y microservicios; redes; seguridad, identidad y conformidad; aplicaciones web y móviles | Carga de trabajo: todas las demás cargas de trabajo |
AWSservicios: Amazon EC2 Container RegistryECS; Amazon; AmazonEFS; Amazon RDSVPC; Elastic Load Balancing (ELB); AWS Lambda |
Resumen
Este patrón describe cómo alojar de forma privada una aplicación contenedora de Docker en la nube de Amazon Web Services (AWS) mediante Amazon Elastic Container Service (AmazonECS) con un tipo de lanzamiento AWS Fargate, detrás de un Network Load Balancer, y cómo acceder a la aplicación mediante. AWS PrivateLink Amazon Relational Database Service (RDSAmazon) aloja la base de datos relacional de la aplicación que se ejecuta en ECS Amazon con alta disponibilidad (HA). Puede utilizar Amazon Elastic File System (AmazonEFS) si la aplicación requiere un almacenamiento persistente.
Este patrón usa un tipo de lanzamiento Fargate para el ECS servicio de Amazon que ejecuta las aplicaciones de Docker, con un Network Load Balancer en la parte delantera. Luego, se puede asociar a un punto final de nube privada virtual (VPC) para acceder a él. AWS PrivateLink Luego, este servicio de VPC punto final se puede compartir con otros VPCs mediante sus VPC puntos de enlace.
Puede usar Fargate con Amazon ECS para ejecutar contenedores sin tener que administrar servidores o clústeres de instancias de Amazon Elastic Compute Cloud EC2 (Amazon). También puede usar un grupo de Amazon EC2 Auto Scaling en lugar de Fargate. Para obtener más información, consulta Acceder a aplicaciones contenedoras de forma privada en Amazon ECS mediante AWS PrivateLink un Network Load Balancer.
Requisitos previos y limitaciones
Requisitos previos
Una cuenta activa AWS
AWSInterfaz de línea de comandos (AWSCLI) versión 2, instalada y configurada en Linux, macOS o Windows
Docker
, instalado y configurado en Linux, macOS o Windows Una aplicación que se ejecuta en Docker
Arquitectura
Pila de tecnología
Amazon CloudWatch
Amazon Elastic Container Registry (AmazonECR)
Amazon ECS
Amazon EFS
Amazon RDS
Amazon Simple Storage Service (Amazon S3)
AWS Fargate
AWSLambda
AWS PrivateLink
AWS Secrets Manager
Equilibrador de carga de aplicación
Equilibrador de carga de red
VPC
Automatizar y escalar
Puede usarlo AWS CloudFormationpara crear este patrón mediante la infraestructura como código.
Herramientas
Amazon ECS: Amazon Elastic Container Service (AmazonECS) es un servicio de administración de contenedores rápido y altamente escalable que facilita la ejecución, la detención y la administración de contenedores en un clúster.
Amazon ECR: Amazon Elastic Container Registry (AmazonECR) es un servicio gestionado de registro de imágenes de AWS contenedores seguro, escalable y fiable.
Amazon EFS: Amazon Elastic File System (AmazonEFS) proporciona un sistema de NFS archivos elástico simple, escalable y totalmente gestionado para su uso con servicios AWS en la nube y recursos locales.
AWSFargate: AWS Fargate es una tecnología que puedes usar con Amazon ECS para ejecutar contenedores sin tener que administrar servidores o clústeres de instancias de Amazon. EC2
AWSLambda: Lambda es un servicio informático que permite ejecutar código sin aprovisionar ni administrar servidores.
Amazon RDS: Amazon Relational Database Service (RDSAmazon) es un servicio web que facilita la configuración, el funcionamiento y el escalado de una base de datos relacional en AWS la nube.
Amazon S3: Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento para Internet. Está diseñado para facilitar a los desarrolladores recursos de computación escalables basados en Web.
AWSSecrets Manager: Secrets Manager le ayuda a reemplazar las credenciales codificadas en su código, incluidas las contraseñas, con una API llamada a Secrets Manager para recuperar el secreto mediante programación.
Amazon VPC: Amazon Virtual Private Cloud (AmazonVPC) le ayuda a lanzar AWS recursos en una red virtual que haya definido.
Elastic Load Balancing: Elastic Load Balancing (ELB) distribuye el tráfico entrante de aplicaciones o redes entre varios destinos, como EC2 instancias, contenedores y direcciones IP, en varias zonas de disponibilidad.
Docker:
Docker facilita a los desarrolladores empaquetar, enviar y ejecutar cualquier aplicación como un contenedor ligero, portátil y autosuficiente.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Crea unVPC. |
| Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Crear un equilibrador de carga de red. |
Para obtener ayuda con esta y otras explicaciones, consulte la sección Recursos relacionados. | Administrador de la nube |
Cree un Equilibrador de carga de aplicación. |
| Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Crea un sistema de EFS archivos de Amazon. |
| Administrador de la nube |
Defina el montaje de los destinos para las subredes. |
| Administrador de la nube |
Compruebe que las subredes estén montadas como destinos. |
| Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un bucket de S3. | Si es necesario, abra la consola de Amazon S3 y cree un bucket de S3 para almacenar los activos estáticos de la aplicación. | Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Crea una AWS KMS clave para cifrar el secreto de Secrets Manager. | Abra la consola del Servicio de administración de AWS claves (AWSKMS) y cree una KMS clave. | Administrador de la nube |
Crea un secreto de Secrets Manager para almacenar la RDS contraseña de Amazon. |
| Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Creación de un grupo de subredes de base de datos. |
| Administrador de la nube |
Crea una RDS instancia de Amazon. | Crea y configura una RDS instancia de Amazon dentro de las subredes privadas. Asegúrese de que Multi-AZ esté activado, para una alta disponibilidad (HA). | Administrador de la nube |
Carga los datos en la RDS instancia de Amazon. | Carga los datos relacionales que necesita tu aplicación en tu RDS instancia de Amazon. Este proceso variará según las necesidades de la aplicación y la forma en que se defina y diseñe el esquema de la base de datos. | DBA |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Crea un ECS clúster. |
| Administrador de la nube |
Cree las imágenes de Docker. | Cree las imágenes de Docker según las instrucciones de la sección Recursos relacionados. | Administrador de la nube |
Crea un ECR repositorio de Amazon. |
| Administrador de la nube, DevOps ingeniero |
Envía las imágenes de Docker al ECR repositorio de Amazon. |
| Administrador de la nube |
Crea una definición de ECS tarea de Amazon. | Se necesita una definición de tarea para ejecutar contenedores Docker en AmazonECS.
Para obtener ayuda sobre la configuración de la definición de la tarea, consulte la sección «Crear una definición de tarea» en los Recursos relacionados. Importante: asegúrate de proporcionar las imágenes de Docker que enviaste a AmazonECR. | Administrador de la nube |
Cree un ECS servicio y elija Fargate como tipo de lanzamiento. |
| Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Configure el AWS PrivateLink punto final. |
Para obtener más información, consulte la sección Recursos relacionados. | Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un VPC punto final. | Cree un VPC punto final para el AWS PrivateLink punto final que creó anteriormente. El nombre de dominio completo del punto VPC final (FQDN) apuntará al AWS PrivateLink punto finalFQDN. Esto crea una interfaz de red elástica para el servicio de VPC punto final a la que pueden acceder los puntos finales del Servicio de nombres de dominio. | Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Crear la función de Lambda. | Abra la consola de Lambda y cree una función de Lambda para actualizar las direcciones IP del equilibrador de carga de aplicación como destinos del equilibrador de carga de red. Para obtener más información, consulte la entrada del blog «Using static IP addresses for Application Load Balancers (Uso de direcciones IP estáticas para los equilibradores de carga de aplicación)» en la sección Recursos relacionados. | Desarrollador de aplicaciones |
Recursos relacionados
Crear los equilibradores de carga:
Crea un sistema de EFS archivos de Amazon:
Cree un bucket de S3:
Crear un secreto en Secrets Manager:
Crea una RDS instancia de Amazon:
Crea los ECS componentes de Amazon:
Configurar AWS PrivateLink:
Cree un VPC punto final:
Crear la función de Lambda:
Otros recursos: