

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 PrivateLink y un Network Load Balancer
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer"></a>

*Kirankumar Chandrashekar, Amazon Web Services*

## Resumen
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer-summary"></a>

Este patrón describe cómo alojar de forma privada una aplicación contenedora de Docker en Amazon Elastic Container Service (Amazon ECS) 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). Amazon Relational Database Service (Amazon RDS) aloja la base de datos relacional para la aplicación que se ejecuta en Amazon ECS con alta disponibilidad (HA). Se usa Amazon Elastic File System (Amazon EFS) si la aplicación necesita almacenamiento persistente.

El servicio Amazon ECS 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 Luego, este servicio de punto final de VPC se puede compartir con otros VPCs mediante sus puntos de enlace de VPC.

También puede usar [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) en lugar de un grupo de Amazon EC2 Auto Scaling. Para obtener más información, consulte [Acceda a aplicaciones de contenedores de forma privada en Amazon ECS mediante AWS Fargate PrivateLink, AWS y un Network](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html?did=pg_card) Load Balancer.

## Requisitos previos y limitaciones
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ [Interfaz de la línea de comandos de AWS (AWS CLI) versión 2](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), instalada y configurada en Linux, macOS o Windows
+ [Docker](https://www.docker.com/), instalado y configurado en Linux, macOS o Windows
+ Una aplicación que se ejecuta en Docker

## Arquitectura
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer-architecture"></a>

![\[Uso de AWS PrivateLink para acceder a una aplicación contenedora en Amazon ECS mediante un Network Load Balancer.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/a316bf46-24db-4514-957d-abc60f8f6962/images/573951ed-74bb-4023-9d9c-43e77e4f8eda.png)


 

**Pila de tecnología**
+ Amazon CloudWatch
+ Amazon Elastic Compute Cloud (Amazon EC2)
+ Amazon EC2 Auto Scaling
+ Amazon Elastic Container Registry (Amazon ECR)
+ Amazon ECS
+ Amazon RDS
+ Amazon Simple Storage Service (Amazon S3)
+ AWS Lambda
+ AWS PrivateLink
+ AWS Secrets Manager
+ Equilibrador de carga de aplicación
+ Equilibrador de carga de red
+ VPC

*Automatización y escala*
+ Puede usar [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) para crear este patrón mediante [Infrastructure as Code](https://docs.aws.amazon.com/whitepapers/latest/introduction-devops-aws/infrastructure-as-code.html).

## Tools (Herramientas)
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer-tools"></a>
+ [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html): Amazon Elastic Compute Cloud (Amazon EC2) proporciona capacidad informática escalable en la nube de AWS.
+ [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html): Amazon EC2 Auto Scaling le ayuda a garantizar que dispone del número correcto de EC2 instancias de Amazon disponibles para gestionar la carga de su aplicación.
+ [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html): Amazon Elastic Container Service (Amazon ECS) es un servicio de administración de contenedores altamente escalable y rápido que facilita la tarea de ejecutar, detener y administrar contenedores en un clúster.
+ [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html): Amazon Elastic Container Registry (Amazon ECR) es un servicio de registro de imágenes de contenedor de AWS administrado que es seguro, escalable y fiable.
+ [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html): Amazon Elastic File System (Amazon EFS) ofrece un sistema de archivos NFS sencillo, escalable, elástico y completamente administrado que se utiliza con servicios de nube de AWS y recursos en las instalaciones.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html): AWS Lambda es un servicio informático para ejecutar código sin aprovisionar ni administrar servidores.
+ [Amazon RDS](https://docs.aws.amazon.com/rds/): Amazon Relational Database Service (Amazon RDS) es un servicio web que facilita la configuración, el funcionamiento y el escalado de una base de datos relacional en la nube de AWS.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html): 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.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html): Secrets Manager permite reemplazar las credenciales codificadas en el código, incluidas las contraseñas, proponiendo una llamada a la API de Secrets Manager para recuperar el secreto mediante programación.
+ [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html): Amazon Virtual Private Cloud (Amazon VPC) permite lanzar recursos de AWS en una red virtual previamente definida.
+ [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html): Elastic Load Balancing distribuye el tráfico entrante de aplicaciones o redes entre varios destinos, como EC2 instancias de Amazon, contenedores y direcciones IP, en varias zonas de disponibilidad.
+ [Docker](https://www.docker.com/): Docker ayuda a los desarrolladores a empaquetar, enviar y ejecutar cualquier aplicación como un contenedor ligero, portátil y autosuficiente.

## Epics
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer-epics"></a>

### Creación de componentes de redes
<a name="create-networking-components"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una VPC. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html) | Administrador de la nube | 

### Crear el equilibrador de carga
<a name="create-the-load-balancers"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear un equilibrador de carga de red.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html) | Administrador de la nube | 
| Cree un Equilibrador de carga de aplicación. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html) | Administrador de la nube | 

### Crear un sistema de archivos de Amazon EFS
<a name="create-an-amazon-efs-file-system"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear un sistema de archivos de Amazon EFS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html) | Administrador de la nube | 
| Defina el montaje de los destinos para las subredes. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html) | Administrador de la nube | 
| Compruebe que las subredes estén montadas como destinos.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html) | Administrador de la nube | 

### Creación de un bucket de S3
<a name="create-an-s3-bucket"></a>


| 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 | 

### Crear un secreto en Secrets Manager
<a name="create-a-secrets-manager-secret"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Para cifrar el secreto de Secrets Manager, cree una clave de AWS KMS. | Abra la consola de AWS Key Management Service (AWS KMS) y cree una clave KMS. | Administrador de la nube | 
|  Cree un secreto de Secrets Manager para almacenar la contraseña de Amazon RDS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html) | Administrador de la nube  | 

### Crear una instancia de Amazon RDS
<a name="create-an-amazon-rds-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Creación de un grupo de subredes de base de datos.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html) | Administrador de la nube | 
| Cree una instancia de Amazon RDS. | Cree y configure una instancia de Amazon RDS dentro de las subredes privadas. Asegúrese de que **Multi-AZ** esté activado para una alta disponibilidad. | Administrador de la nube | 
| Cargue los datos en la instancia de Amazon RDS.  | Cargue los datos relacionales que necesita la aplicación en la instancia de Amazon RDS. 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. | Administrador de la nube, administrador de bases de datos | 

### Crear los componentes de Amazon ECS
<a name="create-the-amazon-ecs-components"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un clúster de ECS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html) | 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 | 
| Crear repositorios de Amazon ECR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nube, ingeniero DevOps  | 
| Autenticar su cliente Docker para el repositorio de Amazon ECR.  | Para autenticar su cliente de Docker para el repositorio de Amazon ECR, ejecute el comando `aws ecr get-login-password` en la CLI de AWS. | Administrador de la nube | 
| Pase las imágenes de Docker al repositorio de Amazon ECR.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html) | Administrador de la nube | 
| Cree una definición de tarea de Amazon ECS.  | Para ejecutar contenedores Docker en Amazon ECS, se requiere una definición de tareas. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html)Para obtener ayuda sobre la configuración de la definición de la tarea, consulte “Creación de una definición de tarea” en la sección *Recursos relacionados*. Asegúrese de proporcionar las imágenes de Docker que envió a Amazon ECR. | Administrador de la nube | 
| Creación de un servicio de Amazon ECS.  | Cree un servicio de Amazon ECS mediante el clúster de ECS que creó anteriormente. Asegúrese de elegir Amazon EC2 como tipo de lanzamiento y de elegir la definición de tarea creada en el paso anterior, así como el grupo objetivo del Application Load Balancer. | Administrador de la nube | 

### Crear un grupo de Amazon EC2 Auto Scaling
<a name="create-an-amazon-ec2-auto-scaling-group"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una configuración de lanzamiento. | Abre la EC2 consola de Amazon y crea una configuración de lanzamiento. Asegúrese de que los datos del usuario tengan el código que permita que las EC2 instancias se unan al clúster de ECS deseado. Para ver un ejemplo del código necesario, consulte la sección *Recursos relacionados*. | Administrador de la nube | 
| Cree un grupo de Amazon EC2 Auto Scaling.  | Regrese a la EC2 consola de Amazon y, en **Auto Scaling**, elija **grupos de Auto Scaling**. Configure un grupo de Amazon EC2 Auto Scaling. Asegúrese de elegir las subredes privadas y la configuración de lanzamiento que creó anteriormente. | Administrador de la nube | 

### Configurar AWS PrivateLink
<a name="set-up-aws-privatelink"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure el PrivateLink punto de conexión de AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html)Para obtener más información, consulte la sección *Recursos relacionados*. | Administrador de la nube | 

### Crear un punto de conexión de VPC
<a name="create-a-vpc-endpoint"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un punto de conexión de VPC. | Cree un punto de enlace de VPC para el punto de PrivateLink enlace de AWS que creó anteriormente. El nombre de dominio completo (FQDN) del punto final de la VPC apuntará al FQDN del punto final 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 | 

### Crear la función de Lambda
<a name="create-the-lambda-function"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear la función de Lambda. | En la consola de AWS Lambda, 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 más información sobre este tema, consulte la entrada en el blog [Using AWS Lambda to enable static IP addresses for Application Load Balancers](https://aws.amazon.com/blogs/networking-and-content-delivery/using-aws-lambda-to-enable-static-ip-addresses-for-application-load-balancers/). | Desarrollador de aplicaciones | 

## Recursos relacionados
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer-resources"></a>

**Crear los equilibradores de carga:**
+ [Utilice un Network Load Balancer para Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/nlb.html)
+ [Crear un equilibrador de carga de red](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html)
+ [Utilice un balanceador de carga de aplicaciones para Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/alb.html)
+ [Creación de un equilibrador de carga de aplicación](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html)

**Crear un sistema de archivos de Amazon EFS:**
+ [Crear un sistema de archivos de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/creating-using-create-fs.html)
+ [Crear destinos de montaje en Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html)

**Creación de un bucket de S3:**
+ [Creación de un bucket de S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html#creating-bucket)

**Crear un secreto en Secrets Manager:**
+ [Crear claves en AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)
+ [Crear un secreto en AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)

**Crear una instancia de Amazon RDS:**
+ [Crear una instancia de base de datos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html)

**Crear los componentes de Amazon ECS:**
+ [Crear un clúster de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-ec2-cluster-console-v2.html)
+ [Crear una imagen de Docker](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-container-image.html)
+ [Crear un repositorio de Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html)
+ [Autenticar Docker con el repositorio de Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html#registry_auth)
+ [Pasar una imagen a un repositorio de Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html)
+ [Crear una definición de tarea de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html)
+ [Creación de un servicio de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service-console-v2.html)

**Cree un grupo de Amazon EC2 Auto Scaling:**
+ [Crear una configuración de lanzamiento](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-config.html)
+ [Crear un grupo de escalado automático mediante una configuración de lanzamiento](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg.html)
+ [Instancias de contenedores Bootstrap con datos de EC2 usuario de Amazon](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html)

**Configure AWS PrivateLink:**
+ [Servicios de puntos finales de VPC (AWS) PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html)

**Crear un punto de conexión de VPC:**
+ [Puntos de enlace de interfaz de VPC (AWS) PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)

**Crear la función de Lambda:**
+ [Crear una función de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html)

**Otros recursos:**
+ [Uso de direcciones IP estáticas para los equilibradores de carga de aplicación](https://aws.amazon.com/blogs/networking-and-content-delivery/using-static-ip-addresses-for-application-load-balancers/)
+ [Acceso seguro a los servicios a través de AWS PrivateLink](https://d1.awsstatic.com/whitepapers/aws-privatelink.pdf)