Opciones de redes de tareas de Amazon ECS para el tipo de lanzamiento de 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 las subredes predeterminadas, consulte VPC y subredes 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 Logs 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 AWS PrivateLink en la Guía de prácticas recomendadas de Amazon ECS.
Para ver ejemplos de cómo utilizar el recurso NetworkConfiguration
con AWS CloudFormation, consulte Creación de recursos de Amazon ECS con pilas separadas.
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 1.4.0 de la plataforma Linux |
Flujo de tráfico con la versión 1.0.0 de la plataforma Windows |
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 AWS Management Console. 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
enableDnsHostnames
yenableDnsSupport
está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.
-
Las tareas lanzadas en subredes con bloques de CIDR IPv6 solo reciben una dirección IPv6 cuando se utiliza la versión
1.4.0
o posterior de Linux o1.0.0
de Windows de la plataforma de Fargate. -
En el caso de las tareas que utilizan la versión
1.4.0
o posterior de Linux o1.0.0
de 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 el tipo de lanzamiento de Fargate solo admiten el equilibrador de carga de aplicación y el equilibrador de carga de red. No se admite el equilibrador de carga clásico. Cuando crea grupos de destino, debe elegir
ip
como 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
dualStackIPv6
de 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.0
o posterior para Linux de la plataforma de Fargate.
Las tareas de Amazon ECS alojadas en Fargate a las que se les haya asignado una dirección IPv6 pueden acceder a Internet siempre y cuando la VPC esté configurada con una puerta de enlace de Internet o una puerta de enlace de Internet de solo salida. Las puertas de enlace NAT no son necesarias. Para obtener más información, consulte Gateways de Internet y Gateways de Internet de solo salida en la Guía del usuario de Amazon VPC.