Opciones de red de tareas de Amazon ECS para Fargate
De forma predeterminada, a todas las tareas de Amazon ECS alojadas en Fargate se les proporciona una interfaz de red elástica (ENI) con una dirección IP privada principal. Cuando se utiliza una subred pública, es posible asignar opcionalmente una dirección IP pública a la ENI de la tarea. Si la VPC está configurada para el modo de pila doble y utiliza una subred con un bloque de CIDR IPv6, la ENI de la tarea también recibe una dirección IPv6. Una tarea solo puede tener una ENI asociada a ella por vez. Los contenedores que pertenecen a la misma tarea también pueden comunicarse a través de la interfaz localhost. Para obtener más información acerca de las VPC y subredes, consulte Funcionamiento de Amazon VPC en la Guía del usuario de Amazon VPC.
Para que una tarea alojada en Fargate extraiga una imagen de contenedor, la tarea debe tener una ruta a Internet. A continuación, se describe cómo puede comprobar que su tarea tiene una ruta a Internet.
-
Cuando se utiliza una subred pública, se puede asignar una dirección IP pública a la ENI de la tarea.
-
Cuando se utiliza una subred privada, la subred puede tener una gateway NAT conectada.
-
Cuando se utilizan imágenes de contenedor alojadas en Amazon ECR, se puede configurar Amazon ECR para que utilice un punto de conexión de VPC de interfaz y la extracción de imágenes se realiza en la dirección IPv4 privada de la tarea. Para obtener más información, consulte Puntos de conexión de VCP de la interfaz de Amazon ECR (AWS PrivateLink) en la Guía del usuario de Amazon Elastic Container Registry.
Dado que cada tarea obtiene su propia ENI, puede utilizar características de integración en red, como los registros de flujo de VPC, para monitorear el tráfico entrante y saliente de las tareas. Para obtener más información, consulte Registros de flujo de VPC en la Guía del usuario de Amazon VPC.
También puede aprovechar AWS PrivateLink. Puede configurar un punto de conexión de interfaz de VPC para poder acceder a las API de Amazon ECS a través de direcciones IP privadas. AWS PrivateLink restringe todo el tráfico de red entre su VPC y Amazon ECS a la red de Amazon. No necesita una gateway de Internet, un dispositivo NAT ni una gateway privada virtual. Para obtener más información, consulte Puntos de enlace de la VPC de interfaz de Amazon ECS (AWS PrivateLink).
Para ver ejemplos de cómo utilizar el recurso NetworkConfiguration con CloudFormation, consulte Plantillas de CloudFormation de ejemplo para Amazon ECS.
Las ENI que se crean están completamente administradas por AWS Fargate. Además, existe una política de IAM asociada que se utiliza para conceder permisos a Fargate. En el caso de las tareas que utilizan la versión 1.4.0 de la plataforma de Fargate o una posterior, la tarea recibe una única ENI (que se conoce como la ENI de la tarea) y todo el tráfico de red fluye a través de esa ENI dentro de la VPC. Este tráfico se registra en los registros de flujo de la VPC. En el caso de las tareas que utilizan la versión 1.3.0 de la plataforma de Fargate o una anterior, además de la ENI de la tarea, la tarea también recibe otra ENI distinta de propiedad de Fargate que se utiliza para cierto tráfico de red que no puede verse en los registros de flujo de la VPC. En la tabla que se muestra a continuación, se describe el comportamiento del tráfico de red y la política de IAM requerida para cada versión de la plataforma.
| Acción | Flujo de tráfico con la versión 1.3.0 y anterior de la plataforma Linux |
Flujo de tráfico con la versión de la plataforma Linux 1.4.0 |
Flujo de tráfico con la versión de la plataforma Windows 1.0.0 |
Permiso de IAM |
|---|---|---|---|---|
| Recuperación de credenciales de inicio de sesión de Amazon ECR | ENI de propiedad de Fargate | ENI de la tarea | ENI de la tarea | Rol de IAM de ejecución de tareas |
| Extracción de imágenes | ENI de la tarea | ENI de la tarea | ENI de la tarea | Rol de IAM de ejecución de tareas |
| Enviar registros a través de un controlador de registro | ENI de la tarea | ENI de la tarea | ENI de la tarea | Rol de IAM de ejecución de tareas |
| Envío de registros a través de FireLens para Amazon ECS | ENI de la tarea | ENI de la tarea | ENI de la tarea | Rol de IAM para la tarea |
| Recuperación de secretos de Secrets Manager o Systems Manager | ENI de propiedad de Fargate | ENI de la tarea | ENI de la tarea | Rol de IAM de ejecución de tareas |
| Tráfico del sistema de archivos de Amazon EFS | No disponible | ENI de la tarea | ENI de la tarea | Rol de IAM para la tarea |
| Tráfico de la aplicación | ENI de la tarea | ENI de la tarea | ENI de la tarea | Rol de IAM para la tarea |
Consideraciones
Tenga en cuenta lo siguiente al utilizar la integración en red de las tareas.
-
El rol vinculado al servicio de Amazon ECS se requiere para proporcionar a Amazon ECS los permisos para realizar llamadas a otros servicios de AWS de en su nombre. Este rol se crea al crear un clúster, o bien al crear o actualizar un servicio en la Consola de administración de AWS. Para obtener más información, consulte Uso de roles vinculados al servicio para Amazon ECS. También puede crear el rol vinculado a un servicio con el siguiente comando de la AWS CLI:
aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com -
Amazon ECS rellena el nombre de host de la tarea con un nombre de host DNS que proporciona Amazon cuando las opciones
enableDnsHostnamesyenableDnsSupportestán habilitadas en la VPC. Si estas opciones no están habilitadas, el nombre de host DNS de la tarea se establece en un nombre de host aleatorio. Para obtener más información acerca de la configuración de DNS de una VPC, consulte Utilización de DNS con su VPC en la Guía del usuario de Amazon VPC. -
Solo se pueden especificar hasta 16 subredes y 5 grupos de seguridad para
awsVpcConfiguration. Para obtener más información, consulte AwsVpcConfiguration en la Referencia de la API de Amazon Elastic Container Service. -
No es posible separar manualmente ni modificar las ENI que Fargate crea y asocia. De este modo, se evita la eliminación accidental de una ENI asociada a una tarea en ejecución. Para liberar las ENI de una tarea, detenga la tarea.
-
Si se actualiza una subred de la VPC para cambiar el conjunto de opciones DHCP que utiliza, no es posible aplicar estos cambios también a las tareas existentes que usan la VPC. Inicie tareas nuevas, que recibirán la nueva configuración para migrar sin problemas mientras prueba el nuevo cambio y, a continuación, detenga las anteriores, si no es necesario realizar ninguna reversión.
-
Lo siguiente se aplica a las tareas que se ejecutan en la versión
1.4.0o posterior de la plataforma Fargate para Linux o1.0.0para Windows. Las tareas que se ejecuten en subredes de doble pila se les asignará una dirección IPv4 e IPv6. Las tareas que se pongan en marcha en subredes de solo IPv6 reciben una dirección IPv6. -
En el caso de las tareas que utilizan la versión
1.4.0o posterior de Linux o1.0.0de Windows de la plataforma, las ENI de la tarea admiten tramas gigantes. Las interfaces de red se configuran con una unidad de transmisión máxima (MTU), que es el tamaño de la carga útil más grande que cabe en una sola trama. Cuanto mayor sea la MTU, mayor será la carga de la aplicación que cabe en una sola trama, lo que reduce la sobrecarga por trama y aumenta la eficiencia. Esta compatibilidad con las tramas gigantes reduce la sobrecarga cuando la ruta de red entre la tarea y el destino admite el uso de estas tramas. -
Los servicios con tareas que utilizan Fargate solo admiten el equilibrador de carga de aplicación y el equilibrador de carga de red. No se admiten los equilibradores de carga clásicos. Cuando crea grupos de destino, debe elegir
ipcomo tipo de destino, noinstance. Para obtener más información, consulte Uso del equilibrador de carga para distribuir el tráfico de servicio de Amazon ECS.
Utilización de una VPC en modo de pila doble
Cuando se utiliza una VPC en modo de pila doble, las tareas se pueden comunicar mediante IPv4, IPv6 o ambos. Las direcciones IPv4 e IPv6 son independientes entre sí. Por lo tanto, debe configurar el enrutamiento y la seguridad de su VPC de forma individual para IPv4 e IPv6. Para obtener más información acerca de la configuración de la VPC para el modo de pila doble, consulte Migración a IPv6 en la Guía del usuario de Amazon VPC.
Si se cumplen las siguientes condiciones, a las tareas de Amazon ECS alojadas en Fargate se les asigna una dirección IPv6:
-
La configuración de la cuenta
dualStackIPv6de Amazon ECS está activada (enabled) para la entidad principal de IAM que lanza las tareas en la región en la que las va a lanzar. Esta configuración solo se puede modificar con la API o AWS CLI. Tiene la opción de activar esta configuración para una entidad principal de IAM específica de su cuenta o para toda su cuenta mediante la configuración predeterminada de su cuenta. Para obtener más información, consulte Acceso a las características de Amazon ECS con la configuración de la cuenta. -
La VPC y la subred están habilitadas para IPv6. Para obtener más información acerca de cómo configurar la VPC para el modo de pila doble, consulte Migración a IPv6 en la Guía del usuario de Amazon VPC.
-
La subred está habilitada para la asignación automática de direcciones IPv6. Para obtener más información sobre cómo configurar la subred, consulte Modificar el atributo de direccionamiento IPv6 de la subred en la Guía del usuario de Amazon VPC.
-
La tarea o servicio utiliza la versión
1.4.0o posterior para Linux de la plataforma de Fargate.
Las tareas de Amazon ECS en Fargate que se ponen en marcha en una VPC en modo de doble pila necesitan enrutamiento IPv4 (0.0.0.0/0) a una puerta de enlace de Internet o una puerta de enlace de NAT. Para obtener más información, consulte Puertas de enlace de Internet en la Guía del usuario de Amazon VPC.
Uso de VPC en modo de solo IPv6
En una configuración de solo IPv6, las tareas de Amazon ECS se comunican exclusivamente a través de IPv6. Para configurar VPC y subredes para una configuración de solo IPv6, debe agregar un bloque de CIDR IPv6 a la VPC y crear subredes que incluyan solo un bloque de CIDR IPv6. Para obtener más información, consulte Adición de la compatibilidad de IPv6 con su VPC y Crear una subred en la Guía del usuario de Amazon VPC. También debe actualizar las tablas de enrutamiento con destinos de IPv6 y configurar los grupos de seguridad con reglas de IPv6. Para obtener más información, consulte Configurar tablas de enrutamiento y Configuración de reglas de grupos de seguridad en la Guía del usuario de Amazon VPC.
Tenga en cuenta las siguientes consideraciones:
-
Puede actualizar un servicio de Amazon ECS solo para IPv4 o de doble pila a una configuración de solo IPv6. Para ello, actualice el servicio directamente para utilizar subredes de solo para IPv6 o cree un servicio paralelo solo para IPv6 y mediante las implementaciones azul-verde de Amazon ECS para transferir el tráfico al nuevo servicio. Para obtener más información acerca de las implementaciones azul-verde de Amazon ECS, consulte Implementaciones “blue/green” de Amazon ECS.
-
Un servicio de Amazon ECS de solo IPv6 debe utiliza equilibradores de carga de doble pila con grupos de destino de IPv6. Si va a migrar un servicio de Amazon ECS existente que esté detrás de un equilibrador de carga de aplicación o un equilibrador de carga de red, puede crear un nuevo equilibrador de carga de doble pila y transferir el tráfico del anterior, o bien actualizar el tipo de dirección IP del equilibrador de carga existente.
Para obtener más información acerca de los equilibradores de carga de red, consulte Create a Network Load Balancer y Update the IP address types for your Network Load Balancer en la Guía del usuario de Equilibrador de carga de red. Para obtener más información acerca de los equilibradores de carga de aplicación, consulte Create an Application Load Balancer y Update the IP address types for your Application Load Balancer en la Guía del usuario de Equilibrador de carga de aplicación.
-
No se admite la configuración solo para IPv6 en Windows.
-
Para que las tareas de Amazon ECS en una configuración de solo IPv6 se comuniquen con puntos de conexión de solo IPv4, puede configurar DNS64 y NAT64 para traducir direcciones de red de IPv6 a IPv4. Para obtener más información, consulte DNS64 y NAT64 en la Guía del usuario de Amazon VPC.
-
La configuración de solo IPv6 se admite en la versión de la plataforma de Fargate
1.4.0o posterior. -
Las cargas de trabajo de Amazon ECS en una configuración de solo IPv6 deben utilizar puntos de conexión de URI de imagen de doble pila de Amazon ECR al extraer imágenes de Amazon ECR. Para obtener más información, consulte Getting started with making requests over IPv6 en la Guía del usuario de Amazon Elastic Container Registry
nota
Amazon ECR no admite puntos de conexión de VPC con interfaz de doble pila que puedan utilizar las tareas en una configuración de solo IPv6. Para obtener más información, consulte Getting started with making requests over IPv6 en la Guía del usuario de Amazon Elastic Container Registry
-
Amazon ECS Exec no es compatible en una configuración de solo IPv6.
-
Amazon CloudWatch no admite un punto de conexión FIPS de doble pila que se pueda utilizar para supervisar las tareas de Amazon ECS en una configuración de solo IPv6 que cumpla con la norma FIPS-140. Para obtener más información acerca de FIPS-140, consulte AWS Fargate Estándar de procesamiento de la información federal (FIPS, Federal Information Processing Standard 140).
Regiones de AWS que admiten el modo de solo IPv6 para Amazon ECS
Puede poner en marcha tareas en una configuración de solo IPv6 en Regiones de AWS siguientes en las que está disponible Amazon ECS:
Este de EE. UU. (Ohio)
Este de EE. UU. (Norte de Virginia)
Oeste de EE. UU. (Norte de California)
Oeste de EE. UU. (Oregón)
África (Ciudad del Cabo)
Asia-Pacífico (Hong Kong)
Asia-Pacífico (Hyderabad)
Asia-Pacífico (Yakarta)
Asia-Pacífico (Melbourne)
Asia-Pacífico (Mumbai)
Asia-Pacífico (Osaka)
Asia-Pacífico (Seúl)
Asia-Pacífico (Singapur)
Asia-Pacífico (Sídney)
Asia-Pacífico (Tokio)
Canadá (centro)
Oeste de Canadá (Calgary)
China (Pekín)
China (Ningxia)
Europa (Fráncfort)
Europa (Londres)
Europa (Milán)
Europa (París)
Europa (España)
Israel (Tel Aviv)
Medio Oriente (Baréin)
Medio Oriente (EAU)
América del Sur (São Paulo)
AWS GovCloud (Este de EE. UU.)
AWS GovCloud (Oeste de EE. UU.)