

# Instancias de contenedor de Amazon EC2 para Amazon ECS
<a name="create-capacity"></a>

Una instancia de contenedor de Amazon ECS es una instancia de Amazon EC2 que ejecuta el agente de contenedor de Amazon ECS y se ha registrado en un clúster. Cuando se ponen en marcha tareas con Amazon ECS mediante el proveedor de capacidad, el proveedor de capacidad externo o un proveedor de capacidad de grupo de escalado automático, las tareas se colocan en las instancias de contenedor activas. Usted es responsable de la administración y el mantenimiento de las instancias de contenedor.

Aunque puede crear su propia AMI de instancia de Amazon EC2 que cumpla con las especificaciones básicas necesarias para ejecutar las cargas de trabajo en contenedores en Amazon ECS, los ingenieros de AWS preconfiguran y prueban las AMI optimizadas para Amazon ECS en Amazon ECS. Es la forma más sencilla para empezar y para conseguir que los contenedores funcionen en AWS rápidamente.

Al crear un clúster mediante la consola, Amazon ECS crea una plantilla de lanzamiento para las instancias con la AMI más reciente asociada al sistema operativo seleccionado. 

Cuando se utiliza CloudFormation para crear un clúster, el parámetro de SSM forma parte de la plantilla de lanzamiento de Amazon EC2 para las instancias del grupo de escalado automático. Puede configurar la plantilla para que utilice un parámetro dinámico de Systems Manager a fin de determinar qué AMI optimizada de Amazon ECS debe implementar. Este parámetro garantiza que, cada vez que implemente la pila, se compruebe si hay alguna actualización disponible que deba aplicarse a las instancias de EC2. Para ver un ejemplo de cómo utilizar el parámetro de Systems Manager, consulte [Crear un clúster de Amazon ECS con la AMI de Amazon Linux 2023 optimizada para Amazon ECS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#aws-resource-ecs-cluster--examples--Create_an_cluster_with_the_Amazon_Linux_2023_ECS-Optimized-AMI) en la *Guía del usuario AWS CloudFormation*.
+ [Recuperación de metadatos de las AMI de Linux optimizadas para Amazon ECS](retrieve-ecs-optimized_AMI.md)
+ [Recuperación de metadatos de la AMI de Bottlerocket optimizada para Amazon ECS](ecs-bottlerocket-retrieve-ami.md)
+ [Recuperación de metadatos de las AMI de Windows optimizadas para Amazon ECS](retrieve-ecs-optimized_windows_AMI.md)

Puede elegir entre los tipos de instancias que sean compatibles con su aplicación. Con instancias más grandes, puede lanzar más tareas al mismo tiempo. Con instancias más pequeñas, puede escalar horizontalmente de forma más detallada para ahorrar costos. No necesita elegir un único tipo de instancia de Amazon EC2 que se adapte a todas las aplicaciones del clúster. En su lugar, puede crear varios grupos de escalado automático, donde cada grupo tenga un tipo de instancia diferente. A continuación, puede crear un proveedor de capacidad de Amazon EC2 para cada uno de estos grupos.

Utilice las siguientes directrices para determinar los tipos de familia de instancias y el tipo de instancias que debe utilizar:
+ Elimine los tipos o familias de instancias que no cumplan con los requisitos específicos de su aplicación. Por ejemplo, si tu aplicación requiere una GPU, puede excluir cualquier tipo de instancia que no tenga una GPU.
+ Tenga en cuenta los requisitos, como el almacenamiento y el rendimiento de la red.
+ Tenga en cuenta la CPU y la memoria. Como regla general, la CPU y la memoria deben ser lo suficientemente grandes como para contener, al menos, una réplica de la tarea que quiere ejecutar. 

## Spot Instances
<a name="container-instance-spot"></a>

La capacidad de spot puede proporcionar importantes ahorros de costos en comparación con las instancias bajo demanda. La capacidad de spot es un exceso de capacidad cuyo precio es considerablemente inferior al de la capacidad reservada o bajo demanda. La capacidad de spot es adecuada para cargas de trabajo de procesamiento por lotes y machine learning, así como para entornos de desarrollo y ensayo. En términos más generales, es adecuada para cualquier carga de trabajo que tolere tiempos de inactividad temporales. 

Tenga en cuenta las siguientes consecuencias, ya que es posible que la capacidad de Spot no esté disponible todo el tiempo.
+ Durante los períodos de demanda extremadamente alta, es posible que la capacidad de spot no esté disponible. Esto puede provocar que se retrase el lanzamiento de las instancias de spot de Amazon EC2. En estos casos, los servicios de Amazon ECS vuelven a intentar lanzar las tareas y los grupos de Amazon EC2 Auto Scaling también vuelven a intentar lanzar instancias, hasta que se disponga de la capacidad necesaria. Amazon EC2 no sustituye la capacidad de spot por la capacidad bajo demanda. 
+ Cuando la demanda general de capacidad aumenta, es posible que las instancias y tareas de spot se terminen con solo dos minutos de aviso. Tras enviar la advertencia, las tareas deben iniciar un cierre ordenado, si fuera necesario, antes de que la instancia termine por completo. Esto ayuda a minimizar la posibilidad de errores. Para obtener más información sobre un cierre correcto, consulte [Graceful shutdowns with ECS](https://aws.amazon.com/blogs/containers/graceful-shutdowns-with-ecs/).

Para ayudar a minimizar la escasez de capacidad de spot, tenga en cuenta las siguientes recomendaciones: 
+ Utilice varias regiones y zonas de disponibilidad: la capacidad de spot varía según la región y la zona de disponibilidad. Puede mejorar la disponibilidad de spot ejecutando sus cargas de trabajo en varias regiones y zonas de disponibilidad. Si es posible, especifique subredes en todas las zonas de disponibilidad de las regiones en las que ejecuta sus tareas e instancias. 
+ Utilice varios tipos de instancias de Amazon EC2: cuando utiliza políticas de instancias mixtas con Amazon EC2 Auto Scaling, se lanzan varios tipos de instancias en su grupo de escalado automático. Esto garantiza que se pueda tramitar una solicitud de capacidad de spot cuando sea necesario. Para maximizar la fiabilidad y minimizar la complejidad, utilice tipos de instancias con aproximadamente la misma cantidad de CPU y memoria en la política de instancias mixtas. Estas instancias pueden ser de una generación diferente o ser variantes del mismo tipo de instancia base. Tenga en cuenta que es posible que incluyan características adicionales que no necesite. Un ejemplo de esta lista podría incluir m4.large, m5.large, m5a.large, m5d.large, m5n.large, m5dn.large y m5ad.large. Para obtener más información, consulte la sección sobre [Grupos de escalado automático con varios tipos de instancia y opciones de compra](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) en la *guía del usuario de Amazon EC2 Auto Scaling*.
+ Utilice la estrategia de asignación de spot con capacidad optimizada: con Amazon EC2 Spot, puede elegir entre estrategias de asignación optimizadas en función de la capacidad y de los costos. Si elige la estrategia de capacidad optimizada al lanzar una nueva instancia, Amazon EC2 Spot selecciona el tipo de instancia con mayor disponibilidad en la zona de disponibilidad seleccionada. Esto ayuda a reducir la posibilidad de que la instancia termine poco después de su lanzamiento. 

Para obtener información sobre cómo configurar los avisos de terminación de spot en instancias de contenedor, consulte los siguientes recursos:
+ [Configuración de instancias de contenedor de Linux de Amazon ECS para recibir avisos de instancias de spot](spot-instance-draining-linux-container.md)
+ [Configuración de instancias de contenedor de Windows de Amazon ECS para recibir avisos de instancias de spot](windows-spot-instance-draining-container.md)

# AMI de Linux optimizadas para Amazon ECS
<a name="ecs-optimized_AMI"></a>

**importante**  
La AMI de Amazon Linux 2 optimizada para Amazon ECS finaliza su vida útil el 30 de junio de 2026 y refleja la misma fecha de fin de vida del sistema operativo original Amazon Linux 2 (para más información, consulte las [preguntas frecuentes de Amazon Linux 2](https://aws.amazon.com/amazon-linux-2/faqs/)). Recomendamos a los clientes que actualicen las aplicaciones para utilizar Amazon Linux 2023, que incluye soporte a largo plazo hasta 2028. Para obtener información sobre la migración de Amazon Linux 2 a Amazon Linux 2023, consulte [Migrating from the Amazon Linux 2 Amazon ECS-optimized AMI to the Amazon Linux 2023 Amazon ECS-optimized AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/al2-to-al2023-ami-transition.html).

De forma predeterminada, la fecha de obsolescencia de todas las AMI optimizadas para Amazon ECS se establece en dos años a partir de la fecha de creación de la AMI. Puede utilizar la API `DescribeImages` de Amazon EC2 para comprobar el estado y la fecha de obsolescencia de una AMI. Para obtener más información, consulte [DescribeImages](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html) en la *Referencia de la API de Amazon Elastic Compute Cloud*.

Amazon ECS proporciona AMI optimizadas para Amazon ECS que están preconfiguradas con estos requisitos y recomendaciones para ejecutar sus cargas de trabajo de contenedor. Le recomendamos que utilice la AMI de Amazon Linux 2023 optimizada para Amazon ECS para las instancias de Amazon EC2. Si lanza las instancias de contenedor desde la AMI optimizada para Amazon ECS más reciente, se asegurará de que reciba las actualizaciones de seguridad y la versión del agente de contenedor actuales. Para obtener más información acerca de cómo lanzar una instancia, consulte [Lanzamiento de una instancia de contenedor de Linux de Amazon ECS](launch_container_instance.md).

Al crear un clúster mediante la consola, Amazon ECS crea una plantilla de lanzamiento para las instancias con la AMI más reciente asociada al sistema operativo seleccionado. 

Cuando se utiliza CloudFormation para crear un clúster, el parámetro de SSM forma parte de la plantilla de lanzamiento de Amazon EC2 para las instancias del grupo de escalado automático. Puede configurar la plantilla para que utilice un parámetro dinámico de Systems Manager a fin de determinar qué AMI optimizada de Amazon ECS debe implementar. Este parámetro garantiza que, cada vez que implemente la pila, se compruebe si hay alguna actualización disponible que deba aplicarse a las instancias de EC2. Para ver un ejemplo de cómo utilizar el parámetro de Systems Manager, consulte [Crear un clúster de Amazon ECS con la AMI de Amazon Linux 2023 optimizada para Amazon ECS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#aws-resource-ecs-cluster--examples--Create_an_cluster_with_the_Amazon_Linux_2023_ECS-Optimized-AMI) en la *Guía del usuario AWS CloudFormation*.

Si necesita personalizar la AMI optimizada para Amazon ECS, consulte [Amazon ECS Optimized AMI Build Recipies](https://github.com/aws/amazon-ecs-ami) en GitHub.

Están disponibles las siguientes variantes de la AMI optimizada para Amazon ECS para sus instancias de Amazon EC2 con el sistema operativo de Amazon Linux 2023.


| Sistema operativo | AMI | Descripción | Configuración de almacenamiento | 
| --- | --- | --- | --- | 
| Amazon Linux 2023 |  AMI de Amazon Linux 2023 optimizada para Amazon ECS |  Amazon Linux 2023 es la próxima generación de Amazon Linux de AWS. En la mayoría de los casos, se recomienda para lanzar instancias de Amazon EC2 para las cargas de trabajo de Amazon ECS. Para obtener más información, consulte [Qué es Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/what-is-amazon-linux.html) en la *Guía del usuario de Amazon Linux 2023*.  | De forma predeterminada, la AMI de Amazon Linux 2023 optimizada para Amazon ECS se envía con un volumen raíz único de 30 GiB. Puede modificar el tamaño del volumen de raíz de 30 GiB en el momento del lanzamiento para aumentar el almacenamiento disponible en su instancia de contenedor. Este almacenamiento se utiliza para el sistema operativo y para imágenes de Docker y metadatos. El sistema de archivos predeterminado para la AMI de Amazon Linux 2023 optimizada para Amazon ECS es `xfs`, y Docker utiliza el controlador de almacenamiento `overlay2`. Para obtener más información, consulte la sección [Use the OverlayFS storage driver](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) en la documentación de Docker. | 
| Amazon Linux 2023 (arm64) |  AMI de Amazon Linux 2023 (arm64) optimizada para Amazon ECS |  Basada en Amazon Linux 2023, se recomienda utilizar esta AMI al inicializar las instancias de Amazon EC2, que cuentan con procesadores AWS Graviton/Graviton 2/Graviton 3/Graviton 4 basados en Arm, para las cargas de trabajo de Amazon ECS. Para obtener más información, consulte [Specifications for the Amazon EC2 general purpose instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html) en la *Guía de tipos de instancias de Amazon EC2*.  | De forma predeterminada, la AMI de Amazon Linux 2023 optimizada para Amazon ECS se envía con un volumen raíz único de 30 GiB. Puede modificar el tamaño del volumen de raíz de 30 GiB en el momento del lanzamiento para aumentar el almacenamiento disponible en su instancia de contenedor. Este almacenamiento se utiliza para el sistema operativo y para imágenes de Docker y metadatos. El sistema de archivos predeterminado para la AMI de Amazon Linux 2023 optimizada para Amazon ECS es `xfs`, y Docker utiliza el controlador de almacenamiento `overlay2`. Para obtener más información, consulte la sección [Use the OverlayFS storage driver](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) en la documentación de Docker. | 
| Amazon Linux 2023 (Neuron) |  AMI de Amazon Linux 2023 optimizada para Amazon ECS  |  Esta AMI, que se basa en Amazon Linux 2023, es para las instancias Inf1, Trn1 o Inf2 de Amazon EC2. Viene preconfigurada con controladores de AWS Inferentia y AWS Trainium y el tiempo de ejecución de AWS Neuron para Docker, que facilita la puesta en marcha de cargas de trabajo de inferencia de machine learning en Amazon ECS. Para obtener más información, consulte [Definiciones de tareas de Amazon ECS para cargas de trabajo de machine learning de AWS Neuron](ecs-inference.md).  La AMI de Amazon Linux 2023 (Neuron) optimizada para Amazon ECS no incluye la AWS CLI preinstalada.  | De forma predeterminada, la AMI de Amazon Linux 2023 optimizada para Amazon ECS se envía con un volumen raíz único de 30 GiB. Puede modificar el tamaño del volumen de raíz de 30 GiB en el momento del lanzamiento para aumentar el almacenamiento disponible en su instancia de contenedor. Este almacenamiento se utiliza para el sistema operativo y para imágenes de Docker y metadatos. El sistema de archivos predeterminado para la AMI de Amazon Linux 2023 optimizada para Amazon ECS es `xfs`, y Docker utiliza el controlador de almacenamiento `overlay2`. Para obtener más información, consulte la sección [Use the OverlayFS storage driver](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) en la documentación de Docker. | 
| GPU de Amazon Linux 2023 | AMI de GPU de Amazon Linux 2023 optimizada para Amazon ECS |  Se recomienda utilizar esta AMI basada en Amazon Linux 2023 al inicializar las instancias basadas en GPU de Amazon EC2 para las cargas de trabajo de Amazon ECS. Viene preconfigurada con controladores de kernel de NVIDIA y un tiempo de ejecución de GPU de Docker que permite poner en marcha cargas de trabajo que aprovechan las GPU de Amazon ECS. Para obtener más información, consulte [Definiciones de tareas de Amazon ECS para cargas de trabajo de GPU](ecs-gpu.md).  | De forma predeterminada, la AMI de Amazon Linux 2023 optimizada para Amazon ECS se envía con un volumen raíz único de 30 GiB. Puede modificar el tamaño del volumen de raíz de 30 GiB en el momento del lanzamiento para aumentar el almacenamiento disponible en su instancia de contenedor. Este almacenamiento se utiliza para el sistema operativo y para imágenes de Docker y metadatos. El sistema de archivos predeterminado para la AMI de Amazon Linux 2023 optimizada para Amazon ECS es `xfs`, y Docker utiliza el controlador de almacenamiento `overlay2`. Para obtener más información, consulte la sección [Use the OverlayFS storage driver](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) en la documentación de Docker. | 

Las siguientes son las variantes de la AMI optimizada para Amazon ECS que están disponibles para sus instancias de Amazon EC2 con el sistema operativo de Amazon Linux 2.


| Sistema operativo | AMI | Descripción | Configuración de almacenamiento | 
| --- | --- | --- | --- | 
|  **Amazon Linux 2**   |  AMI de Amazon Linux 2 con kernel 5.10 optimizada para Amazon ECS | Se debe utilizar esta AMI basada en Amazon Linux 2 cuando lanza las instancias de Amazon EC2 y desea usar Linux con kernel 5.10 en lugar de kernel 4.14 para las cargas de trabajo de Amazon ECS. La AMI de Amazon Linux 2 con kernel 5.10 optimizada para Amazon ECS no incluye la AWS CLI preinstalada. | De forma predeterminada, las AMI basadas en Amazon Linux 2 optimizadas para Amazon ECS (AMI de Amazon Linux 2 optimizada para Amazon ECS, AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS y AMI optimizada para GPU de Amazon ECS) se envían con un único volumen raíz de 30 GiB. Puede modificar el tamaño del volumen de raíz de 30 GiB en el momento del lanzamiento para aumentar el almacenamiento disponible en su instancia de contenedor. Este almacenamiento se utiliza para el sistema operativo y para imágenes de Docker y metadatos. El sistema de archivos predeterminado para la AMI de Amazon Linux 2 optimizada para Amazon ECS es`xfs`, y Docker utiliza el controlador de almacenamiento `overlay2`. Para obtener más información, consulte la sección [Use the OverlayFS storage driver](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) en la documentación de Docker. | 
|  **Amazon Linux 2**  |  AMI de Amazon Linux 2 optimizada para Amazon ECS | Se trata de las cargas de trabajo de Amazon ECS. La AMI de Amazon Linux 2 optimizada para Amazon ECS no incluye la AWS CLI preinstalada. | De forma predeterminada, las AMI basadas en Amazon Linux 2 optimizadas para Amazon ECS (AMI de Amazon Linux 2 optimizada para Amazon ECS, AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS y AMI optimizada para GPU de Amazon ECS) se envían con un único volumen raíz de 30 GiB. Puede modificar el tamaño del volumen de raíz de 30 GiB en el momento del lanzamiento para aumentar el almacenamiento disponible en su instancia de contenedor. Este almacenamiento se utiliza para el sistema operativo y para imágenes de Docker y metadatos. El sistema de archivos predeterminado para la AMI de Amazon Linux 2 optimizada para Amazon ECS es`xfs`, y Docker utiliza el controlador de almacenamiento `overlay2`. Para obtener más información, consulte la sección [Use the OverlayFS storage driver](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) en la documentación de Docker. | 
|  **Amazon Linux 2 (arm64)**  |  AMI de Amazon Linux 2 con kernel 5.10 (arm64) optimizada para Amazon ECS |  Basada en Amazon Linux 2, esta AMI se usa para las instancias de Amazon EC2, que cuentan con procesadores AWS Graviton/Graviton 2/Graviton 3/Graviton 4 basados en Arm, y se recomienda usar Linux con kernel 5.10 en lugar de Linux con kernel 4.14 para las cargas de trabajo de Amazon ECS. Para obtener más información, consulte [Specifications for Amazon EC2 general purpose instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html) en la *Guía de tipos de instancias de Amazon EC2*. La AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS no incluye la AWS CLI preinstalada.  | De forma predeterminada, las AMI basadas en Amazon Linux 2 optimizadas para Amazon ECS (AMI de Amazon Linux 2 optimizada para Amazon ECS, AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS y AMI optimizada para GPU de Amazon ECS) se envían con un único volumen raíz de 30 GiB. Puede modificar el tamaño del volumen de raíz de 30 GiB en el momento del lanzamiento para aumentar el almacenamiento disponible en su instancia de contenedor. Este almacenamiento se utiliza para el sistema operativo y para imágenes de Docker y metadatos. El sistema de archivos predeterminado para la AMI de Amazon Linux 2 optimizada para Amazon ECS es`xfs`, y Docker utiliza el controlador de almacenamiento `overlay2`. Para obtener más información, consulte la sección [Use the OverlayFS storage driver](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) en la documentación de Docker. | 
| Amazon Linux 2 (arm64) | AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS |  Basada en Amazon Linux 2, esta AMI se usa cuando se lanzan las instancias de Amazon EC2, que cuentan con procesadores AWS Graviton/Graviton 2/Graviton 3/Graviton 4 basados en Arm, para las cargas de trabajo de Amazon ECS. La AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS no incluye la AWS CLI preinstalada.  | De forma predeterminada, las AMI basadas en Amazon Linux 2 optimizadas para Amazon ECS (AMI de Amazon Linux 2 optimizada para Amazon ECS, AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS y AMI optimizada para GPU de Amazon ECS) se envían con un único volumen raíz de 30 GiB. Puede modificar el tamaño del volumen de raíz de 30 GiB en el momento del lanzamiento para aumentar el almacenamiento disponible en su instancia de contenedor. Este almacenamiento se utiliza para el sistema operativo y para imágenes de Docker y metadatos. El sistema de archivos predeterminado para la AMI de Amazon Linux 2 optimizada para Amazon ECS es`xfs`, y Docker utiliza el controlador de almacenamiento `overlay2`. Para obtener más información, consulte la sección [Use the OverlayFS storage driver](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) en la documentación de Docker. | 
|  **Amazon Linux 2 (GPU)**  | AMI de kernel 5.10 optimizada para GPU de Amazon ECS | Basada en Amazon Linux 2, se recomienda utilizar esta AMI cuando inicia las instancias basadas en GPU de Amazon EC2 con el kernel 5.10 de Linux para las cargas de trabajo de Amazon ECS. Viene preconfigurada con controladores de kernel de NVIDIA y un tiempo de ejecución de GPU de Docker que permite poner en marcha cargas de trabajo que aprovechan las GPU de Amazon ECS. Para obtener más información, consulte [Definiciones de tareas de Amazon ECS para cargas de trabajo de GPU](ecs-gpu.md). | De forma predeterminada, las AMI basadas en Amazon Linux 2 optimizadas para Amazon ECS (AMI de Amazon Linux 2 optimizada para Amazon ECS, AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS y AMI optimizada para GPU de Amazon ECS) se envían con un único volumen raíz de 30 GiB. Puede modificar el tamaño del volumen de raíz de 30 GiB en el momento del lanzamiento para aumentar el almacenamiento disponible en su instancia de contenedor. Este almacenamiento se utiliza para el sistema operativo y para imágenes de Docker y metadatos. El sistema de archivos predeterminado para la AMI de Amazon Linux 2 optimizada para Amazon ECS es`xfs`, y Docker utiliza el controlador de almacenamiento `overlay2`. Para obtener más información, consulte la sección [Use the OverlayFS storage driver](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) en la documentación de Docker. | 
| Amazon Linux 2 (GPU) | AMI optimizada para GPU de Amazon ECS | Basada en Amazon Linux 2, se recomienda utilizar esta AMI cuando inicia las instancias basadas en GPU de Amazon EC2 con el kernel 4.14 de Linux para las cargas de trabajo de Amazon ECS. Viene preconfigurada con controladores de kernel de NVIDIA y un tiempo de ejecución de GPU de Docker que permite poner en marcha cargas de trabajo que aprovechan las GPU de Amazon ECS. Para obtener más información, consulte [Definiciones de tareas de Amazon ECS para cargas de trabajo de GPU](ecs-gpu.md). | De forma predeterminada, las AMI basadas en Amazon Linux 2 optimizadas para Amazon ECS (AMI de Amazon Linux 2 optimizada para Amazon ECS, AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS y AMI optimizada para GPU de Amazon ECS) se envían con un único volumen raíz de 30 GiB. Puede modificar el tamaño del volumen de raíz de 30 GiB en el momento del lanzamiento para aumentar el almacenamiento disponible en su instancia de contenedor. Este almacenamiento se utiliza para el sistema operativo y para imágenes de Docker y metadatos. El sistema de archivos predeterminado para la AMI de Amazon Linux 2 optimizada para Amazon ECS es`xfs`, y Docker utiliza el controlador de almacenamiento `overlay2`. Para obtener más información, consulte la sección [Use the OverlayFS storage driver](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) en la documentación de Docker. | 
| Amazon Linux 2 (Neuron)  | AMI de kernel 5.10 de Amazon Linux 2 (Neuron) optimizada para Amazon ECS  | Esta AMI basada en Amazon Linux 2 es para las instancias Inf1, Trn1 o Inf2 de Amazon EC2. Viene preconfigurada con controladores de AWS Inferentia con kernel 5.10 de Linux y AWS Trainium y el tiempo de ejecución de AWS Neuron para Docker, que facilita la ejecución de cargas de trabajo de inferencia de machine learning en Amazon ECS. Para obtener más información, consulte [Definiciones de tareas de Amazon ECS para cargas de trabajo de machine learning de AWS Neuron](ecs-inference.md). La AMI de Amazon Linux 2 (Neuron) optimizada para Amazon ECS no incluye la AWS CLI preinstalada. | De forma predeterminada, las AMI basadas en Amazon Linux 2 optimizadas para Amazon ECS (AMI de Amazon Linux 2 optimizada para Amazon ECS, AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS y AMI optimizada para GPU de Amazon ECS) se envían con un único volumen raíz de 30 GiB. Puede modificar el tamaño del volumen de raíz de 30 GiB en el momento del lanzamiento para aumentar el almacenamiento disponible en su instancia de contenedor. Este almacenamiento se utiliza para el sistema operativo y para imágenes de Docker y metadatos. El sistema de archivos predeterminado para la AMI de Amazon Linux 2 optimizada para Amazon ECS es`xfs`, y Docker utiliza el controlador de almacenamiento `overlay2`. Para obtener más información, consulte la sección [Use the OverlayFS storage driver](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) en la documentación de Docker. | 
| Amazon Linux 2 (Neuron)  | AMI de Amazon Linux 2 (Neuron) optimizada para Amazon ECS | Esta AMI basada en Amazon Linux 2 es para las instancias Inf1, Trn1 o Inf2 de Amazon EC2. Viene preconfigurada con controladores de AWS Inferentia y AWS Trainium y el tiempo de ejecución de AWS Neuron para Docker, que facilita la puesta en marcha de cargas de trabajo de inferencia de machine learning en Amazon ECS. Para obtener más información, consulte [Definiciones de tareas de Amazon ECS para cargas de trabajo de machine learning de AWS Neuron](ecs-inference.md). La AMI de Amazon Linux 2 (Neuron) optimizada para Amazon ECS no incluye la AWS CLI preinstalada. | De forma predeterminada, las AMI basadas en Amazon Linux 2 optimizadas para Amazon ECS (AMI de Amazon Linux 2 optimizada para Amazon ECS, AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS y AMI optimizada para GPU de Amazon ECS) se envían con un único volumen raíz de 30 GiB. Puede modificar el tamaño del volumen de raíz de 30 GiB en el momento del lanzamiento para aumentar el almacenamiento disponible en su instancia de contenedor. Este almacenamiento se utiliza para el sistema operativo y para imágenes de Docker y metadatos. El sistema de archivos predeterminado para la AMI de Amazon Linux 2 optimizada para Amazon ECS es`xfs`, y Docker utiliza el controlador de almacenamiento `overlay2`. Para obtener más información, consulte la sección [Use the OverlayFS storage driver](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) en la documentación de Docker. | 

Amazon ECS proporciona un registro de cambios para la variante Linux de la AMI optimizada para Amazon ECS en GitHub. Para obtener más información, consulte [Changelog](https://github.com/aws/amazon-ecs-ami/blob/main/CHANGELOG.md) (Registro de cambios).

Las variantes de Linux de la AMI optimizada para Amazon ECS utilizan la AMI de Amazon Linux 2 o la AMI de Linux 2023 como base. Puede recuperar el nombre de la AMI para cada variante consultando la API del Almacén de parámetros de Systems Manager. Para obtener más información, consulte [Recuperación de metadatos de las AMI de Linux optimizadas para Amazon ECS](retrieve-ecs-optimized_AMI.md). También están disponibles las notas de la versión de la AMI de Amazon Linux 2. Para obtener más información, consulte las [notas de la versión de Amazon Linux 2](https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html). También están disponibles las notas de la versión de Amazon Linux 2023. Para obtener más información, consulte las [notas de la versión de Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html).

En las páginas siguientes se proporciona información adicional acerca de los cambios:
+ Notas de la [versión de la AMI de origen](https://github.com/aws/amazon-ecs-ami/releases) en GitHub
+ [Notas de la versión de Docker Engine](https://docs.docker.com/engine/release-notes/) en la documentación de Docker
+ [Documentación de controlador NVIDIA](https://docs.nvidia.com/datacenter/tesla/index.html) en la documentación de NVIDIA
+ [Registro de cambios del agente de Amazon ECS](https://github.com/aws/amazon-ecs-agent/blob/master/CHANGELOG.md) en GitHub

  El código de origen de la aplicación `ecs-init` y los scripts y la configuración para empaquetar el agente ahora forman parte del repositorio de agentes. Para ver versiones anteriores de `ecs-init` y paquetes, consulte el [registro de cambios de Amazon ecs-init](https://github.com/aws/amazon-ecs-init/blob/master/CHANGELOG.md) en GitHub.

## Aplicación de actualizaciones de seguridad a la AMI optimizada para Amazon ECS
<a name="ecs-optimized-AMI-security-changes"></a>

Las AMI optimizadas para Amazon ECS basadas en Amazon Linux contienen una versión personalizada de cloud-init. Cloud-init es un paquete que se utiliza para arrancar imágenes de Linux en un entorno de computación en la nube y llevar a cabo las acciones deseadas al iniciar una instancia. De manera predeterminada, todas las AMI optimizadas para Amazon ECS basadas en Amazon Linux publicadas antes del 12 de junio de 2024 tienen todas las actualizaciones de seguridad “críticas” e “importantes” aplicadas al lanzar la instancia.

A partir de las versiones del 12 de junio de 2024 de las AMI optimizadas para Amazon ECS basadas en Amazon Linux 2, el comportamiento predeterminado ya no incluirá la actualización de paquetes en el momento del lanzamiento. En su lugar, le recomendamos que actualice a una nueva AMI optimizada para Amazon ECS a medida que haya versiones disponibles. Las AMI optimizadas para Amazon ECS se publican cuando hay actualizaciones de seguridad disponibles o cambios en la AMI base. Esto garantizará que reciba las últimas versiones del paquete y las actualizaciones de seguridad más recientes y que las versiones del paquete sean inmutables durante el inicio de las instancias. Para obtener más información acerca de cómo recuperar las AMI optimizadas para Amazon ECS más recientes, consulte [Recuperación de metadatos de las AMI de Linux optimizadas para Amazon ECS](retrieve-ecs-optimized_AMI.md).

Recomendamos automatizar el entorno para actualizarlo a una nueva AMI a medida que estén disponibles. Para obtener información sobre las opciones disponibles, consulte [Amazon ECS enables easier EC2 capacity management, with managed instance draining](https://aws.amazon.com/blogs/containers/amazon-ecs-enables-easier-ec2-capacity-management-with-managed-instance-draining/).

Para seguir aplicando manualmente las actualizaciones de seguridad “críticas” e “importantes” en una versión de la AMI, puede ejecutar el siguiente comando en su instancia de Amazon EC2.

```
yum update --security
```

**aviso**  
 La actualización de los paquetes de Docker o containerd detendrá todos los contenedores en ejecución en el host, lo que significa que se detendrán todas las tareas de Amazon ECS en ejecución. Planifique en consecuencia para minimizar las interrupciones del servicio. 

Si desea volver a habilitar las actualizaciones de seguridad en el momento del inicio, puede agregar la siguiente línea a la sección `#cloud-config` de datos de usuario de cloud-init al iniciar la instancia de Amazon EC2. Para obtener más información, consulte [Uso de cloud-init en Amazon Linux 2](https://docs.aws.amazon.com/linux/al2/ug/amazon-linux-cloud-init.html) en la *Guía del usuario de Amazon Linux*.

```
#cloud-config
repo_upgrade: security
```

## Paquetes con versiones bloqueadas en AMI de AL2023 optimizadas para Amazon ECS con GPU
<a name="ecs-optimized-ami-version-locked-packages"></a>

Algunos paquetes son fundamentales para un comportamiento correcto y eficiente de la funcionalidad de la GPU en las AMI de AL2023 optimizadas para Amazon ECS con GPU. Entre ellos se incluyen:
+ Controladores NVIDIA (`nvidia*`)
+ Módulos de kernel (`kmod*`)
+ Bibliotecas NVIDIA (`libnvidia*`)
+ Paquetes de kernel (`kernel*`)

**nota**  
No es una lista exhaustiva. La lista completa de paquetes bloqueados está disponible mediante `dnf versionlock list`

Estos paquetes tienen versiones bloqueadas para garantizar la estabilidad y evitar cambios involuntarios que podrían interrumpir las cargas de trabajo de la GPU. Por lo tanto, estos paquetes deben modificarse dentro de los límites de un proceso gestionado que maneje correctamente los posibles problemas y mantenga la funcionalidad de la GPU.

Para evitar modificaciones no deseadas, se utiliza el complemento `dnf versionlock` en estos paquetes.

Si desea modificar un paquete bloqueado, puede hacer lo siguiente:

```
# unlock a single package
sudo dnf versionlock delete $PACKAGE_NAME

# unlock all packages
sudo dnf versionlock clear
```

**importante**  
Cuando sea necesario actualizar estos paquetes, los clientes deberían considerar la posibilidad de utilizar la última versión de la AMI que incluya las actualizaciones necesarias. Si es necesario actualizar las instancias existentes, se debe emplear un enfoque cuidadoso que implique desbloquear, actualizar y volver a bloquear los paquetes, para garantizar siempre que la funcionalidad de la GPU se mantenga durante todo el proceso.

# Recuperación de metadatos de las AMI de Linux optimizadas para Amazon ECS
<a name="retrieve-ecs-optimized_AMI"></a>

Puede recuperar mediante programación los metadatos de la AMI optimizada para Amazon ECS. Los metadatos incluyen el nombre de la AMI, la versión del agente de contenedor de Amazon ECS y la versión del tiempo de ejecución de ECS que incluye la versión de Docker. 

Al crear un clúster mediante la consola, Amazon ECS crea una plantilla de lanzamiento para las instancias con la AMI más reciente asociada al sistema operativo seleccionado. 

Cuando se utiliza CloudFormation para crear un clúster, el parámetro de SSM forma parte de la plantilla de lanzamiento de Amazon EC2 para las instancias del grupo de escalado automático. Puede configurar la plantilla para que utilice un parámetro dinámico de Systems Manager a fin de determinar qué AMI optimizada de Amazon ECS debe implementar. Este parámetro garantiza que, cada vez que implemente la pila, se compruebe si hay alguna actualización disponible que deba aplicarse a las instancias de EC2. Para ver un ejemplo de cómo utilizar el parámetro de Systems Manager, consulte [Crear un clúster de Amazon ECS con la AMI de Amazon Linux 2023 optimizada para Amazon ECS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#aws-resource-ecs-cluster--examples--Create_an_cluster_with_the_Amazon_Linux_2023_ECS-Optimized-AMI) en la *Guía del usuario AWS CloudFormation*.

Para recuperar el ID de la AMI, el nombre de la imagen, el sistema operativo, la versión del agente de contenedor, el nombre de la imagen de origen y la versión del tiempo de ejecución de las AMI optimizada para Amazon ECS mediante programación, consulte la API del Parameter Store de Systems Manager. Para obtener más información acerca de la API del Parameter Store de Systems Manager, consulte [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) y [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html).

**nota**  
La cuenta administrativa debe tener los siguientes permisos de IAM para recuperar los metadatos de la AMI optimizada para Amazon ECS. Estos permisos se agregaron a la política de IAM `AmazonECS_FullAccess`.  
ssm:GetParameters
ssm:GetParameter
ssm:GetParametersByPath

## Formato de los parámetros de Parameter Store de Systems Manager
<a name="ecs-optimized-ami-parameter-format"></a>

A continuación, se muestra el formato del nombre del parámetro para cada variante de AMI optimizada para Amazon ECS.

**AMI de Linux optimizadas para Amazon ECS**
+ Metadatos de AMI de Amazon Linux 2023:

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2023/<version>
  ```
+ Metadatos de AMI de Amazon Linux 2023 (arm64):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2023/arm64/<version>
  ```
+ Metadatos de AMI de Amazon Linux 2023 (Neuron):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/<version>
  ```
+ Metadatos de AMI de Amazon Linux 2023 (GPU):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2023/gpu/<version>
  ```

  Metadatos de AMI de Amazon Linux 2:

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/<version>
  ```
+ Metadatos de AMI de Amazon Linux 2 con kernel 5.10:

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/<version>
  ```
+ Metadatos de AMI de Amazon Linux 2 (arm64):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/arm64/<version>
  ```
+ Metadatos de AMI de Amazon Linux 2 con kernel 5.10 (arm64):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/arm64/<version>
  ```
+ Metadatos de la AMI de kernel 5.10 optimizada para GPU de Amazon ECS:

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/gpu/<version>
  ```
+ Metadatos de AMI de Amazon Linux 2 (GPU):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/<version>
  ```
+ Metadatos de la AMI de kernel 5.10 de Amazon Linux 2 (Neuron) optimizada para Amazon ECS:

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/inf/<version>
  ```
+ Metadatos de AMI de Amazon Linux 2 (Neuron):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/inf/<version>
  ```

El siguiente formato de nombre de parámetro recupera el ID de imagen de la última versión recomendada de la AMI de Amazon Linux 2 optimizada para Amazon ECS mediante el parámetro secundario `image_id`.

```
/aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id
```

El siguiente formato de nombre de parámetro recupera los metadatos de una versión específica de la AMI optimizada para Amazon ECS mediante la especificación del nombre de la AMI.
+ Metadatos de AMI de Amazon Linux 2 optimizada para Amazon ECS:

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/amzn2-ami-ecs-hvm-2.0.20181112-x86_64-ebs
  ```

**nota**  
Todas las versiones de AMI Amazon Linux 2 optimizadas para Amazon ECS están disponibles para su recuperación. Solo se pueden recuperar las versiones `amzn-ami-2017.09.l-amazon-ecs-optimized` de AMI (Linux) optimizadas para Amazon ECS y versiones posteriores. 

## Ejemplos
<a name="ecs-optimized-ami-parameter-examples"></a>

Los siguientes ejemplos muestran formas en las que pueden recuperar los metadatos de cada variante de AMI optimizada para Amazon ECS.

### Recuperación de los metadatos de la última versión recomendada de la AMI optimizada para Amazon ECS
<a name="ecs-optimized-ami-parameter-examples-1"></a>

Utilice los siguientes comandos de la AWS CLI para recuperar la última versión recomendada de la AMI optimizada para Amazon ECS mediante la AWS CLI.

**AMI de Linux optimizadas para Amazon ECS**
+ **Para las AMI de Amazon Linux 2023 optimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended --region us-east-1
  ```
+ **Para las AMI de Amazon Linux 2023 (arm64) optimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/arm64/recommended --region us-east-1
  ```
+ **Para las AMI de Amazon Linux 2023 (Neuron) optimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/recommended --region us-east-1
  ```
+ **Para las AMI de Amazon Linux 2023 optimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/gpu/recommended --region us-east-1
  ```
+ **Para las AMI de Amazon Linux 2 con kernel 5.10 optimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/recommended --region us-east-1
  ```
+ **Para las AMI de Amazon Linux 2 optimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended --region us-east-1
  ```
+ **Para las AMI de Amazon Linux 2 con kernel 5.10 (arm64) optimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/arm64/recommended --region us-east-1
  ```
+ **Para las AMI de Amazon Linux 2 (arm64) optimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/arm64/recommended --region us-east-1
  ```
+ **Para las AMI de kernel 5.10 optimizadas para GPU de Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/gpu/recommended --region us-east-1
  ```
+ **Para las AMI optimizadas para GPU de Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region us-east-1
  ```
+ **Para las AMI de kernel 5.10 de Amazon Linux 2 (Neuron) optimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/inf/recommended --region us-east-1
  ```
+ **Para las AMI de Amazon Linux 2 (Neuron) optimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/inf/recommended --region us-east-1
  ```

### Recuperación del ID de imagen de la AMI de Amazon Linux 2023 optimizada para Amazon ECS más reciente recomendada
<a name="ecs-optimized-ami-parameter-examples-6"></a>

Puede recuperar el ID de imagen del ID de la AMI de Amazon Linux 2023 optimizada para Amazon ECS más reciente recomendada mediante el parámetro secundario `image_id`.

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id --region us-east-1
```

Para recuperar solo el valor de `image_id`, puede consultar el valor de parámetro específico; por ejemplo:

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id --region us-east-1 --query "Parameters[0].Value"
```

### Recuperación de los metadatos de una versión específica de AMI de Amazon Linux 2 optimizada para Amazon ECS
<a name="ecs-optimized-ami-parameter-examples-2"></a>

Utilice el siguiente comando de la AWS CLI para recuperar los metadatos de una versión específica de AMI de Amazon Linux optimizada para Amazon ECS mediante la AWS CLI. Sustituya el nombre de la AMI por el nombre de la AMI de Amazon Linux optimizada para Amazon ECS que va a recuperar. 

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/amzn2-ami-ecs-hvm-2.0.20200928-x86_64-ebs --region us-east-1
```

### Recuperación de los metadatos de la AMI de kernel 5.10 de Amazon Linux 2 optimizada para Amazon ECS mediante la API GetParametersByPath de Systems Manager
<a name="ecs-optimized-ami-parameter-examples-3"></a>

Utilice el siguiente comando de la AWS CLI para recuperar los metadatos de la AMI de Amazon Linux 2 optimizada para Amazon ECS mediante la API GetParametersByPath de Systems Manager.

```
aws ssm get-parameters-by-path --path /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/ --region us-east-1
```

### Recuperación del ID de imagen de la AMI de kernel 5.10 de Amazon Linux 2 optimizada para Amazon ECS más reciente recomendada
<a name="ecs-optimized-ami-parameter-examples-4"></a>

Puede recuperar el ID de imagen del ID de la AMI de kernel 5.10 de Amazon Linux 2 optimizada para Amazon ECS más reciente recomendada mediante el parámetro secundario `image_id`.

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/recommended/image_id --region us-east-1
```

Para recuperar solo el valor de `image_id`, puede consultar el valor de parámetro específico; por ejemplo:

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id --region us-east-1 --query "Parameters[0].Value"
```

### Utilización de la AMI optimizada para Amazon ECS más reciente recomendada en una plantilla de CloudFormation
<a name="ecs-optimized-ami-parameter-examples-5"></a>

Para hacer referencia a la AMI optimizada para Amazon ECS recomendada en una plantilla de CloudFormation, pude hacer referencia al nombre del almacén de parámetros de Systems Manager.

**Ejemplo de Linux**

```
Parameters:kernel-5.10
  LatestECSOptimizedAMI:
    Description: AMI ID
    Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
    Default: /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/recommended/image_id
```

# Migración de una AMI de Amazon Linux 2 a una AMI de Amazon Linux 2023 optimizada para Amazon ECS
<a name="al2-to-al2023-ami-transition"></a>

Después de [Amazon Linux](https://aws.amazon.com/amazon-linux-2/faqs), Amazon ECS finaliza el soporte estándar para las AMI optimizadas para Amazon ECS de Amazon Linux 2 a partir del 30 de junio de 2026. Después de esta fecha, la versión del agente de Amazon ECS queda anclada y las nuevas AMI optimizadas para Amazon ECS de Amazon Linux 2 solo se publicarán cuando se actualice la AMI de Amazon Linux 2 de origen. El fin del ciclo de vida completo (EOL) se produce el 30 de junio de 2026, tras lo cual no se publicarán más AMI de Amazon Linux 2 optimizadas para Amazon ECS, aunque se actualice la AMI de origen.

Amazon Linux 2023 ofrece un enfoque de seguridad desde el diseño con políticas de seguridad previamente configuradas, SELinux en modo permisivo, modo exclusivo de IMDSv2 habilitado de manera predeterminada, tiempos de arranque optimizados y administración de paquetes mejorada para aumentar la seguridad y el rendimiento.

Existe un alto grado de compatibilidad entre las AMI optimizadas para Amazon ECS de Amazon Linux 2 y Amazon Linux 2023, y la mayoría de los clientes verán cambios mínimos o nulos en las cargas de trabajo entre los dos sistemas operativos.

Para más información, consulte [Comparing Amazon Linux 2 and *Amazon Linux 2023*](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html) en la *Guía del usuario de Amazon Linux 2023* y las [Preguntas frecuentes sobre Amazon Linux 2023](https://aws.amazon.com/linux/amazon-linux-2023/faqs).

## Consideraciones sobre compatibilidad
<a name="al2-to-al2023-ami-transition-compatibility"></a>

### Administración de paquetes y actualizaciones del sistema operativo
<a name="al2-to-al2023-ami-transition-compatibility-package-management"></a>

A diferencia de las versiones anteriores de Amazon Linux, las AMI de Amazon Linux 2023 optimizadas para Amazon ECS están bloqueadas en una versión específica del repositorio de Amazon Linux. Esto evita que los usuarios actualicen los paquetes de manera inadvertida, lo que podría provocar cambios no deseados o perjudiciales. Para más información, consulte [Managing repositories and OS updates in Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html) en la *Guía del usuario de Amazon Linux 2023*.

### Versiones del kernel de Linux
<a name="al2-to-al2023-ami-transition-compatibility-kernel"></a>

Las AMI de Amazon Linux 2 se basan en los kerneles de Linux 4.14 y 5.10, mientras que Amazon Linux 2023 utiliza los kerneles 6.1 y 6.12 de Linux. Para más información, consulte [Comparing Amazon Linux 2 and Amazon Linux 2023 kernels](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2-kernel.html) en la *Guía del usuario de Amazon Linux 2023*.

### Cambios en la disponibilidad de los paquetes
<a name="al2-to-al2023-ami-transition-compatibility-packages"></a>

Los siguientes son cambios notables en los paquetes de Amazon Linux 2023:
+ Algunos paquetes binarios de origen disponibles en Amazon Linux 2 ya no lo están en Amazon Linux 2023. Para más información, consulte [Packages removed from Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/release-notes/removed.html) en las *Notas de la versión de Amazon Linux 2023*.
+ Cambios en la forma en que Amazon Linux admite las distintas versiones de paquetes. El sistema `amazon-linux-extras` que se utiliza en Amazon Linux 2 no existe en Amazon Linux 2023. Todos los paquetes simplemente están disponibles en el repositorio “principal”.
+ Los paquetes adicionales para Enterprise Linux (EPEL) no son compatibles con Amazon Linux 2023. Para más información, consulte [EPEL compatibility in Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/epel.html) en la *Guía del usuario de Amazon Linux 2023*.
+ Las aplicaciones de 32 bits no son compatibles con Amazon Linux 2023. Para más información, consulte [precated features from Amazon Linux 2](https://docs.aws.amazon.com/linux/al2023/ug/deprecated-al2.html#deprecated-32bit-rpms) en la *Guía del usuario de Amazon Linux 2023*.

### Cambios en los grupos de control (cgroups)
<a name="al2-to-al2023-ami-transition-compatibility-cgroups"></a>

Un grupo de control (cgroup) es una característica del código kernel de Linux que permite organizar jerárquicamente los procesos y distribuir los recursos del sistema entre ellos. Los grupos de control se utilizan ampliamente para implementar un tiempo de ejecución de contenedores, y mediante `systemd`.

El agente de Amazon ECS, Docker y containerd son compatibles con cgroupv1 y cgroupv2. El agente de Amazon ECS y el tiempo de ejecución del contenedor administran cgroups, por lo que los clientes de Amazon ECS no tienen que hacer ningún cambio en esta actualización de cgroup subyacente.

Para más información sobre cgroupv2, consulte [Control groups v2 in Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/cgroupv2.html) en la *Guía del usuario de Amazon Linux 2023*.

### Cambios en el servicio de metadatos de instancias (IMDS)
<a name="al2-to-al2023-ami-transition-compatibility-imds"></a>

De manera predeterminada, es necesaria la versión 2 del servicio de metadatos de instancias (IMDSv2) para Amazon Linux 2023. IMDSv2 tiene varios beneficios que ayudan a mejorar la postura de seguridad. Utiliza un método de autenticación orientado a la sesión que requiere la creación de un token secreto en una solicitud sencilla de HTTP PUT para iniciar la sesión. El tiempo de validez de un token de sesión puede oscilar entre 1 segundo y 6 horas.

Para más información sobre cómo hacer la transición de IMDSv1 a IMDSv2, consulte [Transición al uso del servicio de metadatos de instancias, versión 2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-transition-to-version-2.html) en la *Guía del usuario de Amazon EC2*.

Si desea utilizar IMDSv1, anule de manera manual la configuración mediante las propiedades de inicio de la opción de metadatos de la instancia.

### Cambios en el intercambio de memoria
<a name="al2-to-al2023-ami-transition-compatibility-memory-swappiness"></a>

No se admite el intercambio de memoria por contenedor en Amazon Linux 2023 ni en cgroups v2. Para obtener más información, consulte [Administración del espacio de memoria de intercambio de contenedores en Amazon ECS](container-swap.md).

### Cambios en la validación de FIPS
<a name="al2-to-al2023-ami-transition-compatibility-fips"></a>

Amazon Linux 2 cuenta con la certificación FIPS 140-2 y Amazon Linux 2023 con la certificación FIPS 140-3.

Para habilitar el modo FIPS en Amazon Linux 2023, instale los paquetes necesarios en la instancia de Amazon EC2 y siga las instrucciones de configuración que se indican en [Enable FIPS Mode on Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/fips-mode.html) en la *Guía de usuario de Amazon Linux 2023*.

### Compatibilidad de instancias aceleradas
<a name="al2-to-al2023-ami-transition-compatibility-accelerated"></a>

Las AMI de Amazon Linux 2023 optimizadas para Amazon ECS admiten los tipos de instancias aceleradas por GPU. Para obtener más información, consulte [AMI de Linux optimizadas para Amazon ECS](ecs-optimized_AMI.md).

## Creación de AMI personalizadas
<a name="al2-to-al2023-ami-transition-custom-ami"></a>

Si bien le recomendamos cambiarse a las AMI optimizadas para Amazon ECS publicadas y compatibles oficialmente para Amazon Linux 2023, puede seguir creando AMI personalizadas optimizadas para Amazon ECS de Amazon Linux 2 mediante los scripts de compilación de código abierto que se utilizan para crear las variantes de Linux de la AMI optimizada para Amazon ECS. Para obtener más información, consulte [Script de compilación de la AMI de Linux optimizada para Amazon ECS](ecs-ami-build-scripts.md).

## Estrategias de migración
<a name="al2-to-al2023-ami-transition-migration"></a>

Recomendamos crear e implementar un plan de migración que incluya pruebas exhaustivas de las aplicaciones. En las siguientes secciones se describen las distintas estrategias de migración en función de la forma en que administre la infraestructura de Amazon ECS.

### Migración con proveedores de capacidad de Amazon ECS
<a name="al2-to-al2023-ami-transition-migration-capacity-providers"></a>

1. Cree un nuevo proveedor de capacidad con una plantilla de lanzamiento nueva. Debe hacer referencia a un grupo de escalado automático con una plantilla de lanzamiento similar a la actual, pero en lugar de la AMI optimizada para Amazon ECS de Amazon Linux 2, debe especificar una de las variantes de Amazon Linux 2023. Agregue este nuevo proveedor de capacidad al clúster de Amazon ECS existente.

1. Actualice la estrategia de proveedor de capacidad predeterminado del clúster para incluir el proveedor de capacidad existente de Amazon Linux 2 y el nuevo proveedor de capacidad de Amazon Linux 2023. Comience con una ponderación más alta en el proveedor Amazon Linux 2 y una ponderación más baja en el proveedor Amazon Linux 2023 (por ejemplo, Amazon Linux 2: ponderación, 80; Amazon Linux 2023: ponderación, 20). Esto hace que Amazon ECS comience a aprovisionar instancias de Amazon Linux 2023 a medida que se programan nuevas tareas. Compruebe que las instancias se registren correctamente y que las tareas se puedan ejecutar correctamente en las nuevas instancias.

1. Ajuste gradualmente las ponderaciones de los proveedores de capacidad en la estrategia predeterminada del clúster, aumentando la ponderación del proveedor de Amazon Linux 2023 y disminuyendo la ponderación del proveedor de Amazon Linux 2 con el tiempo (por ejemplo, 60/40, después 40/60 y, por último, 20/80). También puede actualizar las estrategias individuales de los proveedores de capacidad de servicios para priorizar las instancias de Amazon Linux 2023. Supervise la ubicación de las tareas para asegurarse de que se ejecutan correctamente en las instancias de Amazon Linux 2023.

1. De manera opcional, vacíe las instancias de contenedor de Amazon Linux 2 para acelerar la migración de tareas. Si tiene suficiente capacidad de reemplazo de Amazon Linux 2023, puede vaciar manualmente las instancias de contenedor de Amazon Linux 2 a través de la consola de Amazon ECS o la AWS CLI para acelerar la transición de las tareas de Amazon Linux 2 hacia Amazon Linux 2023. Una vez completada la migración, elimine el proveedor de capacidad de Amazon Linux 2 del clúster y elimine el grupo de escalado automático asociado.

### Migración con un grupo de Amazon EC2 Auto Scaling
<a name="al2-to-al2023-ami-transition-migration-asg"></a>

1. Cree un nuevo grupo de Amazon EC2 Auto Scaling con una plantilla de lanzamiento nueva. Debe ser similar a la plantilla de lanzamiento actual, pero en lugar de la AMI optimizada para Amazon ECS de Amazon Linux 2, debe especificar una de las variantes de Amazon Linux 2023. Este nuevo grupo de escalado automático puede lanzar instancias al clúster actual.

1. Escale verticalmente el grupo de escalado automático para que las instancias de Amazon Linux 2023 se registren en el clúster. Compruebe que las instancias se registren correctamente y que las tareas se puedan ejecutar correctamente en las nuevas instancias.

1. Una vez que se haya comprobado que las tareas funcionan en Amazon Linux 2023, escale verticalmente el grupo de escalado automático de Amazon Linux 2023 y, a la vez, reduzca gradualmente el grupo de escalado automático de Amazon Linux 2, hasta que haya sustituido por completo todas las instancias de Amazon Linux 2.

1. Si tiene suficiente capacidad de reemplazo de Amazon Linux 2023, puede que desee vaciar explícitamente las instancias de contenedor para acelerar la transición de las tareas de Amazon Linux 2 hacia Amazon Linux 2023. Para obtener más información, consulte [Drenaje de instancias de contenedor de Amazon ECS](container-instance-draining.md).

### Migración con instancias administradas manualmente
<a name="al2-to-al2023-ami-transition-migration-manual"></a>

1. Lance manualmente (o ajuste los scripts que lanzan) las instancias de Amazon EC2 mediante la AMI de Amazon Linux 2023 optimizada para Amazon ECS en lugar de Amazon Linux 2. Asegúrese de que estas instancias utilizan los mismos grupos de seguridad, subredes, roles de IAM y configuración de clúster que las instancias de Amazon Linux 2 existentes. Las instancias deben registrarse automáticamente en el clúster de Amazon ECS existente en el momento del lanzamiento.

1. Compruebe que las nuevas instancias de Amazon Linux 2023 se registren correctamente en el clúster de Amazon ECS y que se encuentren en el estado `ACTIVE`. Compruebe que las tareas se puedan programar y ejecutar correctamente en estas nuevas instancias, ya sea que espere a que se asignen las tareas de forma natural o que las detenga o las inicie manualmente para activar la reprogramación.

1. Sustituya gradualmente las instancias de Amazon Linux 2; para ello, lance las instancias de Amazon Linux 2023 adicionales según sea necesario y, a continuación, vacíe y finalice manualmente las instancias de Amazon Linux 2 una por una. Puede vaciar las instancias a través de la consola de Amazon ECS; para ello, establezca la instancia en el estado `DRAINING`, lo que dejará de asignarle nuevas tareas y permitirá que las tareas existentes finalicen o se reprogramen en otro lugar.

# Script de compilación de la AMI de Linux optimizada para Amazon ECS
<a name="ecs-ami-build-scripts"></a>

Amazon ECS ha establecido en código abierto los scripts de compilación que se utilizan para crear las variantes de Linux de la AMI optimizada para Amazon ECS. Estos scripts de compilación están ahora disponibles en GitHub. Para obtener más información, consulte [amazon-ecs-ami](https://github.com/aws/amazon-ecs-ami) en GitHub.

Si necesita personalizar la AMI optimizada para Amazon ECS, consulte [Amazon ECS Optimized AMI Build Recipies](https://github.com/aws/amazon-ecs-ami) en GitHub.

El repositorio de scripts de compilación incluye una plantilla [HashiCorp packer](https://developer.hashicorp.com/packer/docs) y crea scripts para generar cada una de las variantes de Linux de las AMI optimizadas para Amazon ECS. Estos scripts son el origen de confianza para las compilaciones de la AMI optimizada para Amazon ECS, de modo que pueda seguir el repositorio de GitHub para monitorear los cambios en nuestras AMI. Por ejemplo, quizás desee su propia AMI para utilizar la misma versión de Docker que el equipo de Amazon ECS utiliza para la AMI oficial.

Para obtener más información, consulte el repositorio de AMI de Amazon ECS en [aws/amazon-ecs-ami](https://github.com/aws/amazon-ecs-ami) en GitHub.

**Para crear una AMI de Linux optimizada para Amazon ECS**

1. Clonar el repositorio `aws/amazon-ecs-ami` GitHub.

   ```
   git clone https://github.com/aws/amazon-ecs-ami.git
   ```

1. Agregue una variable de entorno para la región AWS que se utilizará al crear la AMI. Sustituya el valor `us-west-2` con la región que se va a utilizar.

   ```
   export REGION=us-west-2
   ```

1. Se proporciona un archivo Makefile para crear la AMI. Desde el directorio raíz del repositorio clonado, utilice uno de los siguientes comandos, correspondiente a la variante Linux de la AMI optimizada de Amazon ECS que desea crear.
   + AMI de Amazon Linux 2 optimizada para Amazon ECS

     ```
     make al2
     ```
   + AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS

     ```
     make al2arm
     ```
   + AMI optimizada para GPU de Amazon ECS

     ```
     make al2gpu
     ```
   + AMI de Amazon Linux 2 (Neuron) optimizada para Amazon ECS

     ```
     make al2inf
     ```
   + AMI de Amazon Linux 2023 optimizada para Amazon ECS

     ```
     make al2023
     ```
   + AMI de Amazon Linux 2023 (arm64) optimizada para Amazon ECS

     ```
     make al2023arm
     ```
   + AMI de GPU de Amazon Linux 2023 optimizada para Amazon ECS

     ```
     make al2023gpu
     ```
   + AMI de Amazon Linux 2023 (Neuron) optimizada por Amazon ECS

     ```
     make al2023neu
     ```

# AMI Bottlerocket optimizadas para Amazon ECS
<a name="ecs-bottlerocket"></a>

Bottlerocket es un sistema operativo de código abierto basado en Linux creado específicamente por AWS para ejecutar contenedores en máquinas virtuales o hosts bare metal. La AMI de Bottlerocket optimizada para Amazon ECS es segura y solo incluye la cantidad mínima de paquetes necesarios para ejecutar contenedores. Esto mejora el uso de los recursos, reduce la superficie expuesta a ataques contra la seguridad y ayuda a reducir los gastos administrativos. La AMI de Bottlerocket también está integrada con Amazon ECS para ayudar a reducir la sobrecarga operativa que implica la actualización de las instancias de contenedores en un clúster. 

Bottlerocket se diferencia de Amazon Linux en los siguientes aspectos:
+ Bottlerocket no incluye un administrador de paquetes y su software solo se puede ejecutar como contenedores. Las actualizaciones de Bottlerocket se aplican y se pueden revertir en un solo paso, lo que reduce la probabilidad de que se produzcan errores de actualización.
+ El mecanismo principal para administrar los hosts de Bottlerocket es mediante un programador de contenedores. A diferencia de Amazon Linux, el inicio de sesión en instancias de Bottlerocket individuales está pensado para ser una operación poco frecuente únicamente con fines avanzados de depuración y solución de problemas.

Para obtener más información acerca de Bottlerocket, consulte la [documentación](https://github.com/bottlerocket-os/bottlerocket/blob/develop/README.md) y las [versiones](https://github.com/bottlerocket-os/bottlerocket/releases) en GitHub.

Existen variantes de la AMI de Bottlerocket optimizada para Amazon ECS para los kernel 6.1 y 5.10.

Las siguientes variantes utilizan el kernel 6.1:
+ `aws-ecs-2`
+ `aws-ecs-2-nvidia`

Las siguientes variantes utilizan kernel 5.10:
+ `aws-ecs-1`
+ `aws-ecs-1-nvidia`

  Para obtener más información acerca de la variante `aws-ecs-1-nvidia`, consulte [Anuncio de la compatibilidad con GPU NVIDIA para Bottlerocket en Amazon ECS](https://aws.amazon.com/blogs/containers/announcing-nvidia-gpu-support-for-bottlerocket-on-amazon-ecs/).

## Consideraciones
<a name="ecs-bottlerocket-considerations"></a>

Tenga en cuenta lo siguiente al utilizar la AMI de Bottlerocket con Amazon ECS.
+ Bottlerocket admite instancias de Amazon EC2 con procesadores `x86_64` y `arm64`. No se recomienda utilizar la AMI Bottlerocket con instancias de Amazon EC2 con un chip Inferentia.
+ Las imágenes de Bottlerocket no incluyen un servidor SSH ni un shell. Sin embargo, puede utilizar herramientas de administración fuera de banda para obtener acceso de administrador SSH y realizar tareas de arranque. 

   Para obtener más información, consulte estas secciones en [bottlerocket README.md](https://github.com/bottlerocket-os/bottlerocket) en GitHub:
  + [Exploration (Exploración](https://github.com/bottlerocket-os/bottlerocket#exploration)
  + [Contenedor de administrador](https://github.com/bottlerocket-os/bottlerocket#admin-container)
+ De forma predeterminada, Bottlerocket tiene un [contenedor de control](https://github.com/bottlerocket-os/bottlerocket-control-container) que está habilitado. Este contenedor ejecuta el [agente de AWS Systems Manager](https://github.com/aws/amazon-ssm-agent) que puede utilizar para ejecutar comandos o iniciar sesiones de shell en instancias Bottlerocket de Amazon EC2. Para obtener más información, consulte [Configuración del administrador de sesiones](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html) en la *Guía del usuario de AWS Systems Manager*.
+ Bottlerocket está optimizado para cargas de trabajo de contenedores y se centra en la seguridad. Bottlerocket no incluye un administrador de paquetes y es inmutable. 

  Para obtener más información sobre las características y directrices de seguridad, consulte [Características de seguridad](https://github.com/bottlerocket-os/bottlerocket/blob/develop/SECURITY_FEATURES.md) y [Directrices sobre seguridad](https://github.com/bottlerocket-os/bottlerocket/blob/develop/SECURITY_GUIDANCE.md) en GitHub.
+ Se admite el modo de red `awsvpc` con la versión de AMI de Bottlerocket `1.1.0` o una posterior.
+ App Mesh en una definición de tarea es compatible con la versión AMI `1.15.0` de Bottlerocket o una posterior.
+ El parámetro de definición de tareas `initProcessEnabled` es compatible con la versión `1.19.0` de la AMI de Bottlerocket o una posterior.
+ Las AMI de Bottlerocket tampoco admiten los siguientes servicios y características:
  + ECS Anywhere
  + Service Connect
  + Amazon EFS en modo cifrado
  + Amazon EFS en modo de red `awsvpc`
  + Los volúmenes de Amazon EBS no se pueden montar
  + Acelerador de Elastic Inference

# Recuperación de metadatos de la AMI de Bottlerocket optimizada para Amazon ECS
<a name="ecs-bottlerocket-retrieve-ami"></a>

Puede recuperar el ID de Imagen de máquina de Amazon (AMI) de las AMI optimizadas para Amazon ECS al consultar la API de Parameter Store de AWS Systems Manager. Al utilizar este parámetro, no necesita buscar de manera manual los ID de la AMI optimizada para Amazon ECS. Para obtener más información acerca de la API de Systems Manager Parameter Store, consulte [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html). El usuario que utiliza debe tener el permiso de IAM `ssm:GetParameter` para recuperar los metadatos de la AMI optimizada para Amazon ECS.

## Variante de AMI de Bottlerocket `aws-ecs-2`
<a name="ecs-bottlerocket-aws-ecs-2-variant"></a>

Puede recuperar la última variante estable de la AMI de `aws-ecs-2` Bottlerocket con Región de AWS y arquitectura mediante la AWS CLI o la Consola de administración de AWS. 
+ **AWS CLI**: puede recuperar el ID de imagen de la última AMI de Bottlerocket optimizada para Amazon ECS recomendada con el siguiente comando de la AWS CLI mediante el parámetro secundario `image_id`. Sustituya `region` con el código de región para el que desee el ID de la AMI. 

  Para obtener información sobre las Regiones de AWS compatibles, consulte [Finding an AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) en GitHub. Para recuperar una versión que no sea la más reciente, sustituya `latest` con el número de versión.
  + Para 64 bits (`x86_64`) de arquitectura:

    ```
    aws ssm get-parameter --region us-east-2 --name "/aws/service/bottlerocket/aws-ecs-2/x86_64/latest/image_id" --query Parameter.Value --output text
    ```
  + Para 64 bits Arm (`arm64`) de arquitectura:

    ```
    aws ssm get-parameter --region us-east-2 --name "/aws/service/bottlerocket/aws-ecs-2/arm64/latest/image_id" --query Parameter.Value --output text
    ```
+ **Consola de administración de AWS** – puede consultar el ID de la AMI optimizada para Amazon ECS recomendada mediante una URL en la Consola de administración de AWS. La URL abre la consola de Amazon EC2 Systems Manager con el valor del ID del parámetro. En la siguiente URL, sustituya `region` con el código de región para el que desee el ID de la AMI. 

   Para obtener información sobre las Regiones de AWS compatibles, consulte [Finding an AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) en GitHub.
  + Para 64 bits (`x86_64`) de arquitectura:

    ```
    https://console.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-2/x86_64/latest/image_id/description?region=region#
    ```
  + Para 64 bits Arm (`arm64`) de arquitectura:

    ```
    https://console.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-2/arm64/latest/image_id/description?region=region#
    ```

## Variante de AMI de Bottlerocket `aws-ecs-2-nvidia`
<a name="ecs-bottlerocket-aws-ecs-1-nvidia-variants"></a>

Puede recuperar la última variante estable de la AMI de `aws-ecs-2-nvdia` Bottlerocket por región y arquitectura con la AWS CLI o la Consola de administración de AWS. 
+ **AWS CLI**: puede recuperar el ID de imagen de la última AMI de Bottlerocket optimizada para Amazon ECS recomendada con el siguiente comando de la AWS CLI mediante el parámetro secundario `image_id`. Sustituya `region` con el código de región para el que desee el ID de la AMI. 

   Para obtener información sobre las Regiones de AWS compatibles, consulte [Finding an AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) en GitHub. Para recuperar una versión que no sea la más reciente, sustituya `latest` con el número de versión.
  + Para 64 bits (`x86_64`) de arquitectura:

    ```
    aws ssm get-parameter --region us-east-1 --name "/aws/service/bottlerocket/aws-ecs-2-nvidia/x86_64/latest/image_id" --query Parameter.Value --output text
    ```
  + Para 64 bits Arm (`arm64`) de arquitectura:

    ```
    aws ssm get-parameter --region us-east-1 --name "/aws/service/bottlerocket/aws-ecs-2-nvidia/arm64/latest/image_id" --query Parameter.Value --output text
    ```
+ **Consola de administración de AWS** – puede consultar el ID de la AMI optimizada para Amazon ECS recomendada mediante una URL en la Consola de administración de AWS. La URL abre la consola de Amazon EC2 Systems Manager con el valor del ID del parámetro. En la siguiente URL, sustituya `region` con el código de región para el que desee el ID de la AMI. 

  Para obtener información sobre las Regiones de AWS compatibles, consulte [Finding an AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) en GitHub.
  + Para 64 bits (`x86_64`) de arquitectura:

    ```
    https://regionconsole.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-2-nvidia/x86_64/latest/image_id/description?region=region#
    ```
  + Para 64 bits Arm (`arm64`) de arquitectura:

    ```
    https://regionconsole.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-2-nvidia/arm64/latest/image_id/description?region=region#
    ```

## Variante de AMI de Bottlerocket `aws-ecs-1`
<a name="ecs-bottlerocket-aws-ecs-1-variant"></a>

Puede recuperar la última variante estable de la AMI de `aws-ecs-1` Bottlerocket con Región de AWS y arquitectura mediante la AWS CLI o la Consola de administración de AWS. 
+ **AWS CLI**: puede recuperar el ID de imagen de la última AMI de Bottlerocket optimizada para Amazon ECS recomendada con el siguiente comando de la AWS CLI mediante el parámetro secundario `image_id`. Sustituya `region` con el código de región para el que desee el ID de la AMI. 

  Para obtener información sobre las Regiones de AWS compatibles, consulte [Finding an AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) en GitHub. Para recuperar una versión que no sea la más reciente, sustituya `latest` con el número de versión.
  + Para 64 bits (`x86_64`) de arquitectura:

    ```
    aws ssm get-parameter --region us-east-1 --name "/aws/service/bottlerocket/aws-ecs-1/x86_64/latest/image_id" --query Parameter.Value --output text
    ```
  + Para 64 bits Arm (`arm64`) de arquitectura:

    ```
    aws ssm get-parameter --region us-east-1 --name "/aws/service/bottlerocket/aws-ecs-1/arm64/latest/image_id" --query Parameter.Value --output text
    ```
+ **Consola de administración de AWS** – puede consultar el ID de la AMI optimizada para Amazon ECS recomendada mediante una URL en la Consola de administración de AWS. La URL abre la consola de Amazon EC2 Systems Manager con el valor del ID del parámetro. En la siguiente URL, sustituya `region` con el código de región para el que desee el ID de la AMI.

  Para obtener información sobre las Regiones de AWS compatibles, consulte [Finding an AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) en GitHub.
  + Para 64 bits (`x86_64`) de arquitectura:

    ```
    https://region.console.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-1/x86_64/latest/image_id/description
    ```
  + Para 64 bits Arm (`arm64`) de arquitectura:

    ```
    https://region.console.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-1/arm64/latest/image_id/description
    ```

## Variante de AMI de Bottlerocket `aws-ecs-1-nvidia`
<a name="ecs-bottlerocket-aws-ecs-1-nvidia-variants"></a>

Puede recuperar la última variante estable de la AMI de `aws-ecs-1-nvdia` Bottlerocket por región y arquitectura con la AWS CLI o la Consola de administración de AWS. 
+ **AWS CLI**: puede recuperar el ID de imagen de la última AMI de Bottlerocket optimizada para Amazon ECS recomendada con el siguiente comando de la AWS CLI mediante el parámetro secundario `image_id`. Sustituya `region` con el código de región para el que desee el ID de la AMI. 

  Para obtener información sobre las Regiones de AWS compatibles, consulte [Finding an AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) en GitHub.
  + Para 64 bits (`x86_64`) de arquitectura:

    ```
    aws ssm get-parameter --region us-east-1 --name "/aws/service/bottlerocket/aws-ecs-1-nvidia/x86_64/latest/image_id" --query Parameter.Value --output text
    ```
  + Para 64 bits Arm (`arm64`) de arquitectura:

    ```
    aws ssm get-parameter --region us-east-1 --name "/aws/service/bottlerocket/aws-ecs-1-nvidia/arm64/latest/image_id" --query Parameter.Value --output text
    ```
+ **Consola de administración de AWS** – puede consultar el ID de la AMI optimizada para Amazon ECS recomendada mediante una URL en la Consola de administración de AWS. La URL abre la consola de Amazon EC2 Systems Manager con el valor del ID del parámetro. En la siguiente URL, sustituya `region` con el código de región para el que desee el ID de la AMI. 

  Para obtener información sobre las Regiones de AWS compatibles, consulte [Finding an AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) en GitHub.
  + Para 64 bits (`x86_64`) de arquitectura:

    ```
    https://console.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-1-nvidia/x86_64/latest/image_id/description?region=region#
    ```
  + Para 64 bits Arm (`arm64`) de arquitectura:

    ```
    https://console.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-1-nvidia/arm64/latest/image_id/description?region=region#
    ```

## Siguientes pasos
<a name="bottlerocket-next-steps"></a>

Para obtener un tutorial detallado sobre cómo empezar a utilizar el sistema operativo Bottlerocket en Amazon ECS, consulte [Uso de una AMI de Bottlerocket con Amazon ECS](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md) en GitHub e [Introducción a Bottlerocket y Amazon ECS](https://aws.amazon.com/blogs/containers/getting-started-with-bottlerocket-and-amazon-ecs/) en el blog de AWS.

Para obtener más información acerca de cómo iniciar una instancia de Bottlerocket, consulte [Lanzamiento de una instancia de Bottlerocket para Amazon ECS](bottlerocket-launch.md).

# Lanzamiento de una instancia de Bottlerocket para Amazon ECS
<a name="bottlerocket-launch"></a>

Puede iniciar una instancia de Bottlerocket para poder ejecutar sus cargas de trabajo de contenedor.

Puede utilizar la AWS CLI para iniciar la instancia de Bottlerocket.

1. Cree un archivo denominado `userdata.toml`. Este archivo se utiliza para los datos de usuario de la instancia. Sustituya *cluster-name* por el nombre de su clúster.

   ```
   [settings.ecs]
   cluster = "cluster-name"
   ```

1. Utilice uno de los comandos que se incluyen en [Recuperación de metadatos de la AMI de Bottlerocket optimizada para Amazon ECS](ecs-bottlerocket-retrieve-ami.md) para obtener el ID de la AMI de Bottlerocket. Utilice esto en el siguiente paso.

1. Ejecute el siguiente comando para lanzar una instancia de Bottlerocket. Recuerde reemplazar los siguientes parámetros:
   + Sustituya la *subred* por el ID de la subred pública o privada en la que se lanzará la instancia.
   + Sustituya *bottlerocket\$1ami* por el ID de la AMI del paso anterior.
   + Sustituya *t3.large* por el tipo de instancia que desee usar.
   + Sustituya *región* por su código de región.

   ```
   aws ec2 run-instances --key-name ecs-bottlerocket-example \
      --subnet-id subnet \
      --image-id bottlerocket_ami \
      --instance-type t3.large \
      --region region \
      --tag-specifications 'ResourceType=instance,Tags=[{Key=bottlerocket,Value=example}]' \
      --user-data file://userdata.toml \
      --iam-instance-profile Name=ecsInstanceRole
   ```

1. Ejecute el siguiente comando para comprobar que la instancia de contenedor está registrada en el clúster. Al ejecutar este comando, recuerde reemplazar los siguientes parámetros:
   + Sustituya *clúster* por el nombre del clúster.
   + Sustituya *región* por el código de región.

   ```
   aws ecs list-container-instances --cluster cluster-name --region region
   ```

Para obtener una explicación detallada sobre cómo empezar a utilizar el sistema operativo Bottlerocket en Amazon ECS, consulte [Uso de una AMI de Bottlerocket con Amazon ECS](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md) en GitHub e Introducción a [Bottlerocket y Amazon ECS](https://aws.amazon.com/blogs/containers/getting-started-with-bottlerocket-and-amazon-ecs/) en el blog de AWS.

# Administración de instancias de contenedor de Linux de Amazon ECS
<a name="manage-linux"></a>

Cuando utiliza instancias de EC2 para las cargas de trabajo de Amazon ECS, es responsable del mantenimiento de instancias.

**Topics**
+ [Lanzamiento de una instancia de contenedor](launch_container_instance.md)
+ [Arranque de instancias de contenedor de Linux](bootstrap_container_instance.md)
+ [Configuración de instancias de contenedor para recibir avisos de instancias de spot](spot-instance-draining-linux-container.md)
+ [Ejecución de un script al lanzar una instancia de contenedor](start_task_at_launch.md)
+ [Aumento de las interfaces de red de instancias de contenedor de Linux de Amazon ECS](container-instance-eni.md)
+ [Reserva de la memoria de instancias de contenedor](memory-management.md)
+ [Administración remota de instancias de contenedor](ec2-run-command.md)
+ [Uso de un proxy HTTP para instancias de contenedor de Linux](http_proxy_config.md)
+ [Configuración de instancias preinicializadas para el grupo de escalado automático](using-warm-pool.md)
+ [Actualización del agente de contenedor de Amazon ECS](ecs-agent-update.md)

Cada versión del agente de contenedor de Amazon ECS admite un conjunto de características diferente y proporciona correcciones de errores de versiones anteriores. Cuando sea posible, siempre recomendamos utilizar la versión más reciente del agente de contenedor de Amazon ECS. Para actualizar el agente de contenedor a la versión más reciente, consulte [Actualización del agente de contenedor de Amazon ECS](ecs-agent-update.md).

Para ver las características y mejoras incluidas en cada versión del agente, consulte [https://github.com/aws/amazon-ecs-agent/releases](https://github.com/aws/amazon-ecs-agent/releases).

**importante**  
La versión mínima de Docker para obtener métricas fiables es la versión de Docker `v20.10.13` y versiones posteriores, que se incluyen en la AMI `20220607` optimizada para Amazon ECS y versiones posteriores.  
Los agentes de Amazon ECS versión `1.20.0` y posteriores ya no admiten versiones de Docker anteriores a la `18.01.0`.

# Lanzamiento de una instancia de contenedor de Linux de Amazon ECS
<a name="launch_container_instance"></a>

Puede crear instancias de contenedor de Amazon ECS mediante la consola de Amazon EC2. 

Puede lanzar una instancia con varios métodos, incluidos la consola de Amazon EC2, AWS CLI y SDK. Para obtener información sobre los demás métodos para lanzar una instancia, consulte [Iniciar la instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) en la *Guía del usuario de Amazon EC2*.

Para obtener más información acerca del asistente de inicialización, consulte [Lance una instancia con el nuevo asistente de inicialización de instancias](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html) en la *Guía del usuario de Amazon EC2*. 

Antes de comenzar, complete los pasos de [Configuración para utilizar Amazon ECS](get-set-up-for-amazon-ecs.md).

Puede utilizar el nuevo asistente de Amazon EC2 para lanzar una instancia. El asistente de inicialización de instancias especifica todos los parámetros de inicialización necesarios para iniciar una instancia. 

**Topics**
+ [Procedimiento](#linux-liw-initiate-instance-launch)
+ [Nombre y etiquetas](#linux-liw-name-and-tags)
+ [Imágenes de aplicaciones y sistema operativo (Imagen de máquina de Amazon)](#linux-liw-ami)
+ [Tipo de instancia](#linux-liw-instance-type)
+ [Par de claves (inicio de sesión)](#linux-liw-key-pair)
+ [Configuración de red](#linux-liw-network-settings)
+ [Configurar almacenamiento](#linux-liw-storage)
+ [Detalles avanzados](#linux-liw-advanced-details)

## Procedimiento
<a name="linux-liw-initiate-instance-launch"></a>

Antes de comenzar, complete los pasos de [Configuración para utilizar Amazon ECS](get-set-up-for-amazon-ecs.md).

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En la barra de navegación de la parte superior de la pantalla, se muestra la región de AWS actual (por ejemplo, Este de EE. UU. [Ohio]). Seleccione una región en la que se va a iniciar la instancia. 

1. En el panel de la consola de Amazon EC2, elija **Iniciar instancia**.

## Nombre y etiquetas
<a name="linux-liw-name-and-tags"></a>

El nombre de la instancia es una etiqueta, donde la clave es **Name** (Nombre) y el valor es el nombre que especifique. Puede etiquetar la instancia, los volúmenes y los gráficos elásticos. Para las instancias de spot, solo puede etiquetar la solicitud de instancia de spot. 

Especificar un nombre de instancia y etiquetas adicionales es opcional.
+ En **Name** (Nombre), ingrese un nombre descriptivo para la instancia. Si no especifica un nombre, la instancia se puede identificar mediante su ID, que se genera automáticamente al iniciar la instancia.
+ Para agregar otras etiquetas, elija **Add additional tag** (Agregar etiqueta adicional). Elija **Add tag** (Agregar etiqueta) y, a continuación, ingrese una clave y un valor, y seleccione el tipo de recurso que desea etiquetar. Elija **Add tag** (Agregar etiqueta) para cada etiqueta adicional.

## Imágenes de aplicaciones y sistema operativo (Imagen de máquina de Amazon)
<a name="linux-liw-ami"></a>

Una Imagen de máquina de Amazon (AMI) proporciona la información necesaria para crear una instancia. Por ejemplo, una AMI puede contener el software necesario para funcionar como servidor web, como Apache, y su sitio web.

Utilice la barra de **búsqueda** para buscar una AMI optimizada para Amazon ECS adecuada publicada por AWS.

1. Escriba uno de los siguientes términos en la barra de **búsqueda**.
   + **ami-ecs**
   + El **valor** de una AMI optimizada para Amazon ECS.

     Para obtener las AMI optimizadas para Amazon ECS más recientes y sus valores, consulte [Versiones de AMI de Linux optimizadas para Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux).

1. Pulse **Intro**.

1. En la página **Choose an Amazon Machine Image (AMI)** (Elija una imagen de máquina de Amazon [AMI]), seleccione la categoría **AWSMarketplace AMIs** (AMI de Marketplace).

1. En el panel **Refine results** (Limitar resultados) situado a la izquierda, seleccione **Amazon Web Services** como **publicador**.

1. Elija **Select** (Seleccionar) en la fila de la AMI que desea utilizar.

   De manera alternativa, elija **Cancel** (Cancelar) (en la parte superior derecha) para volver al asistente de instancias de lanzamiento sin elegir una AMI. Se seleccionará una AMI predeterminada. Asegúrese de que la AMI cumpla con los requisitos descritos en las [AMI de Linux optimizadas para Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html).

## Tipo de instancia
<a name="linux-liw-instance-type"></a>

El tipo de instancia define la configuración de hardware y el tamaño de la instancia. Los tipos de instancia más grandes tienen una CPU y memoria superiores. Para obtener más información, consulte [Tipos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) en la *Guía del usuario de Amazon EC2*. Si quiere poner en marcha una carga de trabajo de solo IPv6, algunos tipos de instancias no admiten direcciones IPv6. Para obtener más información, consulte [direcciones IPv6](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#ipv6-addressing) en la *Guía del usuario de Amazon EC2*.
+ En **Instance Type** (Tipo de instancia), seleccione el tipo de instancia de la instancia. 

   El tipo de instancia que seleccione determina los recursos disponibles para poner en marcha sus tareas.

## Par de claves (inicio de sesión)
<a name="linux-liw-key-pair"></a>

En **Key pair name** (Nombre de par de claves) seleccione un par de claves existente o seleccione **Create new key pair** (Crear nuevo par de claves) para crear uno nuevo. 

**importante**  
Si elige la opción **Proceed without key pair (Not recommended)** (Continuar sin un par de claves [No recomendado]), no podrá conectarse a la instancia a menos que elija una AMI que esté configurada para ofrecer a los usuarios otra forma de iniciar sesión.

## Configuración de red
<a name="linux-liw-network-settings"></a>

Configure los ajustes de red según sea necesario después de pulsar el botón **Editar** en la sección de **ajustes de red** del formulario.
+ Para **VPC**, elija la VPC en la que desea lanzar su instancia. Para poner en marcha una carga de trabajo de solo IPv6, elija una VPC de pila doble que incluya un bloque de CIDR IPv4 y un bloque de CIDR IPv6.
+ En **Subred**, elija la subred en la que desea lanzar la instancia. Puede lanzar una instancia en una subred asociada con una zona de disponibilidad, zona local, zona de Wavelength u Outpost.

  Para iniciar la instancia en una zona de disponibilidad, seleccione la subred en la que desea iniciar la instancia. Para crear una subred, elija **Crear nueva subred** para ir a la consola de Amazon VPC. Cuando haya terminado, vuelva al asistente de lanzamiento de instancias y elija el ícono Refresh (Actualizar) para cargar la subred en la lista.

  Para iniciar la instancia en una zona local, seleccione una subred que haya creado en la zona local. 

  Para iniciar una instancia en un Outpost, seleccione una subred en una VPC que haya asociado a un Outpost.

  Para poner en marcha una carga de trabajo de solo IPv6, elija una subred que incluya únicamente un bloque de CIDR IPv6.
+ **Auto-assign Public IP** (Asignar automáticamente IP pública): si desea que se pueda acceder a la instancia desde Internet, compruebe que el campo **Auto-assign Public IP** (Asignar automáticamente IP pública) esté configurado como **Enable** (Habilitar). De lo contrario, configure este campo como **Disable** (Deshabilitar).
**nota**  
Las instancias de contenedor deben obtener acceso para comunicarse con el punto de conexión del servicio de Amazon ECS. Esto puede ser a través de un punto de conexión de VPC de la interfaz o a través de las instancias de contenedor con direcciones IP públicas.  
Para obtener más información acerca de los puntos de conexión de VPC, consulte [Puntos de enlace de la VPC de interfaz de Amazon ECS (AWS PrivateLink)](vpc-endpoints.md).  
Si no tiene configurado un punto de conexión de VPC de la interfaz y las instancias de contenedor no tienen direcciones IP públicas, deberán utilizar traducción de direcciones de red (NAT) para proporcionar este acceso. Para obtener más información, consulte [Puertas de enlace NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) en la *Guía del usuario de Amazon VPC* y [Uso de un proxy HTTP para instancias de contenedor de Linux de Amazon ECS](http_proxy_config.md) en esta guía. 
+ Si elige una VPC de doble pila y una subred de solo IPv6, en **Asignar automáticamente una IP de IPv6**, elija **Habilitar**.
+ **Firewall (security groups)** Firewall (grupos de seguridad): utilice un grupo de seguridad para definir reglas de firewall para la instancia de contenedor. Estas reglas especifican qué tráfico procedente de la red se entregará en la instancia de contenedor. El resto del tráfico se ignora. 
  + Para seleccionar un grupo de seguridad existente, elija **Select an existing security group** (Seleccionar un grupo de seguridad existente) y seleccione el grupo de seguridad que creó en [Configuración para utilizar Amazon ECS](get-set-up-for-amazon-ecs.md).
+ Si va a lanzar la instancia para una carga de trabajo de solo IPv6, elija **Configuración de red avanzada** y, a continuación, en **Asignar IP IPv6 principal**, elija **Sí**.
**nota**  
Sin una dirección IPv6 principal, las tareas que se pongan en marcha en la instancia de contenedor en los modos de red host o puente no se registrarán con los equilibradores de carga ni con AWS Cloud Map.

## Configurar almacenamiento
<a name="linux-liw-storage"></a>

La AMI seleccionada incluye uno o más volúmenes de almacenamiento, incluido el volumen de dispositivo raíz. Se pueden especificar volúmenes adicionales para adjuntar a la instancia.

Se puede utilizar la vista **Simple** (Simple).
+ **Storage type** (Tipo de almacenamiento): configure el almacenamiento de la instancia de contenedor.

  Si utiliza la AMI de Amazon Linux 2 optimizada para Amazon ECS, la instancia tiene un único volumen de 30 GiB configurado, que se comparte entre el sistema operativo y Docker.

  Si utiliza la AMI optimizada para Amazon ECS, la instancia tiene configurados dos volúmenes. El volumen **raíz** lo utiliza el sistema operativo y el segundo volumen de Amazon EBS (asociado a `/dev/xvdcz`) lo utiliza Docker.

  Si lo desea, puede aumentar o reducir el tamaño de volumen para su instancia de acuerdo con las necesidades de su aplicación.

## Detalles avanzados
<a name="linux-liw-advanced-details"></a>

En **Detalles avanzados**, expanda la sección para ver los campos y especifique cualquier parámetro adicional para la instancia.
+ **Purchasing option** (Opción de compra): elija **Request Spot instances** (Solicitar instancias de spot) para solicitar una instancia de spot. También debe establecer el resto de los campos relacionados con las instancias de Spot. Para obtener más información, consulte [Spot Instance Requests](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) (Solicitudes de instancias de Spot).
**nota**  
Si utiliza instancias de Spot y ve un mensaje que indica `Not available`, es posible que deba elegir un tipo de instancia diferente.
+ En **IAM instance profile** (Perfil de instancia de IAM), seleccione el rol de IAM de la instancia de contenedor. Suele llamarse `ecsInstanceRole`.
**importante**  
Si no lanza la instancia de contenedor con los permisos de IAM correspondientes, el agente de Amazon ECS no puede conectarse al clúster. Para obtener más información, consulte [Rol de IAM de instancia de contenedor de Amazon ECS](instance_IAM_role.md).
+ **Datos de usuario**: configure la instancia de contenedor de Amazon ECS con los datos de usuario, por ejemplo, las variables de entorno del agente de [Configuración del agente de contenedor de Amazon ECS](ecs-agent-config.md). Los scripts de datos de usuario de Amazon EC2 se ponen en marcha solo una vez, cuando la instancia se lanza por primera vez. A continuación, se muestran ejemplos comunes del uso de los datos del usuario:
  + De forma predeterminada, su instancia de contenedor se abre en su clúster predeterminado. Para abrirlo en un clúster no predeterminado, seleccione la lista **Advanced Details**. A continuación, pegue el siguiente script en el campo **User data**, reemplazando *your\$1cluster\$1name* con el nombre de su clúster.

    ```
    #!/bin/bash
    echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
    ```
  + Si tiene un archivo `ecs.config` en Amazon S3 y ha habilitado el acceso de solo lectura de Amazon S3 en el rol de instancia de contenedor, elija la lista **Advanced Details** (Detalles avanzados). A continuación, pegue el siguiente script en el campo **User data (Datos de usuario)**, sustituyendo *your\$1bucket\$1name* por el nombre del bucket para instalar la AWS CLI y escriba su archivo de configuración en el momento del lanzamiento. 
**nota**  
Para obtener más información acerca de esta configuración, consulte [Almacenamiento de la configuración de instancia de contenedor de Amazon ECS en Amazon S3](ecs-config-s3.md).

    ```
    #!/bin/bash
    yum install -y aws-cli
    aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
    ```
  + Especifique las etiquetas para su instancia de contenedor mediante el parámetro de configuración `ECS_CONTAINER_INSTANCE_TAGS`. De esto modo, se crean etiquetas que solo están asociadas a Amazon ECS; no se pueden enumerar mediante la API de Amazon EC2.
**importante**  
Si inicia las instancias de contenedor mediante un grupo de Amazon EC2 Auto Scaling, debe utilizar el parámetro de configuración del agente ECS\$1CONTAINER\$1INSTANCE\$1TAGS para agregar etiquetas. Esto se debe a la forma en que se agregan las etiquetas a las instancias de Amazon EC2 que se lanzan mediante grupos de Auto Scaling.

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_CONTAINER_INSTANCE_TAGS={"tag_key": "tag_value"}
    EOF
    ```
  + Especifique las etiquetas para la instancia de contenedor y, a continuación, utilice el parámetro de configuración `ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM` para propagarlas de Amazon EC2 a Amazon ECS

    A continuación se muestra un ejemplo de un script de datos de usuario que propaga las etiquetas asociadas a una instancia de contenedor, y registra la instancia de contenedor con un clúster denominado `your_cluster_name`:

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM=ec2_instance
    EOF
    ```
  + De forma predeterminada, el agente de contenedor de Amazon ECS intentará detectar la compatibilidad de la instancia de contenedor con una configuración de solo IPv6 observando las rutas IPv4 e IPv6 predeterminadas de la instancia. Para anular este comportamiento, puede establecer el parámetro ` ECS_INSTANCE_IP_COMPATIBILITY` en `ipv4` o `ipv6` en el archivo `/etc/ecs/ecs.config` de la instancia.

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_INSTANCE_IP_COMPATIBILITY=ipv6
    EOF
    ```

  Para obtener más información, consulte [Arranque de instancias de contenedor de Linux de Amazon ECS para la transferencia de datos](bootstrap_container_instance.md).

# Arranque de instancias de contenedor de Linux de Amazon ECS para la transferencia de datos
<a name="bootstrap_container_instance"></a>

Cuando se lanza una instancia de Amazon EC2, puede transferir los datos de usuario a la instancia de EC2. Los datos se pueden utilizar para llevar a cabo tareas de configuración automatizadas comunes e incluso poner en marcha scripts cuando la instancia arranca. En Amazon ECS, los casos de uso más comunes para los datos de usuario consisten en transferir la información de configuración al daemon de Docker y al agente de contenedor de Amazon ECS.

Puede transferir varios tipos de datos de usuario a Amazon EC2, incluidos cloud boothooks, scripts de shell y directivas `cloud-init`. Para obtener más información acerca de estos u otros tipos de formato, consulte la [documentación de Cloud-Init](https://cloudinit.readthedocs.io/en/latest/explanation/format.html). 

Para transferir los datos de usuario al utilizar el asistente de lanzamiento de Amazon EC2, consulte [Lanzamiento de una instancia de contenedor de Linux de Amazon ECS](launch_container_instance.md).

Puede configurar la instancia de contenedor para transferir los datos en la configuración del agente de contenedor o en la configuración del daemon de Docker.

## Agente de contenedor de Amazon ECS
<a name="bootstrap_container_agent"></a>

Las variantes de Linux de la AMI optimizada para Amazon ECS buscan datos de configuración del agente en el archivo `/etc/ecs/ecs.config` cuando se inicia el agente de contenedor. Puede especificar estos datos de configuración durante el lanzamiento con datos de usuario de Amazon EC2. Para obtener más información acerca de las variables de configuración del agente de contenedor de Amazon ECS disponibles, consulte [Configuración del agente de contenedor de Amazon ECS](ecs-agent-config.md).

Para establecer solo una variable de configuración del agente como, por ejemplo, el nombre del clúster, utilice **echo** para copiar la variable en el archivo de configuración:

```
#!/bin/bash
echo "ECS_CLUSTER=MyCluster" >> /etc/ecs/ecs.config
```

Si tiene varias variables que escribir en `/etc/ecs/ecs.config`, utilice el formato `heredoc` siguiente. Este formato escribe todo entre las líneas que comienzan por **cat** y `EOF` en el archivo de configuración.

```
#!/bin/bash
cat <<'EOF' >> /etc/ecs/ecs.config
ECS_CLUSTER=MyCluster
ECS_ENGINE_AUTH_TYPE=docker
ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"username":"my_name","password":"my_password","email":"email@example.com"}}
ECS_LOGLEVEL=debug
ECS_WARM_POOLS_CHECK=true
EOF
```

Para configurar los atributos de instancia personalizados, defina la variable de entorno `ECS_INSTANCE_ATTRIBUTES`.

```
#!/bin/bash
cat <<'EOF' >> ecs.config
ECS_INSTANCE_ATTRIBUTES={"envtype":"prod"}
EOF
```

## Daemon de Docker
<a name="bootstrap_docker_daemon"></a>

Puede especificar la información de configuración del daemon de Docker con los datos de usuario de Amazon EC2. Para obtener más información sobre las opciones de configuración, consulte [la documentación del daemon de Docker](https://docs.docker.com/reference/cli/dockerd/).

**nota**  
AWS no admite configuraciones personalizadas de Docker, ya que a veces pueden entrar en conflicto con futuros cambios o características de Amazon ECS sin previo aviso.

En el ejemplo siguiente, las opciones personalizadas se agregan al archivo de configuración del daemon de Docker, que es `/etc/docker/daemon.json`, y luego se especifica en los datos del usuario cuando se lanza la instancia.

```
#!/bin/bash
cat <<EOF >/etc/docker/daemon.json
{"debug": true}
EOF
systemctl restart docker --no-block
```

En el ejemplo siguiente, las opciones personalizadas se agregan al archivo de configuración del daemon de Docker, que es `/etc/docker/daemon.json`, y luego se especifica en los datos del usuario cuando se lanza la instancia. En este ejemplo se muestra cómo activar o desactivar el docker-proxy en el archivo de configuración de daemon de Docker.

```
#!/bin/bash
cat <<EOF >/etc/docker/daemon.json
{"userland-proxy": false}
EOF
systemctl restart docker --no-block
```

# Configuración de instancias de contenedor de Linux de Amazon ECS para recibir avisos de instancias de spot
<a name="spot-instance-draining-linux-container"></a>

Amazon EC2 termina, detiene o hiberna la instancia de spot cuando el precio de spot supera el precio máximo de su solicitud o cuando ya no hay más capacidad. Amazon EC2 envía un aviso de interrupción de dos minutos de la instancia de spot para la terminación y la detención de acciones. No proporciona el aviso de dos minutos para la acción de hibernación. Si el drenaje de instancias de spot de Amazon ECS está activado en la instancia, Amazon ECS recibe el aviso de interrupción de la instancia de spot y coloca la instancia en el estado `DRAINING`. 

**importante**  
Amazon ECS no recibe ningún aviso de Amazon EC2 cuando Auto Scaling Capacity Rebalancing elimina las instancias. Para obtener más información, consulte [Reequilibrio de la capacidad de Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html).

Cuando se establece una instancia de contenedor en `DRAINING`, Amazon ECS evita que se programen nuevas tareas para su ubicación en la instancia de contenedor. Las tareas de servicio en la instancia de contenedor que se está vaciando que están en el estado `PENDING` se paran de inmediato. Si hay instancias de contenedor en el clúster que están disponibles, las tareas de servicio de sustitución se inician en ellas.

El drenaje de instancias de spot está desactivado de forma predeterminada. 

Puede activar el drenaje de instancias de spot al lanzar una instancia. Agregue el script siguiente en el campo **Datos de usuario**. Reemplace *MyCluster* por el nombre del clúster en el que se va a registrar la instancia de contenedor.

```
#!/bin/bash
cat <<'EOF' >> /etc/ecs/ecs.config
ECS_CLUSTER=MyCluster
ECS_ENABLE_SPOT_INSTANCE_DRAINING=true
EOF
```

Para obtener más información, consulte [Lanzamiento de una instancia de contenedor de Linux de Amazon ECS](launch_container_instance.md).

**Para activar el vaciado de instancias de spot para una instancia de contenedor existente**

1. Conéctese a la instancia de spot a través de SSH.

1. Edite el archivo `/etc/ecs/ecs.config` y añada lo siguiente:

   ```
   ECS_ENABLE_SPOT_INSTANCE_DRAINING=true
   ```

1. Reinicie el servicio `ecs`.
   + Para la AMI de Amazon Linux 2 optimizada para Amazon ECS:

     ```
     sudo systemctl restart ecs
     ```

1. (Opcional) Puede verificar que el agente esté en marcha y ver información acerca de la nueva instancia de contenedor consultando la operación de la API de introspección del agente. Para obtener más información, consulte [Introspección de contenedor de Amazon ECS](ecs-agent-introspection.md).

   ```
   curl http://localhost:51678/v1/metadata
   ```

# Ejecución de un script al lanzar una instancia de contenedor de Linux de Amazon ECS
<a name="start_task_at_launch"></a>

Es posible que tenga que ejecutar un contenedor específico en cada instancia de contenedor para tratar problemas de seguridad o de operaciones tales como la supervisión, seguridad, métricas, detección de servicios o registro.

Para ello, puede configurar sus instancias de contenedor para llamar al comando **docker run** con el script de datos de usuario durante el lanzamiento o en algún sistema de inicio como Upstart o **systemd**. Aunque este método funciona, tiene algunas desventajas ya que Amazon ECS no conoce el contenedor y no puede monitorear la CPU, la memoria, los puertos ni ningún otro recurso utilizado. A fin de garantizar que Amazon ECS pueda contabilizar correctamente todos los recursos de tareas, cree una definición de tareas para que el contenedor las ejecute en las instancias de contenedor. A continuación, utilice Amazon ECS para ubicar la tarea en el momento del lanzamiento con los datos de usuario de Amazon EC2.

En el siguiente procedimiento, el script de datos de usuario de Amazon EC2 utiliza la API de introspección de Amazon ECS para identificar la instancia de contenedor. A continuación, utiliza la AWS CLI y el comando **start-task** para ejecutar una tarea especificada en sí mismo durante el inicio. 

**Para iniciar una tarea en el momento del lanzamiento de una instancia de contenedor**

1. Modifique el rol de IAM `ecsInstanceRole` para añadir permisos para la operación `StartTask` de la API. Para obtener más información, consulte [Actualización de los permisos de un rol](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_update-role-permissions.html) en la *Guía del usuario de AWS Identity and Access Management*.

1. Lance una o más instancias de contenedor mediante la AMI de Amazon Linux 2 optimizada para Amazon ECS. Lance nuevas instancias de contenedor y utilice el siguiente script de ejemplo en Datos de usuario de EC2. Reemplace *your\$1cluster\$1name* por el clúster de la instancia de contenedor en el que desea registrarse y *my\$1task\$1def* por la definición de tarea que desea ejecutar en la instancia en el momento del lanzamiento. 

   Para obtener más información, consulte [Lanzamiento de una instancia de contenedor de Linux de Amazon ECS](launch_container_instance.md).
**nota**  
El contenido multiparte de MIME a continuación utiliza un script de shell para establecer valores de configuración e instalar paquetes. También utiliza un trabajo systemd para iniciar la tarea después de la ejecución del servicio **ecs** y una vez que la API de introspección está disponible.

   ```
   Content-Type: multipart/mixed; boundary="==BOUNDARY=="
   MIME-Version: 1.0
   
   --==BOUNDARY==
   Content-Type: text/x-shellscript; charset="us-ascii"
   
   #!/bin/bash
   # Specify the cluster that the container instance should register into
   cluster=your_cluster_name
   
   # Write the cluster configuration variable to the ecs.config file
   # (add any other configuration variables here also)
   echo ECS_CLUSTER=$cluster >> /etc/ecs/ecs.config
   
   START_TASK_SCRIPT_FILE="/etc/ecs/ecs-start-task.sh"
   cat <<- 'EOF' > ${START_TASK_SCRIPT_FILE}
   	exec 2>>/var/log/ecs/ecs-start-task.log
   	set -x
   	
   	# Install prerequisite tools
   	yum install -y jq aws-cli
   	
   	# Wait for the ECS service to be responsive
   	until curl -s http://localhost:51678/v1/metadata
   	do
   		sleep 1
   	done
   
   	# Grab the container instance ARN and AWS Region from instance metadata
   	instance_arn=$(curl -s http://localhost:51678/v1/metadata | jq -r '. | .ContainerInstanceArn' | awk -F/ '{print $NF}' )
   	cluster=$(curl -s http://localhost:51678/v1/metadata | jq -r '. | .Cluster' | awk -F/ '{print $NF}' )
   	region=$(curl -s http://localhost:51678/v1/metadata | jq -r '. | .ContainerInstanceArn' | awk -F: '{print $4}')
   
   	# Specify the task definition to run at launch
   	task_definition=my_task_def
   
   	# Run the AWS CLI start-task command to start your task on this container instance
   	aws ecs start-task --cluster $cluster --task-definition $task_definition --container-instances $instance_arn --started-by $instance_arn --region $region
   EOF
   
   # Write systemd unit file
   UNIT="ecs-start-task.service"
   cat <<- EOF > /etc/systemd/system/${UNIT}
         [Unit]
         Description=ECS Start Task
         Requires=ecs.service
         After=ecs.service
    
         [Service]
         Restart=on-failure
         RestartSec=30
         ExecStart=/usr/bin/bash ${START_TASK_SCRIPT_FILE}
   
         [Install]
         WantedBy=default.target
   EOF
   
   # Enable our ecs.service dependent service with `--no-block` to prevent systemd deadlock
   # See https://github.com/aws/amazon-ecs-agent/issues/1707
   systemctl enable --now --no-block "${UNIT}"
   --==BOUNDARY==--
   ```

1. Compruebe que sus instancias de contenedor se lancen en el clúster correcto y que sus tareas se hayan iniciado.

   1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

   1. En la barra de navegación, seleccione la región en la que se encuentra el clúster.

   1. En el panel de navegación, seleccione **Clusters** y seleccione el clúster que aloja sus instancias de contenedor.

   1. En la página **Clúster**, elija **Tareas** y, a continuación, elija las tareas.

      Cada instancia de contenedor que lanzó debe tener la tarea ejecutándose en ella.

      Si no ve las tareas, puede iniciar sesión en sus instancias de contenedor con SSH y comprobar la información de depuración del archivo `/var/log/ecs/ecs-start-task.log`.

# Aumento de las interfaces de red de instancias de contenedor de Linux de Amazon ECS
<a name="container-instance-eni"></a>

**nota**  
Esta característica no está disponible en Fargate.

Cada tarea que usa el modo de red `awsvpc` recibe su propia interfaz de red elástica (ENI), que se asocia a la instancia de contenedor que la aloja. Existe un límite predeterminado en cuanto al número de interfaces de red que pueden asociarse a una instancia de Amazon EC2, y la interfaz de red principal cuenta como una. Por ejemplo, de forma predeterminada una instancia de `c5.large` puede tener asociadas hasta tres ENI. La interfaz de red principal para la instancia cuenta como una, por lo que puede asociar a la instancia dos ENI adicionales. Dado que cada tarea que utiliza el modo de red `awsvpc` requiere una ENI, normalmente solo puede ejecutar dos de esas tareas en este tipo de instancia.

Amazon ECS es compatible con el inicio de instancias de contenedor con mayor densidad de ENI al usar tipos de instancias de Amazon EC2 compatibles. Cuando se utilizan estos tipos de instancias y se activa la configuración de cuenta `awsvpcTrunking`, aparecen ENI adicionales disponibles en las instancias de contenedor recién lanzadas. Esta configuración le permite colocar más tareas en cada instancia de contenedor. Para utilizar la consola con el objeto de activar la característica, consulte [Modificación de la configuración de la cuenta de Amazon ECS](ecs-modifying-longer-id-settings.md). Para utilizar la AWS CLI con el objeto de activar la característica, consulte [Administración de la configuración de la cuenta de Amazon ECS mediante la AWS CLI](account-setting-management-cli.md). 

Por ejemplo, una instancia `c5.large` con `awsvpcTrunking` tiene un límite de ENI aumentado de doce. La instancia de contenedor tendrá la interfaz de red principal, y Amazon ECS crea y asocia una interfaz de red “troncal” a la instancia de contenedor. Por lo tanto, esta configuración le permite lanzar diez tareas en la instancia de contenedor, en lugar de las dos tareas actuales.

La interfaz de red troncal está completamente administrada por Amazon ECS y se elimina cuando se termina o se anula el registro de su instancia de contenedor en el clúster. Para obtener más información, consulte [Opciones de red de tareas de Amazon ECS para EC2](task-networking.md).

## Consideraciones
<a name="eni-trunking-considerations"></a>

Tenga en cuenta lo siguiente al utilizar la característica de enlace troncal de ENI.
+ Solo admiten aumento de los límites de ENI las variantes Linux de la AMI optimizada para Amazon ECS u otras variantes de Amazon Linux con la versión `1.28.1` o una posterior del agente de contenedor, y la versión `1.28.1-2` o una posterior del paquete ecs-init. Si utiliza la variante de Linux más reciente de la AMI optimizada para Amazon ECS, deberá cumplir estos requisitos. Los contenedores de Windows no son en este momento compatibles.
+ Solo las nuevas instancias de Amazon EC2 iniciadas después de habilitar `awsvpcTrunking` reciben el aumento de límites de ENI y la interfaz de red troncal. Las instancias lanzadas anteriormente no reciben estas características, independientemente de las acciones realizadas.
+ Las instancias de Amazon EC2 deben tener desactivadas las solicitudes DNS IPv4 basadas en recursos. Para desactivar esta opción, anule la opción **Habilitar solicitudes DNS IPV4 (registro A) basadas en recursos** al crear una nueva instancia mediante la consola de Amazon EC2. Para deshabilitar esta opción mediante el AWS CLI, utilice el siguiente comando.

  ```
  aws ec2 modify-private-dns-name-options --instance-id i-xxxxxxx --no-enable-resource-name-dns-a-record --no-dry-run
  ```
+ No se admiten instancias de Amazon EC2 en subredes compartidas. No se registrarán en un clúster si se utilizan.
+ Las tareas deben utilizar el modo de red `awsvpc` y la EC2. Las tareas que utilizan Fargate siempre han recibido una ENI exclusiva, independientemente de cuántas se lancen, por lo que esta característica no es necesaria.
+ Las tareas se deben lanzar en la misma Amazon VPC que la instancia de contenedor. Las tareas no se iniciarán con un error de atributo si no están dentro de la misma VPC.
+ Al lanzar una nueva instancia de contenedor, la instancia pasa a un estado `REGISTERING` mientras la interfaz de red elástica troncal se aprovisiona para la instancia. Si el registro da error, la instancia pasa a un estado `REGISTRATION_FAILED`. Para solucionar un error de registro, describa la instancia de contenedor para visualizar el campo `statusReason` que describe el motivo del error. A continuación, la instancia de contenedor se puede terminar o anular manualmente su registro. Una vez que se haya anulado el registro de la instancia de contenedor o terminado correctamente, Amazon ECS eliminará la ENI troncal.
**nota**  
Amazon ECS emite eventos de cambio de estado de instancia de contenedor que se pueden monitorear para las instancias que pasan a un estado `REGISTRATION_FAILED`. Para obtener más información, consulte [Eventos de cambio de estado de instancia de contenedor de Amazon ECS](ecs_container_instance_events.md).
+ Una vez terminada la instancia de contenedor, la instancia pasa a un estado `DEREGISTERING` mientras se desaprovisiona la interfaz de red elástica troncal. La instancia después pasa a un estado `INACTIVE`.
+ Si se detiene una instancia de contenedor en una subred pública con el aumento de los límites de ENI y, a continuación, se reinicia, la instancia pierde su dirección IP pública y el agente de contenedor pierde su conexión.
+ Cuando se habilita `awsvpcTrunking`, las instancias de contenedor reciben un ENI adicional que usa el grupo de seguridad predeterminado de la VPC y es administrado por Amazon ECS.

  Una VPC predeterminada incluye una subred pública en cada zona de disponibilidad, una puerta de enlace de Internet y la configuración para habilitar la resolución DNS. La subred es una subred pública, ya que la tabla de enrutamiento principal envía a la puerta de enlace de Internet el tráfico de la subred que está destinado a Internet. Puede convertir una subred predeterminada en una subred privada eliminando la ruta del destino 0.0.0.0/0 al puerto de enlace a Internet. Sin embargo, si hace esto, ninguna instancia de contenedor que se esté ejecutando en esa subred podrá obtener acceso a Internet. Puede agregar o eliminar reglas del grupo de seguridad para controlar el tráfico que entra y sale de sus subredes. Para obtener más información, consulte [Reglas del grupo de seguridad](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html) en la *Guía del usuario de Amazon Virtual Private Cloud*.

## Requisitos previos
<a name="eni-trunking-launching"></a>

Antes de iniciar una instancia de contenedor con aumento de límites de ENI, deben completarse los siguientes requisitos previos.
+ Se debe crear el rol vinculado al servicio para Amazon ECS. El rol vinculado al servicio de Amazon ECS proporciona a Amazon ECS los permisos para realizar llamadas a otros servicios de AWS en su nombre. Este rol se crea automáticamente 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](using-service-linked-roles.md). También puede crear el rol vinculado a un servicio con el siguiente comando de la AWS CLI:

  ```
  aws iam [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) --aws-service-name ecs.amazonaws.com
  ```
+ El rol de IAM de su cuenta o instancia de contenedor debe inscribirse en la configuración de la cuenta `awsvpcTrunking`. Le recomendamos crear dos roles de instancia de contenedor (`ecsInstanceRole`). A continuación, puede habilitar la configuración de la cuenta de `awsvpcTrunking` para un rol y usar ese rol para las tareas que requieren el enlace troncal de ENI. Para obtener más información sobre el rol de instancia de contenedor, consulte [Rol de IAM de instancia de contenedor de Amazon ECS](instance_IAM_role.md).

Una vez que se cumplan los requisitos previos, puede iniciar una nueva instancia de contenedor con uno de los tipos de instancia de Amazon EC2 compatibles, y la instancia tendrá el aumento de límites de ENI. Para ver una lista de los tipos de instancia admitidos, consulte [Instancias admitidas para un aumento de las interfaces de red de contenedores de Amazon ECS](eni-trunking-supported-instance-types.md). La instancia de contenedor debe tener la versión `1.28.1` o posterior del agente de contenedor y la versión `1.28.1-2` o posterior del paquete ecs-init. Si utiliza la variante de Linux más reciente de la AMI optimizada para Amazon ECS, deberá cumplir estos requisitos. Para obtener más información, consulte [Lanzamiento de una instancia de contenedor de Linux de Amazon ECS](launch_container_instance.md).

**importante**  
Las instancias de Amazon EC2 deben tener desactivadas las solicitudes DNS IPv4 basadas en recursos. Para deshabilitar esta opción, asegúrese de que **Habilitar solicitudes DNS IPV4 (registro A) basadas en recursos** se anula la selección de al crear una nueva instancia mediante la consola de Amazon EC2. Para deshabilitar esta opción mediante el AWS CLI, utilice el siguiente comando.  

```
aws ec2 modify-private-dns-name-options --instance-id i-xxxxxxx --no-enable-resource-name-dns-a-record --no-dry-run
```

**Para ver las instancias de contenedor con aumento de los límites de ENI con la AWS CLI**

Cada instancia de contenedor tiene una interfaz de red predeterminada, lo que se denomina interfaz de red troncal. Para utilizar el siguiente comando a fin de ver una lista de las instancias de contenedor con un aumento de los límites de ENI, consulte el atributo `ecs.awsvpc-trunk-id`, que indica que tiene una interfaz de red troncal.
+ [list-attributes](https://docs.aws.amazon.com/cli/latest/reference/ecs/list-attributes.html) (AWS CLI)

  ```
  aws ecs list-attributes \
        --target-type container-instance \
        --attribute-name ecs.awsvpc-trunk-id \
        --cluster cluster_name \
        --region us-east-1
  ```
+ [Get-ECSAttributeList](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ECSAttributeList.html) (AWS Tools for Windows PowerShell)

  ```
  Get-ECSAttributeList -TargetType container-instance -AttributeName ecs.awsvpc-trunk-id -Region us-east-1
  ```

# Instancias admitidas para un aumento de las interfaces de red de contenedores de Amazon ECS
<a name="eni-trunking-supported-instance-types"></a>

A continuación, se muestran los tipos de instancias de Amazon EC2 que se admiten y la cantidad de tareas que utilizan el modo de red `awsvpc` que se pueden lanzar en cada tipo de instancias antes y después de optar por incluir la configuración de cuenta `awsvpcTrunking`. 

**importante**  
Aunque se admiten otros tipos de instancia en la misma familia de instancias, no se admiten los tipos de instancia `a1.metal`, `c5.metal`, `c5a.8xlarge`, `c5ad.8xlarge`, `c5d.metal`, `m5.metal`, `p3dn.24xlarge`, `r5.metal`, `r5.8xlarge` y `r5d.metal`.  
Las familias de instancias `c5n`, `d3`, `d3en`, `g3`, `g3s`, `g4dn`, `i3`, `i3en`, `inf1`, `m5dn`, `m5n`, `m5zn`, `mac1`, `r5b`, `r5n`, `r5dn`, `u-12tb1`, `u-6tb1`, `u-9tb1` y `z1d` no son compatibles.

**Topics**
+ [Fin general](#eni-branch-gp)
+ [Optimizada para computación](#eni-branch-co)
+ [Optimizada para memoria](#eni-branch-mo)
+ [Optimizada para almacenamiento](#eni-branch-so)
+ [Computación acelerada](#eni-branch-ac)
+ [Computación de alto rendimiento](#eni-branch-hpc)

## Fin general
<a name="eni-branch-gp"></a>


| Tipo de instancia | Límite de tareas sin enlace troncal de ENI | Límite de tareas con enlace troncal de ENI | 
| --- | --- | --- | 
| a1.medium | 1 | 10 | 
| a1.large | 2 | 10 | 
| a1.xlarge | 3 | 20 | 
| a1.2xlarge | 3 | 40 | 
| a1.4xlarge | 7 | 60 | 
| m5.large | 2 | 10 | 
| m5.xlarge | 3 | 20 | 
| m5.2xlarge | 3 | 40 | 
| m5.4xlarge | 7 | 60 | 
| m5.8xlarge | 7 | 60 | 
| m5.12xlarge | 7 | 60 | 
| m5.16xlarge | 14 | 120 | 
| m5.24xlarge | 14 | 120 | 
| m5a.large | 2 | 10 | 
| m5a.xlarge | 3 | 20 | 
| m5a.2xlarge | 3 | 40 | 
| m5a.4xlarge | 7 | 60 | 
| m5a.8xlarge | 7 | 60 | 
| m5a.12xlarge | 7 | 60 | 
| m5a.16xlarge | 14 | 120 | 
| m5a.24xlarge | 14 | 120 | 
| m5ad.large | 2 | 10 | 
| m5ad.xlarge | 3 | 20 | 
| m5ad.2xlarge | 3 | 40 | 
| m5ad.4xlarge | 7 | 60 | 
| m5ad.8xlarge | 7 | 60 | 
| m5ad.12xlarge | 7 | 60 | 
| m5ad.16xlarge | 14 | 120 | 
| m5ad.24xlarge | 14 | 120 | 
| m5d.large | 2 | 10 | 
| m5d.xlarge | 3 | 20 | 
| m5d.2xlarge | 3 | 40 | 
| m5d.4xlarge | 7 | 60 | 
| m5d.8xlarge | 7 | 60 | 
| m5d.12xlarge | 7 | 60 | 
| m5d.16xlarge | 14 | 120 | 
| m5d.24xlarge | 14 | 120 | 
| m5d.metal | 14 | 120 | 
| m6a.large | 2 | 10 | 
| m6a.xlarge | 3 | 20 | 
| m6a.2xlarge | 3 | 40 | 
| m6a.4xlarge | 7 | 60 | 
| m6a.8xlarge | 7 | 90 | 
| m6a.12xlarge | 7 | 120 | 
| m6a.16xlarge | 14 | 120 | 
| m6a.24xlarge | 14 | 120 | 
| m6a.32xlarge | 14 | 120 | 
| m6a.48xlarge | 14 | 120 | 
| m6a.metal | 14 | 120 | 
| m6g.medium | 1 | 4 | 
| m6g.large | 2 | 10 | 
| m6g.xlarge | 3 | 20 | 
| m6g.2xlarge | 3 | 40 | 
| m6g.4xlarge | 7 | 60 | 
| m6g.8xlarge | 7 | 60 | 
| m6g.12xlarge | 7 | 60 | 
| m6g.16xlarge | 14 | 120 | 
| m6g.metal | 14 | 120 | 
| m6gd.medium | 1 | 4 | 
| m6gd.large | 2 | 10 | 
| m6gd.xlarge | 3 | 20 | 
| m6gd.2xlarge | 3 | 40 | 
| m6gd.4xlarge | 7 | 60 | 
| m6gd.8xlarge | 7 | 60 | 
| m6gd.12xlarge | 7 | 60 | 
| m6gd.16xlarge | 14 | 120 | 
| m6gd.metal | 14 | 120 | 
| m6i.large | 2 | 10 | 
| m6i.xlarge | 3 | 20 | 
| m6i.2xlarge | 3 | 40 | 
| m6i.4xlarge | 7 | 60 | 
| m6i.8xlarge | 7 | 90 | 
| m6i.12xlarge | 7 | 120 | 
| m6i.16xlarge | 14 | 120 | 
| m6i.24xlarge | 14 | 120 | 
| m6i.32xlarge | 14 | 120 | 
| m6i.metal | 14 | 120 | 
| m6id.large | 2 | 10 | 
| m6id.xlarge | 3 | 20 | 
| m6id.2xlarge | 3 | 40 | 
| m6id.4xlarge | 7 | 60 | 
| m6id.8xlarge | 7 | 90 | 
| m6id.12xlarge | 7 | 120 | 
| m6id.16xlarge | 14 | 120 | 
| m6id.24xlarge | 14 | 120 | 
| m6id.32xlarge | 14 | 120 | 
| m6id.metal | 14 | 120 | 
| m6idn.large | 2 | 10 | 
| m6idn.xlarge | 3 | 20 | 
| m6idn.2xlarge | 3 | 40 | 
| m6idn.4xlarge | 7 | 60 | 
| m6idn.8xlarge | 7 | 90 | 
| m6idn.12xlarge | 7 | 120 | 
| m6idn.16xlarge | 14 | 120 | 
| m6idn.24xlarge | 14 | 120 | 
| m6idn.32xlarge | 15 | 120 | 
| m6idn.metal | 15 | 120 | 
| m6in.large | 2 | 10 | 
| m6in.xlarge | 3 | 20 | 
| m6in.2xlarge | 3 | 40 | 
| m6in.4xlarge | 7 | 60 | 
| m6in.8xlarge | 7 | 90 | 
| m6in.12xlarge | 7 | 120 | 
| m6in.16xlarge | 14 | 120 | 
| m6in.24xlarge | 14 | 120 | 
| m6in.32xlarge | 15 | 120 | 
| m6in.metal | 15 | 120 | 
| m7a.medium | 1 | 4 | 
| m7a.large | 2 | 10 | 
| m7a.xlarge | 3 | 20 | 
| m7a.2xlarge | 3 | 40 | 
| m7a.4xlarge | 7 | 60 | 
| m7a.8xlarge | 7 | 90 | 
| m7a.12xlarge | 7 | 120 | 
| m7a.16xlarge | 14 | 120 | 
| m7a.24xlarge | 14 | 120 | 
| m7a.32xlarge | 14 | 120 | 
| m7a.48xlarge | 14 | 120 | 
| m7a.metal-48xl | 14 | 120 | 
| m7g.medium | 1 | 4 | 
| m7g.large | 2 | 10 | 
| m7g.xlarge | 3 | 20 | 
| m7g.2xlarge | 3 | 40 | 
| m7g.4xlarge | 7 | 60 | 
| m7g.8xlarge | 7 | 60 | 
| m7g.12xlarge | 7 | 60 | 
| m7g.16xlarge | 14 | 120 | 
| m7g.metal | 14 | 120 | 
| m7gd.medium | 1 | 4 | 
| m7gd.large | 2 | 10 | 
| m7gd.xlarge | 3 | 20 | 
| m7gd.2xlarge | 3 | 40 | 
| m7gd.4xlarge | 7 | 60 | 
| m7gd.8xlarge | 7 | 60 | 
| m7gd.12xlarge | 7 | 60 | 
| m7gd.16xlarge | 14 | 120 | 
| m7gd.metal | 14 | 120 | 
| m7i.large | 2 | 10 | 
| m7i.xlarge | 3 | 20 | 
| m7i.2xlarge | 3 | 40 | 
| m7i.4xlarge | 7 | 60 | 
| m7i.8xlarge | 7 | 90 | 
| m7i.12xlarge | 7 | 120 | 
| m7i.16xlarge | 14 | 120 | 
| m7i.24xlarge | 14 | 120 | 
| m7i.48xlarge | 14 | 120 | 
| m7i.metal-24xl | 14 | 120 | 
| m7i.metal-48xl | 14 | 120 | 
| m7i-flex.large | 2 | 4 | 
| m7i-flex.xlarge | 3 | 10 | 
| m7i-flex.2xlarge | 3 | 20 | 
| m7i-flex.4xlarge | 7 | 40 | 
| m7i-flex.8xlarge | 7 | 60 | 
| m7i-flex.12xlarge | 7 | 120 | 
| m7i-flex.16xlarge | 14 | 120 | 
| m8a.medium | 1 | 4 | 
| m8a.large | 2 | 10 | 
| m8a.xlarge | 3 | 20 | 
| m8a.2xlarge | 3 | 40 | 
| m8a.4xlarge | 7 | 60 | 
| m8a.8xlarge | 9 | 90 | 
| m8a.12xlarge | 11 | 120 | 
| m8a.16xlarge | 15 | 120 | 
| m8a.24xlarge | 15 | 120 | 
| m8a.48xlarge | 23 | 120 | 
| m8a.metal-24xl | 15 | 120 | 
| m8a.metal-48xl | 23 | 120 | 
| m8azn.medium | 2 | 4 | 
| m8azn.large | 3 | 10 | 
| m8azn.xlarge | 3 | 20 | 
| m8azn.3xlarge | 7 | 40 | 
| m8azn.6xlarge | 7 | 60 | 
| m8azn.12xlarge | 15 | 120 | 
| m8azn.24xlarge | 15 | 120 | 
| m8azn.metal-12xl | 15 | 120 | 
| m8azn.metal-24xl | 15 | 120 | 
| m8g.medium | 1 | 4 | 
| m8g.large | 2 | 10 | 
| m8g.xlarge | 3 | 20 | 
| m8g.2xlarge | 3 | 40 | 
| m8g.4xlarge | 7 | 60 | 
| m8g.8xlarge | 7 | 60 | 
| m8g.12xlarge | 7 | 60 | 
| m8g.16xlarge | 14 | 120 | 
| m8g.24xlarge | 14 | 120 | 
| m8g.48xlarge | 14 | 120 | 
| m8g.metal-24xl | 14 | 120 | 
| m8g.metal-48xl | 14 | 120 | 
| m8gb.medium | 1 | 4 | 
| m8gb.large | 2 | 10 | 
| m8gb.xlarge | 3 | 20 | 
| m8gb.2xlarge | 3 | 40 | 
| m8gb.4xlarge | 7 | 60 | 
| m8gb.8xlarge | 9 | 60 | 
| m8gb.12xlarge | 11 | 60 | 
| m8gb.16xlarge | 15 | 120 | 
| m8gb.24xlarge | 23 | 120 | 
| m8gb.48xlarge | 23 | 120 | 
| m8gb.metal-24xl | 23 | 120 | 
| m8gb.metal-48xl | 23 | 120 | 
| m8gd.medium | 1 | 4 | 
| m8gd.large | 2 | 10 | 
| m8gd.xlarge | 3 | 20 | 
| m8gd.2xlarge | 3 | 40 | 
| m8gd.4xlarge | 7 | 60 | 
| m8gd.8xlarge | 7 | 60 | 
| m8gd.12xlarge | 7 | 60 | 
| m8gd.16xlarge | 14 | 120 | 
| m8gd.24xlarge | 14 | 120 | 
| m8gd.48xlarge | 14 | 120 | 
| m8gd.metal-24xl | 14 | 120 | 
| m8gd.metal-48xl | 14 | 120 | 
| m8gn.medium | 1 | 4 | 
| m8gn.large | 2 | 10 | 
| m8gn.xlarge | 3 | 20 | 
| m8gn.2xlarge | 3 | 40 | 
| m8gn.4xlarge | 7 | 60 | 
| m8gn.8xlarge | 9 | 60 | 
| m8gn.12xlarge | 11 | 60 | 
| m8gn.16xlarge | 15 | 120 | 
| m8gn.24xlarge | 23 | 120 | 
| m8gn.48xlarge | 23 | 120 | 
| m8gn.metal-24xl | 23 | 120 | 
| m8gn.metal-48xl | 23 | 120 | 
| m8i.large | 2 | 10 | 
| m8i.xlarge | 3 | 20 | 
| m8i.2xlarge | 3 | 40 | 
| m8i.4xlarge | 7 | 60 | 
| m8i.8xlarge | 9 | 90 | 
| m8i.12xlarge | 11 | 120 | 
| m8i.16xlarge | 15 | 120 | 
| m8i.24xlarge | 15 | 120 | 
| m8i.32xlarge | 23 | 120 | 
| m8i.48xlarge | 23 | 120 | 
| m8i.96xlarge | 23 | 120 | 
| m8i.metal-48xl | 23 | 120 | 
| m8i.metal-96xl | 23 | 120 | 
| m8id.large | 2 | 10 | 
| m8id.xlarge | 3 | 20 | 
| m8id.2xlarge | 3 | 40 | 
| m8id.4xlarge | 7 | 60 | 
| m8id.8xlarge | 9 | 90 | 
| m8id.12xlarge | 11 | 120 | 
| m8id.16xlarge | 15 | 120 | 
| m8id.24xlarge | 15 | 120 | 
| m8id.32xlarge | 23 | 120 | 
| m8id.48xlarge | 23 | 120 | 
| m8id.96xlarge | 23 | 120 | 
| m8id.metal-48xl | 23 | 120 | 
| m8i.metal-96xl | 23 | 120 | 
| m8i-flex.large | 2 | 4 | 
| m8i-flex.xlarge | 3 | 10 | 
| m8i-flex.2xlarge | 3 | 20 | 
| m8i-flex.4xlarge | 7 | 40 | 
| m8i-flex.8xlarge | 9 | 60 | 
| m8i-flex.12xlarge | 11 | 120 | 
| m8i-flex.16xlarge | 15 | 120 | 
| mac2.metal | 7 | 12 | 
| mac2-m1ultra.metal | 7 | 12 | 
| mac2-m2.metal | 7 | 12 | 
| mac2-m2pro.metal | 7 | 12 | 
| mac-m4.metal | 7 | 12 | 
| mac-m4pro.metal | 7 | 12 | 

## Optimizada para computación
<a name="eni-branch-co"></a>


| Tipo de instancia | Límite de tareas sin enlace troncal de ENI | Límite de tareas con enlace troncal de ENI | 
| --- | --- | --- | 
| c5.large | 2 | 10 | 
| c5.xlarge | 3 | 20 | 
| c5.2xlarge | 3 | 40 | 
| c5.4xlarge | 7 | 60 | 
| c5.9xlarge | 7 | 60 | 
| c5.12xlarge | 7 | 60 | 
| c5.18xlarge | 14 | 120 | 
| c5.24xlarge | 14 | 120 | 
| c5a.large | 2 | 10 | 
| c5a.xlarge | 3 | 20 | 
| c5a.2xlarge | 3 | 40 | 
| c5a.4xlarge | 7 | 60 | 
| c5a.12xlarge | 7 | 60 | 
| c5a.16xlarge | 14 | 120 | 
| c5a.24xlarge | 14 | 120 | 
| c5ad.large | 2 | 10 | 
| c5ad.xlarge | 3 | 20 | 
| c5ad.2xlarge | 3 | 40 | 
| c5ad.4xlarge | 7 | 60 | 
| c5ad.12xlarge | 7 | 60 | 
| c5ad.16xlarge | 14 | 120 | 
| c5ad.24xlarge | 14 | 120 | 
| c5d.large | 2 | 10 | 
| c5d.xlarge | 3 | 20 | 
| c5d.2xlarge | 3 | 40 | 
| c5d.4xlarge | 7 | 60 | 
| c5d.9xlarge | 7 | 60 | 
| c5d.12xlarge | 7 | 60 | 
| c5d.18xlarge | 14 | 120 | 
| c5d.24xlarge | 14 | 120 | 
| c6a.large | 2 | 10 | 
| c6a.xlarge | 3 | 20 | 
| c6a.2xlarge | 3 | 40 | 
| c6a.4xlarge | 7 | 60 | 
| c6a.8xlarge | 7 | 90 | 
| c6a.12xlarge | 7 | 120 | 
| c6a.16xlarge | 14 | 120 | 
| c6a.24xlarge | 14 | 120 | 
| c6a.32xlarge | 14 | 120 | 
| c6a.48xlarge | 14 | 120 | 
| c6a.metal | 14 | 120 | 
| c6g.medium | 1 | 4 | 
| c6g.large | 2 | 10 | 
| c6g.xlarge | 3 | 20 | 
| c6g.2xlarge | 3 | 40 | 
| c6g.4xlarge | 7 | 60 | 
| c6g.8xlarge | 7 | 60 | 
| c6g.12xlarge | 7 | 60 | 
| c6g.16xlarge | 14 | 120 | 
| c6g.metal | 14 | 120 | 
| c6gd.medium | 1 | 4 | 
| c6gd.large | 2 | 10 | 
| c6gd.xlarge | 3 | 20 | 
| c6gd.2xlarge | 3 | 40 | 
| c6gd.4xlarge | 7 | 60 | 
| c6gd.8xlarge | 7 | 60 | 
| c6gd.12xlarge | 7 | 60 | 
| c6gd.16xlarge | 14 | 120 | 
| c6gd.metal | 14 | 120 | 
| c6gn.medium | 1 | 4 | 
| c6gn.large | 2 | 10 | 
| c6gn.xlarge | 3 | 20 | 
| c6gn.2xlarge | 3 | 40 | 
| c6gn.4xlarge | 7 | 60 | 
| c6gn.8xlarge | 7 | 60 | 
| c6gn.12xlarge | 7 | 60 | 
| c6gn.16xlarge | 14 | 120 | 
| c6i.large | 2 | 10 | 
| c6i.xlarge | 3 | 20 | 
| c6i.2xlarge | 3 | 40 | 
| c6i.4xlarge | 7 | 60 | 
| c6i.8xlarge | 7 | 90 | 
| c6i.12xlarge | 7 | 120 | 
| c6i.16xlarge | 14 | 120 | 
| c6i.24xlarge | 14 | 120 | 
| c6i.32xlarge | 14 | 120 | 
| c6i.metal | 14 | 120 | 
| c6id.large | 2 | 10 | 
| c6id.xlarge | 3 | 20 | 
| c6id.2xlarge | 3 | 40 | 
| c6id.4xlarge | 7 | 60 | 
| c6id.8xlarge | 7 | 90 | 
| c6id.12xlarge | 7 | 120 | 
| c6id.16xlarge | 14 | 120 | 
| c6id.24xlarge | 14 | 120 | 
| c6id.32xlarge | 14 | 120 | 
| c6id.metal | 14 | 120 | 
| c6in.large | 2 | 10 | 
| c6in.xlarge | 3 | 20 | 
| c6in.2xlarge | 3 | 40 | 
| c6in.4xlarge | 7 | 60 | 
| c6in.8xlarge | 7 | 90 | 
| c6in.12xlarge | 7 | 120 | 
| c6in.16xlarge | 14 | 120 | 
| c6in.24xlarge | 14 | 120 | 
| c6in.32xlarge | 15 | 120 | 
| c6in.metal | 15 | 120 | 
| c7a.medium | 1 | 4 | 
| c7a.large | 2 | 10 | 
| c7a.xlarge | 3 | 20 | 
| c7a.2xlarge | 3 | 40 | 
| c7a.4xlarge | 7 | 60 | 
| c7a.8xlarge | 7 | 90 | 
| c7a.12xlarge | 7 | 120 | 
| c7a.16xlarge | 14 | 120 | 
| c7a.24xlarge | 14 | 120 | 
| c7a.32xlarge | 14 | 120 | 
| c7a.48xlarge | 14 | 120 | 
| c7a.metal-48xl | 14 | 120 | 
| c7g.medium | 1 | 4 | 
| c7g.large | 2 | 10 | 
| c7g.xlarge | 3 | 20 | 
| c7g.2xlarge | 3 | 40 | 
| c7g.4xlarge | 7 | 60 | 
| c7g.8xlarge | 7 | 60 | 
| c7g.12xlarge | 7 | 60 | 
| c7g.16xlarge | 14 | 120 | 
| c7g.metal | 14 | 120 | 
| c7gd.medium | 1 | 4 | 
| c7gd.large | 2 | 10 | 
| c7gd.xlarge | 3 | 20 | 
| c7gd.2xlarge | 3 | 40 | 
| c7gd.4xlarge | 7 | 60 | 
| c7gd.8xlarge | 7 | 60 | 
| c7gd.12xlarge | 7 | 60 | 
| c7gd.16xlarge | 14 | 120 | 
| c7gd.metal | 14 | 120 | 
| c7gn.medium | 1 | 4 | 
| c7gn.large | 2 | 10 | 
| c7gn.xlarge | 3 | 20 | 
| c7gn.2xlarge | 3 | 40 | 
| c7gn.4xlarge | 7 | 60 | 
| c7gn.8xlarge | 7 | 60 | 
| c7gn.12xlarge | 7 | 60 | 
| c7gn.16xlarge | 14 | 120 | 
| c7gn.metal | 14 | 120 | 
| c7i.large | 2 | 10 | 
| c7i.xlarge | 3 | 20 | 
| c7i.2xlarge | 3 | 40 | 
| c7i.4xlarge | 7 | 60 | 
| c7i.8xlarge | 7 | 90 | 
| c7i.12xlarge | 7 | 120 | 
| c7i.16xlarge | 14 | 120 | 
| c7i.24xlarge | 14 | 120 | 
| c7i.48xlarge | 14 | 120 | 
| c7i.metal-24xl | 14 | 120 | 
| c7i.metal-48xl | 14 | 120 | 
| c7i-flex.large | 2 | 4 | 
| c7i-flex.xlarge | 3 | 10 | 
| c7i-flex.2xlarge | 3 | 20 | 
| c7i-flex.4xlarge | 7 | 40 | 
| c7i-flex.8xlarge | 7 | 60 | 
| c7i-flex.12xlarge | 7 | 120 | 
| c7i-flex.16xlarge | 14 | 120 | 
| c8a.medium | 1 | 4 | 
| c8a.large | 2 | 10 | 
| c8a.xlarge | 3 | 20 | 
| c8a.2xlarge | 3 | 40 | 
| c8a.4xlarge | 7 | 60 | 
| c8a.8xlarge | 9 | 90 | 
| c8a.12xlarge | 11 | 120 | 
| c8a.16xlarge | 15 | 120 | 
| c8a.24xlarge | 15 | 120 | 
| c8a.48xlarge | 23 | 120 | 
| c8a.metal-24xl | 15 | 120 | 
| c8a.metal-48xl | 23 | 120 | 
| c8g.medium | 1 | 4 | 
| c8g.large | 2 | 10 | 
| c8g.xlarge | 3 | 20 | 
| c8g.2xlarge | 3 | 40 | 
| c8g.4xlarge | 7 | 60 | 
| c8g.8xlarge | 7 | 60 | 
| c8g.12xlarge | 7 | 60 | 
| c8g.16xlarge | 14 | 120 | 
| c8g.24xlarge | 14 | 120 | 
| c8g.48xlarge | 14 | 120 | 
| c8g.metal-24xl | 14 | 120 | 
| c8g.metal-48xl | 14 | 120 | 
| c8gb.medium | 1 | 4 | 
| c8gb.large | 2 | 10 | 
| c8gb.xlarge | 3 | 20 | 
| c8gb.2xlarge | 3 | 40 | 
| c8gb.4xlarge | 7 | 60 | 
| c8gb.8xlarge | 9 | 60 | 
| c8gb.12xlarge | 11 | 60 | 
| c8gb.16xlarge | 15 | 120 | 
| c8gb.24xlarge | 23 | 120 | 
| c8gb.48xlarge | 23 | 120 | 
| c8gb.metal-24xl | 23 | 120 | 
| c8gb.metal-48xl | 23 | 120 | 
| c8gd.medium | 1 | 4 | 
| c8gd.large | 2 | 10 | 
| c8gd.xlarge | 3 | 20 | 
| c8gd.2xlarge | 3 | 40 | 
| c8gd.4xlarge | 7 | 60 | 
| c8gd.8xlarge | 7 | 60 | 
| c8gd.12xlarge | 7 | 60 | 
| c8gd.16xlarge | 14 | 120 | 
| c8gd.24xlarge | 14 | 120 | 
| c8gd.48xlarge | 14 | 120 | 
| c8gd.metal-24xl | 14 | 120 | 
| c8gd.metal-48xl | 14 | 120 | 
| c8gn.medium | 1 | 4 | 
| c8gn.large | 2 | 10 | 
| c8gn.xlarge | 3 | 20 | 
| c8gn.2xlarge | 3 | 40 | 
| c8gn.4xlarge | 7 | 60 | 
| c8gn.8xlarge | 9 | 60 | 
| c8gn.12xlarge | 11 | 60 | 
| c8gn.16xlarge | 15 | 120 | 
| c8gn.24xlarge | 23 | 120 | 
| c8gn.48xlarge | 23 | 120 | 
| c8gn.metal-24xl | 23 | 120 | 
| c8gn.metal-48xl | 23 | 120 | 
| c8i.large | 2 | 10 | 
| c8i.xlarge | 3 | 20 | 
| c8i.2xlarge | 3 | 40 | 
| c8i.4xlarge | 7 | 60 | 
| c8i.8xlarge | 9 | 90 | 
| c8i.12xlarge | 11 | 120 | 
| c8i.16xlarge | 15 | 120 | 
| c8i.24xlarge | 15 | 120 | 
| c8i.32xlarge | 23 | 120 | 
| c8i.48xlarge | 23 | 120 | 
| c8i.96xlarge | 23 | 120 | 
| c8i.metal-48xl | 23 | 120 | 
| c8i.metal-96xl | 23 | 120 | 
| c8id.large | 2 | 10 | 
| c8id.xlarge | 3 | 20 | 
| c8id.2xlarge | 3 | 40 | 
| c8id.4xlarge | 7 | 60 | 
| c8id.8xlarge | 9 | 90 | 
| c8id.12xlarge | 11 | 120 | 
| c8id.16xlarge | 15 | 120 | 
| c8id.24xlarge | 15 | 120 | 
| c8id.32xlarge | 23 | 120 | 
| c8id.48xlarge | 23 | 120 | 
| c8id.96xlarge | 23 | 120 | 
| c8gb.metal-48xl | 23 | 120 | 
| c8id.metal-96xl | 23 | 120 | 
| c8i-flex.large | 2 | 4 | 
| c8i-flex.xlarge | 3 | 10 | 
| c8i-flex.2xlarge | 3 | 20 | 
| c8i-flex.4xlarge | 7 | 40 | 
| c8i-flex.8xlarge | 9 | 60 | 
| c8i-flex.12xlarge | 11 | 120 | 
| c8i-flex.16xlarge | 15 | 120 | 

## Optimizada para memoria
<a name="eni-branch-mo"></a>


| Tipo de instancia | Límite de tareas sin enlace troncal de ENI | Límite de tareas con enlace troncal de ENI | 
| --- | --- | --- | 
| r5.large | 2 | 10 | 
| r5.xlarge | 3 | 20 | 
| r5.2xlarge | 3 | 40 | 
| r5.4xlarge | 7 | 60 | 
| r5.12xlarge | 7 | 60 | 
| r5.16xlarge | 14 | 120 | 
| r5.24xlarge | 14 | 120 | 
| r5a.large | 2 | 10 | 
| r5a.xlarge | 3 | 20 | 
| r5a.2xlarge | 3 | 40 | 
| r5a.4xlarge | 7 | 60 | 
| r5a.8xlarge | 7 | 60 | 
| r5a.12xlarge | 7 | 60 | 
| r5a.16xlarge | 14 | 120 | 
| r5a.24xlarge | 14 | 120 | 
| r5ad.large | 2 | 10 | 
| r5ad.xlarge | 3 | 20 | 
| r5ad.2xlarge | 3 | 40 | 
| r5ad.4xlarge | 7 | 60 | 
| r5ad.8xlarge | 7 | 60 | 
| r5ad.12xlarge | 7 | 60 | 
| r5ad.16xlarge | 14 | 120 | 
| r5ad.24xlarge | 14 | 120 | 
| r5b.16xlarge | 14 | 120 | 
| r5d.large | 2 | 10 | 
| r5d.xlarge | 3 | 20 | 
| r5d.2xlarge | 3 | 40 | 
| r5d.4xlarge | 7 | 60 | 
| r5d.8xlarge | 7 | 60 | 
| r5d.12xlarge | 7 | 60 | 
| r5d.16xlarge | 14 | 120 | 
| r5d.24xlarge | 14 | 120 | 
| r5dn.16xlarge | 14 | 120 | 
| r6a.large | 2 | 10 | 
| r6a.xlarge | 3 | 20 | 
| r6a.2xlarge | 3 | 40 | 
| r6a.4xlarge | 7 | 60 | 
| r6a.8xlarge | 7 | 90 | 
| r6a.12xlarge | 7 | 120 | 
| r6a.16xlarge | 14 | 120 | 
| r6a.24xlarge | 14 | 120 | 
| r6a.32xlarge | 14 | 120 | 
| r6a.48xlarge | 14 | 120 | 
| r6a.metal | 14 | 120 | 
| r6g.medium | 1 | 4 | 
| r6g.large | 2 | 10 | 
| r6g.xlarge | 3 | 20 | 
| r6g.2xlarge | 3 | 40 | 
| r6g.4xlarge | 7 | 60 | 
| r6g.8xlarge | 7 | 60 | 
| r6g.12xlarge | 7 | 60 | 
| r6g.16xlarge | 14 | 120 | 
| r6g.metal | 14 | 120 | 
| r6gd.medium | 1 | 4 | 
| r6gd.large | 2 | 10 | 
| r6gd.xlarge | 3 | 20 | 
| r6gd.2xlarge | 3 | 40 | 
| r6gd.4xlarge | 7 | 60 | 
| r6gd.8xlarge | 7 | 60 | 
| r6gd.12xlarge | 7 | 60 | 
| r6gd.16xlarge | 14 | 120 | 
| r6gd.metal | 14 | 120 | 
| r6i.large | 2 | 10 | 
| r6i.xlarge | 3 | 20 | 
| r6i.2xlarge | 3 | 40 | 
| r6i.4xlarge | 7 | 60 | 
| r6i.8xlarge | 7 | 90 | 
| r6i.12xlarge | 7 | 120 | 
| r6i.16xlarge | 14 | 120 | 
| r6i.24xlarge | 14 | 120 | 
| r6i.32xlarge | 14 | 120 | 
| r6i.metal | 14 | 120 | 
| r6id.large | 2 | 10 | 
| r6id.xlarge | 3 | 20 | 
| r6id.2xlarge | 3 | 40 | 
| r6id.4xlarge | 7 | 60 | 
| r6id.8xlarge | 7 | 90 | 
| r6id.12xlarge | 7 | 120 | 
| r6id.16xlarge | 14 | 120 | 
| r6id.24xlarge | 14 | 120 | 
| r6id.32xlarge | 14 | 120 | 
| r6id.metal | 14 | 120 | 
| r6idn.large | 2 | 10 | 
| r6idn.xlarge | 3 | 20 | 
| r6idn.2xlarge | 3 | 40 | 
| r6idn.4xlarge | 7 | 60 | 
| r6idn.8xlarge | 7 | 90 | 
| r6idn.12xlarge | 7 | 120 | 
| r6idn.16xlarge | 14 | 120 | 
| r6idn.24xlarge | 14 | 120 | 
| r6idn.32xlarge | 15 | 120 | 
| r6idn.metal | 15 | 120 | 
| r6in.large | 2 | 10 | 
| r6in.xlarge | 3 | 20 | 
| r6in.2xlarge | 3 | 40 | 
| r6in.4xlarge | 7 | 60 | 
| r6in.8xlarge | 7 | 90 | 
| r6in.12xlarge | 7 | 120 | 
| r6in.16xlarge | 14 | 120 | 
| r6in.24xlarge | 14 | 120 | 
| r6in.32xlarge | 15 | 120 | 
| r6in.metal | 15 | 120 | 
| r7a.medium | 1 | 4 | 
| r7a.large | 2 | 10 | 
| r7a.xlarge | 3 | 20 | 
| r7a.2xlarge | 3 | 40 | 
| r7a.4xlarge | 7 | 60 | 
| r7a.8xlarge | 7 | 90 | 
| r7a.12xlarge | 7 | 120 | 
| r7a.16xlarge | 14 | 120 | 
| r7a.24xlarge | 14 | 120 | 
| r7a.32xlarge | 14 | 120 | 
| r7a.48xlarge | 14 | 120 | 
| r7a.metal-48xl | 14 | 120 | 
| r7g.medium | 1 | 4 | 
| r7g.large | 2 | 10 | 
| r7g.xlarge | 3 | 20 | 
| r7g.2xlarge | 3 | 40 | 
| r7g.4xlarge | 7 | 60 | 
| r7g.8xlarge | 7 | 60 | 
| r7g.12xlarge | 7 | 60 | 
| r7g.16xlarge | 14 | 120 | 
| r7g.metal | 14 | 120 | 
| r7gd.medium | 1 | 4 | 
| r7gd.large | 2 | 10 | 
| r7gd.xlarge | 3 | 20 | 
| r7gd.2xlarge | 3 | 40 | 
| r7gd.4xlarge | 7 | 60 | 
| r7gd.8xlarge | 7 | 60 | 
| r7gd.12xlarge | 7 | 60 | 
| r7gd.16xlarge | 14 | 120 | 
| r7gd.metal | 14 | 120 | 
| r7i.large | 2 | 10 | 
| r7i.xlarge | 3 | 20 | 
| r7i.2xlarge | 3 | 40 | 
| r7i.4xlarge | 7 | 60 | 
| r7i.8xlarge | 7 | 90 | 
| r7i.12xlarge | 7 | 120 | 
| r7i.16xlarge | 14 | 120 | 
| r7i.24xlarge | 14 | 120 | 
| r7i.48xlarge | 14 | 120 | 
| r7i.metal-24xl | 14 | 120 | 
| r7i.metal-48xl | 14 | 120 | 
| r7iz.large | 2 | 10 | 
| r7iz.xlarge | 3 | 20 | 
| r7iz.2xlarge | 3 | 40 | 
| r7iz.4xlarge | 7 | 60 | 
| r7iz.8xlarge | 7 | 90 | 
| r7iz.12xlarge | 7 | 120 | 
| r7iz.16xlarge | 14 | 120 | 
| r7iz.32xlarge | 14 | 120 | 
| r7iz.metal-16xl | 14 | 120 | 
| r7iz.metal-32xl | 14 | 120 | 
| r8a.medium | 1 | 4 | 
| r8a.large | 2 | 10 | 
| r8a.xlarge | 3 | 20 | 
| r8a.2xlarge | 3 | 40 | 
| r8a.4xlarge | 7 | 60 | 
| r8a.8xlarge | 9 | 90 | 
| r8a.12xlarge | 11 | 120 | 
| r8a.16xlarge | 15 | 120 | 
| r8a.24xlarge | 15 | 120 | 
| r8a.48xlarge | 23 | 120 | 
| r8a.metal-24xl | 15 | 120 | 
| r8a.metal-48xl | 23 | 120 | 
| r8g.medium | 1 | 4 | 
| r8g.large | 2 | 10 | 
| r8g.xlarge | 3 | 20 | 
| r8g.2xlarge | 3 | 40 | 
| r8g.4xlarge | 7 | 60 | 
| r8g.8xlarge | 7 | 60 | 
| r8g.12xlarge | 7 | 60 | 
| r8g.16xlarge | 14 | 120 | 
| r8g.24xlarge | 14 | 120 | 
| r8g.48xlarge | 14 | 120 | 
| r8g.metal-24xl | 14 | 120 | 
| r8g.metal-48xl | 14 | 120 | 
| r8gb.medium | 1 | 4 | 
| r8gb.large | 2 | 10 | 
| r8gb.xlarge | 3 | 20 | 
| r8gb.2xlarge | 3 | 40 | 
| r8gb.4xlarge | 7 | 60 | 
| r8gb.8xlarge | 9 | 60 | 
| r8gb.12xlarge | 11 | 60 | 
| r8gb.16xlarge | 15 | 120 | 
| r8gb.24xlarge | 23 | 120 | 
| r8gb.48xlarge | 23 | 120 | 
| r8gb.metal-24xl | 23 | 120 | 
| r8gb.metal-48xl | 23 | 120 | 
| r8gd.medium | 1 | 4 | 
| r8gd.large | 2 | 10 | 
| r8gd.xlarge | 3 | 20 | 
| r8gd.2xlarge | 3 | 40 | 
| r8gd.4xlarge | 7 | 60 | 
| r8gd.8xlarge | 7 | 60 | 
| r8gd.12xlarge | 7 | 60 | 
| r8gd.16xlarge | 14 | 120 | 
| r8gd.24xlarge | 14 | 120 | 
| r8gd.48xlarge | 14 | 120 | 
| r8gd.metal-24xl | 14 | 120 | 
| r8gd.metal-48xl | 14 | 120 | 
| r8gn.medium | 1 | 4 | 
| r8gn.large | 2 | 10 | 
| r8gn.xlarge | 3 | 20 | 
| r8gn.2xlarge | 3 | 40 | 
| r8gn.4xlarge | 7 | 60 | 
| r8gn.8xlarge | 9 | 60 | 
| r8gn.12xlarge | 11 | 60 | 
| r8gn.16xlarge | 15 | 120 | 
| r8gn.24xlarge | 23 | 120 | 
| r8gn.48xlarge | 23 | 120 | 
| r8gn.metal-24xl | 23 | 120 | 
| r8gn.metal-48xl | 23 | 120 | 
| r8i.large | 2 | 10 | 
| r8i.xlarge | 3 | 20 | 
| r8i.2xlarge | 3 | 40 | 
| r8i.4xlarge | 7 | 60 | 
| r8i.8xlarge | 9 | 90 | 
| r8i.12xlarge | 11 | 120 | 
| r8i.16xlarge | 15 | 120 | 
| r8i.24xlarge | 15 | 120 | 
| r8i.32xlarge | 23 | 120 | 
| r8i.48xlarge | 23 | 120 | 
| r8i.96xlarge | 23 | 120 | 
| r8i.metal-48xl | 23 | 120 | 
| r8i.metal-96xl | 23 | 120 | 
| r8id.large | 2 | 10 | 
| r8id.xlarge | 3 | 20 | 
| r8id.2xlarge | 3 | 40 | 
| r8id.4xlarge | 7 | 60 | 
| r8id.8xlarge | 9 | 90 | 
| r8id.12xlarge | 11 | 120 | 
| r8id.16xlarge | 15 | 120 | 
| r8id.24xlarge | 15 | 120 | 
| r8id.32xlarge | 23 | 120 | 
| r8id.48xlarge | 23 | 120 | 
| r8id.96xlarge | 23 | 120 | 
| r8id.metal-48xl | 23 | 120 | 
| r8id.metal-96xl | 23 | 120 | 
| r8i-flex.large | 2 | 4 | 
| r8i-flex.xlarge | 3 | 10 | 
| r8i-flex.2xlarge | 3 | 20 | 
| r8i-flex.4xlarge | 7 | 40 | 
| r8i-flex.8xlarge | 9 | 60 | 
| r8i-flex.12xlarge | 11 | 120 | 
| r8i-flex.16xlarge | 15 | 120 | 
| u-3tb1.56xlarge | 7 | 12 | 
| u-6tb1.56xlarge | 14 | 12 | 
| u-18tb1.112xlarge | 14 | 12 | 
| u-18tb1.metal | 14 | 12 | 
| u-24tb1.112xlarge | 14 | 12 | 
| u-24tb1.metal | 14 | 12 | 
| u7i-6tb.112xlarge | 14 | 120 | 
| u7i-8tb.112xlarge | 14 | 120 | 
| u7i-12tb.224xlarge | 14 | 120 | 
| u7in-16tb.224xlarge | 15 | 120 | 
| u7in-24tb.224xlarge | 15 | 120 | 
| u7in-32tb.224xlarge | 15 | 120 | 
| u7inh-32tb.480xlarge | 15 | 120 | 
| x2gd.medium | 1 | 10 | 
| x2gd.large | 2 | 10 | 
| x2gd.xlarge | 3 | 20 | 
| x2gd.2xlarge | 3 | 40 | 
| x2gd.4xlarge | 7 | 60 | 
| x2gd.8xlarge | 7 | 60 | 
| x2gd.12xlarge | 7 | 60 | 
| x2gd.16xlarge | 14 | 120 | 
| x2gd.metal | 14 | 120 | 
| x2idn.16xlarge | 14 | 120 | 
| x2idn.24xlarge | 14 | 120 | 
| x2idn.32xlarge | 14 | 120 | 
| x2idn.metal | 14 | 120 | 
| x2iedn.xlarge | 3 | 13 | 
| x2iedn.2xlarge | 3 | 29 | 
| x2iedn.4xlarge | 7 | 60 | 
| x2iedn.8xlarge | 7 | 120 | 
| x2iedn.16xlarge | 14 | 120 | 
| x2iedn.24xlarge | 14 | 120 | 
| x2iedn.32xlarge | 14 | 120 | 
| x2iedn.metal | 14 | 120 | 
| x2iezn.2xlarge | 3 | 64 | 
| x2iezn.4xlarge | 7 | 120 | 
| x2iezn.6xlarge | 7 | 120 | 
| x2iezn.8xlarge | 7 | 120 | 
| x2iezn.12xlarge | 14 | 120 | 
| x2iezn.metal | 14 | 120 | 
| x8g.medium | 1 | 4 | 
| x8g.large | 2 | 10 | 
| x8g.xlarge | 3 | 20 | 
| x8g.2xlarge | 3 | 40 | 
| x8g.4xlarge | 7 | 60 | 
| x8g.8xlarge | 7 | 60 | 
| x8g.12xlarge | 7 | 60 | 
| x8g.16xlarge | 14 | 120 | 
| x8g.24xlarge | 14 | 120 | 
| x8g.48xlarge | 14 | 120 | 
| x8g.metal-24xl | 14 | 120 | 
| x8g.metal-48xl | 14 | 120 | 
| x8aedz.large | 3 | 10 | 
| x8aedz.xlarge | 3 | 20 | 
| x8aedz.3xlarge | 7 | 40 | 
| x8aedz.6xlarge | 7 | 60 | 
| x8aedz.12xlarge | 15 | 120 | 
| x8aedz.24xlarge | 15 | 120 | 
| x8aedz.metal-12xl | 15 | 120 | 
| x8aedz.metal-24xl | 15 | 120 | 
| x8i.large | 2 | 10 | 
| x8i.xlarge | 3 | 20 | 
| x8i.2xlarge | 3 | 40 | 
| x8i.4xlarge | 7 | 60 | 
| x8i.8xlarge | 9 | 90 | 
| x8i.12xlarge | 11 | 120 | 
| x8i.16xlarge | 15 | 120 | 
| x8i.24xlarge | 15 | 120 | 
| x8i.32xlarge | 23 | 120 | 
| x8i.48xlarge | 23 | 120 | 
| x8i.64xlarge | 23 | 120 | 
| x8i.96xlarge | 23 | 120 | 
| x8i.metal-48xl | 23 | 120 | 
| x8i.metal-96xl | 23 | 120 | 

## Optimizada para almacenamiento
<a name="eni-branch-so"></a>


| Tipo de instancia | Límite de tareas sin enlace troncal de ENI | Límite de tareas con enlace troncal de ENI | 
| --- | --- | --- | 
| i4g.large | 2 | 10 | 
| i4g.xlarge | 3 | 20 | 
| i4g.2xlarge | 3 | 40 | 
| i4g.4xlarge | 7 | 60 | 
| i4g.8xlarge | 7 | 60 | 
| i4g.16xlarge | 14 | 120 | 
| i4i.xlarge | 3 | 8 | 
| i4i.2xlarge | 3 | 28 | 
| i4i.4xlarge | 7 | 58 | 
| i4i.8xlarge | 7 | 118 | 
| i4i.12xlarge | 7 | 118 | 
| i4i.16xlarge | 14 | 248 | 
| i4i.24xlarge | 14 | 118 | 
| i4i.32xlarge | 14 | 498 | 
| i4i.metal | 14 | 498 | 
| i7i.large | 2 | 10 | 
| i7i.xlarge | 3 | 20 | 
| i7i.2xlarge | 3 | 40 | 
| i7i.4xlarge | 7 | 60 | 
| i7i.8xlarge | 7 | 90 | 
| i7i.12xlarge | 7 | 90 | 
| i7i.16xlarge | 14 | 120 | 
| i7i.24xlarge | 14 | 120 | 
| i7i.48xlarge | 14 | 120 | 
| i7i.metal-24xl | 14 | 120 | 
| i7i.metal-48xl | 14 | 120 | 
| i7ie.large | 2 | 20 | 
| i7ie.xlarge | 3 | 29 | 
| i7ie.2xlarge | 3 | 29 | 
| i7ie.3xlarge | 3 | 29 | 
| i7ie.6xlarge | 7 | 60 | 
| i7ie.12xlarge | 7 | 60 | 
| i7ie.18xlarge | 14 | 120 | 
| i7ie.24xlarge | 14 | 120 | 
| i7ie.48xlarge | 14 | 120 | 
| i7ie.metal-24xl | 14 | 120 | 
| i7ie.metal-48xl | 14 | 120 | 
| i8g.large | 2 | 10 | 
| i8g.xlarge | 3 | 20 | 
| i8g.2xlarge | 3 | 40 | 
| i8g.4xlarge | 7 | 60 | 
| i8g.8xlarge | 7 | 60 | 
| i8g.12xlarge | 7 | 60 | 
| i8g.16xlarge | 14 | 120 | 
| i8g.24xlarge | 14 | 120 | 
| i8g.48xlarge | 14 | 120 | 
| i8g.metal-24xl | 14 | 120 | 
| i8g.metal-48xl | 14 | 120 | 
| i8ge.large | 2 | 20 | 
| i8ge.xlarge | 3 | 29 | 
| i8ge.2xlarge | 3 | 29 | 
| i8ge.3xlarge | 5 | 29 | 
| i8ge.6xlarge | 9 | 60 | 
| i8ge.12xlarge | 11 | 60 | 
| i8ge.18xlarge | 15 | 120 | 
| i8ge.24xlarge | 15 | 120 | 
| i8ge.48xlarge | 23 | 120 | 
| i8ge.metal-24xl | 15 | 120 | 
| i8ge.metal-48xl | 23 | 120 | 
| im4gn.large | 2 | 10 | 
| im4gn.xlarge | 3 | 20 | 
| im4gn.2xlarge | 3 | 40 | 
| im4gn.4xlarge | 7 | 60 | 
| im4gn.8xlarge | 7 | 60 | 
| im4gn.16xlarge | 14 | 120 | 
| is4gen.medium | 1 | 4 | 
| is4gen.large | 2 | 10 | 
| is4gen.xlarge | 3 | 20 | 
| is4gen.2xlarge | 3 | 40 | 
| is4gen.4xlarge | 7 | 60 | 
| is4gen.8xlarge | 7 | 60 | 

## Computación acelerada
<a name="eni-branch-ac"></a>


| Tipo de instancia | Límite de tareas sin enlace troncal de ENI | Límite de tareas con enlace troncal de ENI | 
| --- | --- | --- | 
| dl1.24xlarge | 59 | 120 | 
| dl2q.24xlarge | 14 | 120 | 
| f2.6xlarge | 7 | 90 | 
| f2.12xlarge | 7 | 120 | 
| f2.48xlarge | 14 | 120 | 
| g4ad.xlarge | 1 | 12 | 
| g4ad.2xlarge | 1 | 12 | 
| g4ad.4xlarge | 2 | 12 | 
| g4ad.8xlarge | 3 | 12 | 
| g4ad.16xlarge | 7 | 12 | 
| g5.xlarge | 3 | 6 | 
| g5.2xlarge | 3 | 19 | 
| g5.4xlarge | 7 | 40 | 
| g5.8xlarge | 7 | 90 | 
| g5.12xlarge | 14 | 120 | 
| g5.16xlarge | 7 | 120 | 
| g5.24xlarge | 14 | 120 | 
| g5.48xlarge | 6 | 120 | 
| g5g.xlarge | 3 | 20 | 
| g5g.2xlarge | 3 | 40 | 
| g5g.4xlarge | 7 | 60 | 
| g5g.8xlarge | 7 | 60 | 
| g5g.16xlarge | 14 | 120 | 
| g5g.metal | 14 | 120 | 
| g6.xlarge | 3 | 20 | 
| g6.2xlarge | 3 | 40 | 
| g6.4xlarge | 7 | 60 | 
| g6.8xlarge | 7 | 90 | 
| g6.12xlarge | 7 | 120 | 
| g6.16xlarge | 14 | 120 | 
| g6.24xlarge | 14 | 120 | 
| g6.48xlarge | 14 | 120 | 
| g6e.xlarge | 3 | 20 | 
| g6e.2xlarge | 3 | 40 | 
| g6e.4xlarge | 7 | 60 | 
| g6g.8xlarge | 7 | 90 | 
| g6e.12xlarge | 9 | 120 | 
| g6e.16xlarge | 14 | 120 | 
| g6e.24xlarge | 19 | 120 | 
| g6e.48xlarge | 39 | 120 | 
| g6f.large | 1 | 10 | 
| g6f.xlarge | 3 | 20 | 
| g6f.2xlarge | 3 | 40 | 
| g6f.4xlarge | 7 | 60 | 
| gr6.4xlarge | 7 | 60 | 
| gr6.8xlarge | 7 | 90 | 
| gr6f.4xlarge | 7 | 60 | 
| g7e.2xlarge | 3 | 242 | 
| g7e.4xlarge | 7 | 242 | 
| g7g.8xlarge | 7 | 242 | 
| g7e.12xlarge | 9 | 242 | 
| g7e.24xlarge | 19 | 242 | 
| g7e.48xlarge | 39 | 242 | 
| inf2.xlarge | 3 | 20 | 
| inf2.8xlarge | 7 | 90 | 
| inf2.24xlarge | 14 | 120 | 
| inf2.48xlarge | 14 | 120 | 
| p4d.24xlarge | 59 | 120 | 
| p4de.24xlarge | 59 | 120 | 
| p5.4xlarge | 3 | 60 | 
| p5.48xlarge | 63 | 242 | 
| p5e.48xlarge | 63 | 242 | 
| p5en.48xlarge | 63 | 242 | 
| p6-b200.48xlarge | 31 | 242 | 
| p6-b300.48xlarge | 67 | 242 | 
| p6e-gb200.36xlarge | 38 | 120 | 
| trn1.2xlarge | 3 | 19 | 
| trn1.32xlarge | 39 | 120 | 
| trn1n.32xlarge | 79 | 242 | 
| trn2.3xlarge | 1 | 14 | 
| trn2.48xlarge | 31 | 242 | 
| trn2u.48xlarge | 31 | 242 | 
| vt1.3xlarge | 3 | 40 | 
| vt1.6xlarge | 7 | 60 | 
| vt1.24xlarge | 14 | 120 | 

## Computación de alto rendimiento
<a name="eni-branch-hpc"></a>


| Tipo de instancia | Límite de tareas sin enlace troncal de ENI | Límite de tareas con enlace troncal de ENI | 
| --- | --- | --- | 
| hpc6a.48xlarge | 1 | 120 | 
| hpc6id.32xlarge | 1 | 120 | 
| hpc7g.4xlarge | 3 | 120 | 
| hpc7g.8xlarge | 3 | 120 | 
| hpc7g.16xlarge | 3 | 120 | 
| hpc8a.96xlarge | 3 | -2 | 

# Reserva de la memoria de instancias de contenedor de Linux de Amazon ECS
<a name="memory-management"></a>

Cuando el agente de contenedor de Amazon ECS registra una instancia de contenedor en un clúster, el agente debe determinar la cantidad de memoria disponible que puede reservar la instancia de contenedor para las tareas. Debido a la sobrecarga de memoria de la plataforma y a la memoria ocupada por el kernel del sistema, este número difiere de la cantidad de memoria instalada que se anuncia para las instancias de Amazon EC2. Por ejemplo, una instancia `m4.large` tiene 8 GiB de memoria instalada. Sin embargo, esto no siempre significa que haya exactamente 8192 MiB de memoria disponible para las tareas cuando se registra la instancia de contenedor.

## Determinación de recursos de memoria de instancias administradas de ECS
<a name="ecs-mi-memory-calculation"></a>

Instancias administradas de Amazon ECS utiliza un enfoque jerárquico para determinar los requisitos de recursos de memoria para las tareas. A diferencia de ECS en EC2, que se basa en la introspección de memoria de Docker, instancias administradas de ECS calcula los requisitos de memoria directamente a partir de la carga útil de la tarea durante las decisiones de programación.

Cuando el agente de instancias administradas de ECS recibe una tarea, calcula las necesidades de memoria mediante el siguiente orden de prioridad:

1. **Memoria a nivel de tarea (máxima prioridad)**: si se especifica memoria a nivel de tarea en la definición de la tarea, el agente utiliza este valor directamente. Esto tiene prioridad sobre todos los ajustes de memoria a nivel de contenedor.

1. **Suma de memoria a nivel de contenedor (alternativa)**: si no se especifica la memoria a nivel de tarea (o es 0), el agente suma los requisitos de memoria de todos los contenedores de la tarea. Para cada contenedor, utiliza:

   1. *Reserva de memoria (límite flexible)*: si un contenedor especifica `memoryReservation` en su configuración, el agente usa este valor.

   1. *Memoria del contenedor (límite estricto)*: si `memoryReservation` no se especifica, el agente utiliza el campo `memory` del contenedor.

**Example Memoria a nivel de tarea especificada**  
Cuando se especifica la memoria a nivel de tarea, tiene prioridad sobre la configuración a nivel de contenedor:  

```
{
  "family": "my-task",
  "memory": "2048",
  "containerDefinitions": [
    {
      "name": "container1",
      "memory": 1024,
      "memoryReservation": 512
    }
  ]
}
```
El agente reserva 2048 MiB (la memoria a nivel de tarea tiene prioridad).

**Example Memoria a nivel de contenedor con reservas**  
Cuando no se especifica la memoria a nivel de tarea, el agente suma los requisitos de memoria del contenedor:  

```
{
  "family": "my-task",
  "containerDefinitions": [
    {
      "name": "container1",
      "memory": 1024,
      "memoryReservation": 512
    },
    {
      "name": "container2",
      "memory": 512
    }
  ]
}
```
El agente reserva 512 MiB (reserva de contenedor1) \$1 512 MiB (memoria de contenedor2) = 1024 MiB en total.

El agente de instancias administradas de ECS realiza el cálculo de la memoria en tres fases:

1. **Recepción de tareas**: cuando la carga útil de una tarea llega desde el plano de control del ECS, el agente calcula inmediatamente la memoria requerida.

1. **Almacenamiento de recursos**: el requisito de memoria calculado se almacena en el modelo de tareas para su uso posterior en las operaciones de contabilidad de recursos.

1. **Decisión de programación**: antes de aceptar una tarea, el agente comprueba si hay suficiente memoria disponible. Si no hay suficiente memoria disponible, la tarea se rechaza y permanece en la cola de servicios de ECS hasta que haya recursos disponibles.

**nota**  
A diferencia de ECS en EC2, instancias administradas de ECS no utiliza la variable de configuración `ECS_RESERVED_MEMORY`. La reserva de memoria para los procesos del sistema se gestiona mediante la administración de recursos de la plataforma subyacente, y el agente lleva a cabo una contabilidad precisa de los recursos en función de las definiciones de las tareas.

 Para ECS en EC2, el agente de contenedor de Amazon ECS proporciona una variable de configuración con el nombre `ECS_RESERVED_MEMORY`, que se puede utilizar para eliminar un número concreto de MiB de memoria del grupo asignado a las tareas. Este es un mecanismo eficaz que permite reservar memoria para los procesos críticos del sistema.

Si se ocupa toda la memoria de una instancia de contenedor con las tareas, es posible que las tareas compitan con los procesos críticos del sistema por la memoria y posiblemente inicien un error del sistema.

Por ejemplo, si se especifica `ECS_RESERVED_MEMORY=256` en el archivo de configuración del agente, el agente registrará la memoria total menos 256 MiB de esa instancia y las tareas de ECS no podrán asignar 256 MiB de memoria. Para obtener más información sobre las variables de configuración del agente y cómo definirlas, consulte [Configuración del agente de contenedor de Amazon ECS](ecs-agent-config.md) y [Arranque de instancias de contenedor de Linux de Amazon ECS para la transferencia de datos](bootstrap_container_instance.md).

Si especifica 8192 MiB para la tarea y ninguna de las instancias de contenedor tiene 8192 MiB o más de memoria disponible para satisfacer este requisito, la tarea no se puede ubicar en el clúster. Si utiliza un entorno informático administrado, AWS Batch debe iniciar un tipo de instancia de mayor tamaño para poder acomodar la solicitud.

El agente de contenedor de Amazon ECS utiliza la función `ReadMemInfo()` de Docker para consultar la memoria total disponible al sistema operativo. Tanto Linux como Windows cuentan con utilidades de línea de comandos para determinar la memoria total.

**Example - Determinar la memoria total en Linux**  
El comando **free** devuelve la memoria total reconocida por el sistema operativo.  

```
$ free -b
```
Ejemplo de la salida de una instancia `m4.large` que ejecuta la AMI de Amazon Linux optimizada para Amazon ECS.  

```
             total       used       free     shared    buffers     cached
Mem:    8373026816  348180480 8024846336      90112   25534464  205418496
-/+ buffers/cache:  117227520 8255799296
```
Esta instancia tiene 8 373 026 816 bytes de memoria total, lo que se traduce en 7 985 MiB disponibles para tareas.

**Example - Determinar la memoria total en Windows**  
El comando **wmic** devuelve la memoria total reconocida por el sistema operativo.  

```
C:\> wmic ComputerSystem get TotalPhysicalMemory
```
Ejemplo de la salida de una instancia `m4.large` que ejecuta la AMI de Windows Server optimizada para Amazon ECS.  

```
TotalPhysicalMemory
8589524992
```
Esta instancia tiene 8 589 524 992 bytes de memoria total, lo que se traduce en 8 191 MiB disponibles para tareas.

## Visualización de la memoria de instancias de contenedor
<a name="viewing-memory"></a>

Puede consultar la cantidad de memoria que registra una instancia de contenedor a través de la consola de Amazon ECS (o mediante la operación de la API [DescribeContainerInstances](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html)). Si, para intentar maximizar el uso de recursos, proporciona la mayor cantidad de memoria posible a las tareas para un determinado tipo de instancia, puede observar la memoria disponible para esa instancia de contenedor y, a continuación, asignar a las tareas esa cantidad de memoria.

**Visualización de la memoria de la instancia de contenedor**

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. En el panel de navegación, seleccione **Clústeres** y elija el clúster que aloja su instancia de contenedor.

1. Elija **Infraestructura** y, a continuación, en Instancias de contenedor, elija una instancia de contenedor.

1. En la sección **Recursos**, se muestra la memoria registrada y la memoria disponible para la instancia de contenedor.

   El valor del campo **Registrada** corresponde a la memoria que la instancia de contenedor registró en Amazon ECS cuando se inició por primera vez, mientras que el valor del campo **Disponible** corresponde a la memoria que aún no se ha asignado a ninguna tarea.

# Administración remota de instancias de contenedor de Amazon ECS mediante AWS Systems Manager
<a name="ec2-run-command"></a>

Puede utilizar la función Run Command de AWS Systems Manager (Systems Manager) para administrar la configuración de las instancias de contenedor de Amazon ECS de forma segura y remota. Run Command proporciona una manera sencilla de realizar tareas administrativas comunes sin necesidad de iniciar sesión localmente en la instancia. Puede administrar cambios de configuración en los clústeres ejecutando comandos simultáneamente en varias instancia de contenedor. Ejecutar comando notifica el estado y los resultados de cada comando.

Aquí tiene algunos ejemplos de los tipos de tareas que puede llevar a cabo con Ejecutar comando:
+ Instalar o desinstalar paquetes.
+ Realizar actualizaciones de seguridad.
+ Limpiar imágenes de Docker.
+ Parar o comenzar servicios.
+ Ver recursos del sistema.
+ Ver archivos de registro.
+ Realizar operaciones de archivo.

Para obtener más información acerca de Run Command, consulte [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) en la *Guía del usuario de AWS Systems Manager*.

A continuación, se indican los son requisitos previos para usar Systems Manager con Amazon ECS.

1. Debe conceder permisos al rol de instancia de contenedor (**ecsInstanceRole**) para acceder a las API de Systems Manager. Para ello, asigne **AmazonSSMManagedInstanceCore** al rol `ecsInstanceRole`. Para obtener información acerca de cómo asociar una política a un rol, consulte [Actualización de los permisos de un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html) en la *Guía del usuario de AWS Identity and Access Management*.

1. Compruebe que SSM Agent esté instalado en las instancias del contenedor. Para obtener más información, consulte [Instalación y desinstalación manual de SSM Agent en instancias EC2 para Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html).

Después de asociar políticas administradas de Systems Manager al `ecsInstanceRole` y de verificar que el agente de AWS Systems Manager (SSM Agent) esté instalado en las instancias de contenedor, puede comenzar a utilizar Run Command para enviar comandos a las instancias de contenedor. Para obtener información acerca de la ejecución de comandos y scripts del shell en las instancias y la visualización del resultado obtenido, consulte [Ejecución de comandos mediante Run Command de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) y [Explicaciones sobre Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command-walkthroughs.html) en la *Guía del usuario de AWS Systems Manager.* 

Un caso de uso común es actualizar el software de la instancia de contenedor con Run Command. Puede seguir los procedimientos de la Guía del usuario de AWS Systems Manager con los siguientes parámetros.


| Parámetro | Valor | 
| --- | --- | 
|  **Documento de comandos**  | AWS-RunShellScript | 
| Comando |  <pre>$ yum update -y</pre> | 
| Instancias de destino | Sus instancias de contenedor | 

# Uso de un proxy HTTP para instancias de contenedor de Linux de Amazon ECS
<a name="http_proxy_config"></a>

Puede configurar las instancias de contenedor de Amazon ECS para que utilicen un proxy HTTP tanto para el agente de contenedor de Amazon ECS como para el daemon de Docker. Esto resulta útil si las instancias de contenedor no tienen acceso de red externo a través de una gateway de Internet de Amazon VPC, una gateway NAT o una instancia. 

Para configurar la instancia de contenedor de Linux de Amazon ECS de modo que utilice un proxy HTTP, establezca las siguientes variables en los archivos correspondiente en el momento del lanzamiento (con datos de usuario de Amazon EC2). También puede editar manualmente el archivo de configuración y, a continuación, reiniciar el agente.

`/etc/ecs/ecs.config` (AMI de Amazon Linux y Amazon Linux 2)    
`HTTP_PROXY=10.0.0.131:3128`  
Establezca este valor en el nombre de host (o dirección IP) y en el número de puerto de un proxy HTTP que se utilizará para que el agente de Amazon ECS se conecte a Internet. Por ejemplo, las instancias de contenedor podrían no tener acceso de red externo a través de una gateway de Internet de Amazon VPC, una gateway NAT o una instancia.  
`NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock`  
Establezca este valor en `169.254.169.254,169.254.170.2,/var/run/docker.sock` para filtrar los metadatos de las instancias EC2, los roles de IAM para tareas y el tráfico del daemon de Docker procedente del proxy. 

`/etc/systemd/system/ecs.service.d/http-proxy.conf` (Amazon Linux 2 solamente)    
`Environment="HTTP_PROXY=10.0.0.131:3128/"`  
Establezca este valor en el nombre de host (o dirección IP) y en el número de puerto de un proxy HTTP que desee utilizar para que `ecs-init` se conecte a Internet. Por ejemplo, las instancias de contenedor podrían no tener acceso de red externo a través de una gateway de Internet de Amazon VPC, una gateway NAT o una instancia.  
`Environment="NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock"`  
Establezca este valor en `169.254.169.254,169.254.170.2,/var/run/docker.sock` para filtrar los metadatos de las instancias EC2, los roles de IAM para tareas y el tráfico del daemon de Docker procedente del proxy. 

`/etc/init/ecs.override` (AMI de Amazon Linux solamente)    
`env HTTP_PROXY=10.0.0.131:3128`  
Establezca este valor en el nombre de host (o dirección IP) y en el número de puerto de un proxy HTTP que desee utilizar para que `ecs-init` se conecte a Internet. Por ejemplo, las instancias de contenedor podrían no tener acceso de red externo a través de una gateway de Internet de Amazon VPC, una gateway NAT o una instancia.  
`env NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock`  
Establezca este valor en `169.254.169.254,169.254.170.2,/var/run/docker.sock` para filtrar los metadatos de las instancias EC2, los roles de IAM para tareas y el tráfico del daemon de Docker procedente del proxy. 

`/etc/systemd/system/docker.service.d/http-proxy.conf` (Amazon Linux 2 solamente)    
`Environment="HTTP_PROXY=http://10.0.0.131:3128"`  
Establezca este valor en el nombre de host (o dirección IP) y en el número de puerto de un proxy HTTP que utilizar para que el daemon de Docker se conecte a Internet. Por ejemplo, las instancias de contenedor podrían no tener acceso de red externo a través de una gateway de Internet de Amazon VPC, una gateway NAT o una instancia.  
`Environment="NO_PROXY=169.254.169.254,169.254.170.2"`  
Establezca este valor en `169.254.169.254,169.254.170.2` para filtrar metadatos de instancia EC2 desde el proxy. 

`/etc/sysconfig/docker` (solo AMI de Amazon Linux y Amazon Linux 2)    
`export HTTP_PROXY=http://10.0.0.131:3128`  
Establezca este valor en el nombre de host (o dirección IP) y en el número de puerto de un proxy HTTP que utilizar para que el daemon de Docker se conecte a Internet. Por ejemplo, las instancias de contenedor podrían no tener acceso de red externo a través de una gateway de Internet de Amazon VPC, una gateway NAT o una instancia.  
`export NO_PROXY=169.254.169.254,169.254.170.2`  
Establezca este valor en `169.254.169.254,169.254.170.2` para filtrar metadatos de instancia EC2 desde el proxy. 

Establecer estas variables de entorno en los archivos anteriores solo afecta al agente de contenedor de Amazon ECS, a `ecs-init` y al daemon de Docker. No configuran ningún otro servicio (como **yum**) para que utilice el proxy.

Para obtener información sobre cómo configurar el proxy, consulte [How do I set up an HTTP proxy for Docker and the Amazon ECS container agent in Amazon Linux 2 or AL2023](https://repost.aws/knowledge-center/ecs-http-proxy-docker-linux2).

# Configuración de instancias preinicializadas para el grupo de escalado automático de Amazon ECS
<a name="using-warm-pool"></a>

Amazon ECS admite grupos de calentamiento de Amazon EC2 Auto Scaling. Un grupo de calentamiento es un grupo de Amazon EC2 instances (Instancias de Amazon EC2) inicializadas previamente listas para ponerse en servicio. Siempre que su aplicación necesita escalar horizontalmente, Amazon EC2 Auto Scaling utiliza las instancias preinicializadas del grupo de calentamiento en lugar de lanzar instancias en frío, permite ejecutar cualquier proceso de inicialización final y, a continuación, pone la instancia en servicio.

Para obtener más información sobre grupos de calentamiento y cómo agregar un grupo de calentamiento a un grupo de Auto Scaling, consulte [Grupos de calentamiento para Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html) *en la Guía del usuario de Amazon EC2 Auto Scaling*.

Cuando se crea o actualiza un grupo de calentamiento para un grupo de escalado automático para Amazon ECS, no se puede configurar la opción que devuelve las instancias al grupo de calentamiento al reducir horizontalmente (`ReuseOnScaleIn`). Para obtener más información, consulte [put-warm-pool](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-warm-pool.html) en la *Referencia de AWS Command Line Interface*.

Para utilizar los grupos de calentamiento con su clúster de Amazon ECS, establezca la variable de configuración del agente `ECS_WARM_POOLS_CHECK` en `true` en el campo **User data** (Datos de usuario) de la plantilla de lanzamiento del grupo de Amazon EC2 Auto Scaling. 

A continuación, mostramos un ejemplo de cómo se puede especificar la variable de configuración en el campo **User data** (Datos de usuario) de una plantilla de lanzamiento de Amazon EC2. Reemplace *MyCluster* por el nombre del clúster.

```
#!/bin/bash
cat <<'EOF' >> /etc/ecs/ecs.config
ECS_CLUSTER=MyCluster
ECS_WARM_POOLS_CHECK=true
EOF
```

Esta variable `ECS_WARM_POOLS_CHECK` solo se admite en versiones de agente `1.59.0` y posterior. Para obtener más información sobre la variable, consulte [Configuración del agente de contenedor de Amazon ECS](ecs-agent-config.md).

# Actualización del agente de contenedor de Amazon ECS
<a name="ecs-agent-update"></a>

Ocasionalmente, es posible que tenga que actualizar el agente de contenedor de Amazon ECS para obtener correcciones de errores y nuevas características. La actualización del agente de contenedor de Amazon ECS no interrumpe las tareas ni los servicios en marcha en la instancia de contenedor. El proceso de actualización del agente difiere en función de si la instancia de contenedor se lanzó con una AMI optimizada para Amazon ECS u otro sistema operativo.

**nota**  
Las actualizaciones del agente no se aplican a instancias de contenedor de Windows. Le recomendamos que lance nuevas instancias de contenedor para actualizar la versión del agente en sus clústeres Windows.

## Comprobación de la versión del agente de contenedor de Amazon ECS
<a name="checking_agent_version"></a>

Puede comprobar la versión del agente de contenedor que se está ejecutando en sus instancias de contenedor para ver si necesita actualizarlo. La vista de la instancia de contenedor en la consola de Amazon ECS proporciona la versión del agente. Utilice el siguiente procedimiento para comprobar la versión del agente.

------
#### [ Amazon ECS console ]

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. En la barra de navegación, elija la región en la que se encuentra registrada la instancia externa.

1. En el panel de navegación, elija **Clusters** (Clústeres) y seleccione el clúster que aloja la instancia externa.

1. En la página de **Cluster : *name*** (Clúster; nombre), elija la pestaña **Infrastructure** (Infraestructura).

1. En **Container instances** (Instancias de contenedor), tenga en cuenta la columna **Agent version** (Versión de agente) para sus instancias de contenedor. Si la instancia de contenedor no contiene la versión más reciente del agente de contenedor, la consola genera un mensaje de alerta y marca la versión del agente obsoleta.

   Si la versión de su agente está desactualizada, puede actualizar el agente de contenedor con los siguientes procedimientos:
   + Si la instancia de contenedor está ejecutando una AMI optimizada para Amazon ECS, consulte [Actualización del agente de contenedor de Amazon ECS en una AMI optimizada para Amazon ECS](agent-update-ecs-ami.md).
   + Si la instancia de contenedor no está ejecutando una AMI optimizada para Amazon ECS, consulte [Actualización manual del agente de contenedor de Amazon ECS (para AMI no optimizadas para Amazon ECS)](manually_update_agent.md).
**importante**  
Para actualizar la versión del agente de Amazon ECS de versiones anteriores a la v1.0.0 en la AMI optimizada para Amazon ECS, le recomendamos que termine la instancia de contenedor actual y lance una instancia nueva con la versión de la AMI más reciente. Cualquier instancia de contenedor que utilice una versión de vista previa se debe retirar y sustituir por la AMI más reciente. Para obtener más información, consulte [Lanzamiento de una instancia de contenedor de Linux de Amazon ECS](launch_container_instance.md).

------
#### [ Amazon ECS container agent introspection API  ]

También puede utilizar la API de introspección del agente de contenedor de Amazon ECS para comprobar la versión del agente desde la propia instancia de contenedor. Para obtener más información, consulte [Introspección de contenedor de Amazon ECS](ecs-agent-introspection.md).

**Para comprobar si el agente de contenedor de Amazon ECS ejecuta la versión más reciente a través de la API de introspección**

1. Inicie sesión en su instancia de contenedor mediante SSH.

1. Consulte la API de introspección.

   ```
   [ec2-user ~]$ curl -s 127.0.0.1:51678/v1/metadata | python3 -mjson.tool
   ```
**nota**  
La API de introspección agregó información de `Version` en la versión v1.0.0 del agente de contenedor de Amazon ECS. Si no tiene `Version` a la hora de consultar la API de introspección o la API de introspección no está presente en el agente en absoluto, entonces la versión que ejecuta es v0.0.3 o anterior. Debería actualizar la versión.

------

# Actualización del agente de contenedor de Amazon ECS en una AMI optimizada para Amazon ECS
<a name="agent-update-ecs-ami"></a>

Si está utilizando la AMI optimizada para Amazon ECS, dispone de varias opciones para obtener la versión más reciente del agente de contenedor de Amazon ECS (se muestran por orden de recomendación):
+ Termine las instancias de contenedor actuales y lance la versión más reciente de la AMI de Amazon Linux 2 optimizada para Amazon ECS (ya sea manualmente o actualizando la configuración de lanzamiento de Auto Scaling con la AMI más reciente). Esto proporciona una instancia de contenedor nueva con las versiones probadas y validadas más recientes de Amazon Linux, Docker, `ecs-init` y el agente de contenedor de Amazon ECS. Para obtener más información, consulte [AMI de Linux optimizadas para Amazon ECS](ecs-optimized_AMI.md).
+ Conecte a la instancia con SSH y actualice el paquete `ecs-init` (y sus dependencias) a la versión más reciente. Esta operación ofrece las versiones probadas y validadas más recientes de Docker y `ecs-init` que están disponibles en los repositorios de Amazon Linux, así como la versión más reciente del agente de contenedor de Amazon ECS. Para obtener más información, consulte [Para actualizar el paquete `ecs-init` en la AMI optimizada para Amazon ECS](#procedure_update_ecs-init).
+ Actualice el agente de contenedor con la operación `UpdateContainerAgent` de la API, ya sea a través de la consola, con la AWS CLI o con los SDK de AWS. Para obtener más información, consulte [Actualización del agente de contenedor de Amazon ECS mediante la operación de la API `UpdateContainerAgent`](#agent-update-api).

**nota**  
Las actualizaciones del agente no se aplican a instancias de contenedor de Windows. Le recomendamos que lance nuevas instancias de contenedor para actualizar la versión del agente en sus clústeres Windows.<a name="procedure_update_ecs-init"></a>

**Para actualizar el paquete `ecs-init` en la AMI optimizada para Amazon ECS**

1. Inicie sesión en su instancia de contenedor mediante SSH.

1. Actualice el paquete `ecs-init` con el siguiente comando.

   ```
   sudo yum update -y ecs-init
   ```
**nota**  
El paquete `ecs-init` y el agente de contenedor de Amazon ECS se actualizan de forma inmediata. Sin embargo, las versiones más recientes de Docker no se cargan hasta que se reinicia el daemon de Docker. Para efectuar el reinicio, puede reiniciar la instancia o ejecutar los siguientes comandos en su instancia:  
AMI de Amazon Linux 2 optimizada para Amazon ECS:  

     ```
     sudo systemctl restart docker
     ```
AMI de Amazon Linux optimizada para Amazon ECS:  

     ```
     sudo service docker restart && sudo start ecs
     ```

## Actualización del agente de contenedor de Amazon ECS mediante la operación de la API `UpdateContainerAgent`
<a name="agent-update-api"></a>

**importante**  
La API `UpdateContainerAgent` solo se admite en variantes de Linux de la AMI optimizada para Amazon ECS, a excepción de la AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS. Para instancias de contenedor que utilizan la AMI de Amazon Linux 2 (arm64) optimizada para Amazon ECS, actualice el paquete `ecs-init` para actualizar el agente. Para instancias de contenedor que están ejecutando otros sistemas operativos, consulte [Actualización manual del agente de contenedor de Amazon ECS (para AMI no optimizadas para Amazon ECS)](manually_update_agent.md). Si utiliza instancias de contenedor de Windows, le recomendamos que lance nuevas instancias de contenedor para actualizar la versión del agente en los clústeres Windows.

El proceso de la API `UpdateContainerAgent` comienza cuando solicita una actualización del agente, ya sea a través de la consola o con la AWS CLI o los SDK de AWS. Amazon ECS compara la versión actual del agente con la versión del agente más reciente disponible y si es posible una actualización. Si no es posible una actualización, por ejemplo, si el agente ya está ejecutando la versión más reciente, se devuelve `NoUpdateAvailableException`.

Las fases en el proceso de actualización mostradas más arriba son las siguientes:

`PENDING`  
Hay una actualización de agente disponible y el proceso de actualización se ha iniciado.

`STAGING`  
El agente ha comenzado a descargar la actualización del agente. Si el agente no puede descargar la actualización o si el contenido de la actualización es incorrecto o está dañada, entonces el agente envía una notificación del error y la actualización pasa al estado `FAILED`.

`STAGED`  
La descarga del agente se ha completado y se ha verificado el contenido del agente.

`UPDATING`  
El servicio `ecs-init` se reinicia y recoge la nueva versión del agente. Si, por alguna razón, el agente no puede reiniciarse, la actualización pasa al estado `FAILED`; de lo contrario, el agente indica a Amazon ECS que la actualización está completa.

**nota**  
Las actualizaciones del agente no se aplican a instancias de contenedor de Windows. Le recomendamos que lance nuevas instancias de contenedor para actualizar la versión del agente en sus clústeres Windows.

**Para actualizar el agente de contenedor de Amazon ECS en una AMI optimizada para Amazon ECS desde la consola**

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. En la barra de navegación, elija la región en la que se encuentra registrada la instancia externa.

1. En el panel de navegación, elija **Clusters** y seleccione el clúster.

1. En la página de **Cluster : *name*** (Clúster; nombre), elija la pestaña **Infrastructure** (Infraestructura).

1. En **Instancias de contenedor**, seleccione las instancias que desea actualizar y, a continuación, elija **Acciones**, **Actualización del agente**.

# Actualización manual del agente de contenedor de Amazon ECS (para AMI no optimizadas para Amazon ECS)
<a name="manually_update_agent"></a>

Ocasionalmente, es posible que tenga que actualizar el agente de contenedor de Amazon ECS para obtener correcciones de errores y nuevas características. La actualización del agente de contenedor de Amazon ECS no interrumpe las tareas ni los servicios en marcha en la instancia de contenedor.
**nota**  
Las actualizaciones del agente no se aplican a instancias de contenedor de Windows. Le recomendamos que lance nuevas instancias de contenedor para actualizar la versión del agente en sus clústeres Windows.

1. Inicie sesión en su instancia de contenedor mediante SSH.

1. Compruebe si su agente utiliza la variable de entorno `ECS_DATADIR` para guardar su estado.

   ```
   ubuntu:~$ docker inspect ecs-agent | grep ECS_DATADIR
   ```

   Salida:

   ```
   "ECS_DATADIR=/data",
   ```
**importante**  
Si el comando anterior no devuelve la variable de entorno `ECS_DATADIR`, debe detener las tareas en ejecución en esta instancia de contenedor antes de actualizar el agente. Los agentes más recientes con la variable de entorno `ECS_DATADIR` guardan su estado y usted puede actualizarlos mientras que las tareas se ejecuten sin problemas.

1. Detenga el agente de contenedor de Amazon ECS.

   ```
   ubuntu:~$ docker stop ecs-agent
   ```

1. Elimine el contenedor de agente.

   ```
   ubuntu:~$ docker rm ecs-agent
   ```

1. Asegúrese de que el directorio `/etc/ecs` y el archivo de configuración del agente de contenedor de Amazon ECS existan en `/etc/ecs/ecs.config`.

   ```
   ubuntu:~$ sudo mkdir -p /etc/ecs && sudo touch /etc/ecs/ecs.config
   ```

1. Edite el archivo `/etc/ecs/ecs.config` y asegúrese de que contenga al menos las siguientes declaraciones de variables. Si no desea que su instancias de contenedor se registre en el clúster predeterminado, especifique el nombre del clúster como el valor para `ECS_CLUSTER`.

   ```
   ECS_DATADIR=/data
   ECS_ENABLE_TASK_IAM_ROLE=true
   ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST=true
   ECS_LOGFILE=/log/ecs-agent.log
   ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"]
   ECS_LOGLEVEL=info
   ECS_CLUSTER=default
   ```

   Para obtener más información acerca de estas y otras opciones de tiempo de ejecución de agente, consulte [Configuración del agente de contenedor de Amazon ECS](ecs-agent-config.md).
**nota**  
Si lo desea, puede almacenar las variables de entorno del agente en Amazon S3 (se pueden descargar en las instancias de contenedor en el momento del lanzamiento utilizando datos de usuario de Amazon EC2). Se recomienda su uso para información confidencial como las credenciales de autenticación para repositorios privados. Para obtener más información, consulte [Almacenamiento de la configuración de instancia de contenedor de Amazon ECS en Amazon S3](ecs-config-s3.md) y [Uso de imágenes de contenedor que no sean de AWS en Amazon ECS](private-auth.md).

1. Extraiga la imagen más reciente del agente de contenedor de Amazon ECS de Amazon Elastic Container Registry Public.

   ```
   ubuntu:~$ docker pull public.ecr.aws/ecs/amazon-ecs-agent:latest
   ```

   Salida:

   ```
   Pulling repository amazon/amazon-ecs-agent
   a5a56a5e13dc: Download complete
   511136ea3c5a: Download complete
   9950b5d678a1: Download complete
   c48ddcf21b63: Download complete
   Status: Image is up to date for amazon/amazon-ecs-agent:latest
   ```

1. Ejecute el agente de contenedor de Amazon ECS más reciente en la instancia de contenedor.
**nota**  
Utilice las políticas de reinicio de Docker o un administrador de procesos (como **upstart** o **systemd**) para tratar al agente de contenedor como un servicio o un daemon y asegurarse de que se reinicie después de finalizar su ejecución. Para eso, la AMI optimizada para Amazon ECS utiliza el RPM `ecs-init`, y puede consultar el [código fuente para este RPM](https://github.com/aws/amazon-ecs-init) en GitHub. 

   En el siguiente ejemplo, el comando de ejecución del agente está dividido en líneas separadas para mostrar cada opción. Para obtener más información acerca de estas y otras opciones de tiempo de ejecución de agente, consulte [Configuración del agente de contenedor de Amazon ECS](ecs-agent-config.md).
**importante**  
Los sistemas operativos con SELinux habilitado requieren la opción `--privileged` en el comando **docker run**. Además, para las instancias de contenedor con SELinux habilitado, recomendamos añadir la opción `:Z` a los montajes de volúmenes `/log` y `/data`. No obstante, los montajes de hosts para estos volúmenes deben existir antes de que ejecute el comando; de lo contrario, recibirá un error `no such file or directory`. Realice la siguiente acción si tiene dificultades para ejecutar el agente de Amazon ECS en una instancia de contenedor con SELinux habilitado:  
Cree los puntos de montaje de volumen del host en su instancia de contenedor.  

     ```
     ubuntu:~$ sudo mkdir -p /var/log/ecs /var/lib/ecs/data
     ```
Añada la opción `--privileged` al siguiente comando **docker run**.
Añada la opción `:Z` a los montajes del volumen de contenedor `/log` y `/data` (por ejemplo, `--volume=/var/log/ecs/:/log:Z`) para el siguiente comando **docker run**.

   ```
   ubuntu:~$ sudo docker run --name ecs-agent \
   --detach=true \
   --restart=on-failure:10 \
   --volume=/var/run:/var/run \
   --volume=/var/log/ecs/:/log \
   --volume=/var/lib/ecs/data:/data \
   --volume=/etc/ecs:/etc/ecs \
   --volume=/etc/ecs:/etc/ecs/pki \
   --net=host \
   --env-file=/etc/ecs/ecs.config \
   amazon/amazon-ecs-agent:latest
   ```
**nota**  
Si recibe el mensaje `Error response from daemon: Cannot start container`, puede eliminar el contenedor con errores con el comando **sudo docker rm ecs-agent** e intentar volver a ejecutar el agente. 

# AMI de Windows optimizadas para Amazon ECS
<a name="ecs-optimized_windows_AMI"></a>

Las AMI optimizadas para Amazon ECS están preconfiguradas con los componentes necesarios para ejecutar cargas de trabajo de Amazon ECS. Aunque puede crear su propia AMI de instancia de contenedor que cumpla con las especificaciones básicas necesarias para ejecutar las cargas de trabajo en contenedores en Amazon ECS, la preconfiguración y la prueba de las AMI optimizadas para Amazon ECS la realizan los ingenieros de AWS en Amazon ECS. Es la forma más sencilla para empezar y para conseguir que los contenedores funcionen en AWS rápidamente.

Los metadatos de la AMI optimizada para Amazon ECS de cada variante, incluidos el nombre de la AMI, la versión del agente de contenedor de Amazon ECS y la versión del tiempo de ejecución de Amazon ECS que incluye la versión de Docker, se pueden recuperar mediante programación. Para obtener más información, consulte [Recuperación de metadatos de las AMI de Windows optimizadas para Amazon ECS](retrieve-ecs-optimized_windows_AMI.md).

**importante**  
 Todas las variantes de AMI optimizadas para ECS producidas después de agosto de 2022 migrarán de Docker EE (Mirantis) a Docker CE (proyecto Moby).  
Para asegurarse de que los clientes disponen de las actualizaciones de seguridad más recientes de forma predeterminada, Amazon ECS mantiene al menos las últimas tres AMI de Windows optimizada para Amazon ECS. Después de lanzar nuevas AMI de Windows optimizadas para Amazon ECS, Amazon ECS convierte en privadas las AMI de Windows optimizadas para Amazon ECS más antiguas. Para informarnos que necesita obtener acceso a una AMI privada, envíe un ticket al equipo de Cloud Support.

## Variantes de AMI optimizadas para Amazon ECS
<a name="ecs-optimized-ami-variants"></a>

Las siguientes variantes de Windows Server de la AMI optimizada para Amazon ECS están disponibles para las instancias de Amazon EC2.

**importante**  
Todas las variantes de AMI optimizadas para ECS producidas después de agosto migrarán de Docker EE (Mirantis) a Docker CE (proyecto Moby).
+ **AMI de Windows Server 2025 Full optimizada para Amazon ECS** 
+ **AMI de Windows Server 2025 Core optimizada para Amazon ECS** 
+ **AMI de Windows Server 2022 Full optimizada para Amazon ECS** 
+ **AMI de Windows Server 2022 Core optimizada para Amazon ECS** 
+ **AMI de Windows Server 2019 Full optimizada para Amazon ECS** 
+ **AMI de Windows Server 2019 Core optimizada para Amazon ECS** 
+ **AMI de Windows Server 2016 Full optimizada para Amazon ECS**

**importante**  
Windows Server 2016 no es compatible con la última versión de Docker, por ejemplo, la 25.x.x. Por lo tanto, las AMI completas de Windows Server 2016 no recibirán parches de seguridad o de errores en el entorno en tiempo de ejecución de Docker. Le recomendamos que cambie a una de las siguientes plataformas de Windows:  
Windows Server 2022 Full
Windows Server 2022 Core
Windows Server 2019 Full
Windows Server 2019 Core

El 9 de agosto de 2022, la AMI de Windows Server 20H2 Core optimizada para Amazon ECS llegó a su fecha de fin de soporte. No se lanzarán nuevas versiones de esta AMI. Para obtener más información, vea [Información de la versión de Windows Server](https://learn.microsoft.com/en-us/windows-server/get-started/windows-server-release-info).

Windows Server 2025, Windows Server 2022, Windows Server 2019 y Windows Server 2016 son versiones de canal de servicio a largo plazo (LTSC). Windows Server 20H2 es una versión de canal semestral (SAC). Para obtener más información, vea [Información de la versión de Windows Server](https://learn.microsoft.com/en-us/windows-server/get-started/windows-server-release-info).

### Consideraciones
<a name="windows_caveats"></a>

Estas son algunas cuestiones que debería saber acerca de los contenedores de Amazon EC2 Windows y Amazon ECS.
+ Los contenedores de Windows no se pueden ejecutar en instancias de contenedor Linux y viceversa. Para lograr una mejor ubicación de tareas de Windows y de Linux, debería mantener las instancias de contenedor de Windows y de Linux en clústeres independientes y colocar solo las tareas de Windows en contenedores de Windows. Puede asegurarse de que las definiciones de tareas de Windows solo se coloquen en instancias de Windows estableciendo la siguiente restricción de colocación: `memberOf(ecs.os-type=='windows')`.
+ Los contenedores de Windows son compatibles con las tareas que utilizan EC2 y Fargate.
+ Los contenedores y las instancias de contenedor de Windows no pueden admitir todos los parámetros de definición de tareas disponibles para contenedores e instancias de contenedor de Linux. Algunos parámetros directamente no se admiten, mientras que otros se comportan de modo distinto en Windows y en Linux. Para obtener más información, consulte [Diferencias en la definición de tareas de Amazon ECS para instancias de EC2 que ejecutan Windows](windows_task_definitions.md).
+ En cuanto a la característica de roles de IAM para las tareas, debe configurar las instancias de contenedor de Windows para habilitarla durante el lanzamiento. Los contenedores deben ejecutar algún código de PowerShell proporcionado cuando utilicen la característica. Para obtener más información, consulte [Configuración adicional de las instancias de Amazon EC2 de Windows](task-iam-roles.md#windows_task_IAM_roles).
+ La característica de roles de IAM para las tareas utiliza un proxy de credenciales que proporcionar credenciales a los contenedores. Este proxy de credenciales ocupa el puerto 80 de la instancia de contenedor, es decir que si utiliza los roles de IAM para las tareas, el puerto 80 no está disponible para tareas. En el caso de los contenedores de servicio web, puede utilizar un Application Load Balancer y un mapeo de puertos dinámico para proporcionar conexiones HTTP estándar en el puerto 80 a los contenedores. Para obtener más información, consulte [Uso del equilibrador de carga para distribuir el tráfico de servicio de Amazon ECS](service-load-balancing.md).
+ Las imágenes de Docker de Windows Server son grandes (9 GiB). Por lo tanto, las instancias de contenedor de Windows requieren más espacio de almacenamiento que las instancias de contenedor de Linux.
+ Para ejecutar un contenedor de Windows en un Windows Server, la versión del sistema operativo de imagen base del contenedor debe coincidir con la del host. Para obtener más información, consulte [Compatibilidad de versiones de contenedores Windows](https://learn.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility?tabs=windows-server-2022%2Cwindows-11) en el sitio web de documentación de Microsoft. Si el clúster ejecuta varias versiones de Windows, puede asegurarse de que la tarea se coloque en una instancia de EC2 que se ejecute en la misma versión mediante la restricción de ubicación: `memberOf(attribute:ecs.os-family == WINDOWS_SERVER_<OS_Release>_<FULL or CORE>)`. Para obtener más información, consulte [Recuperación de metadatos de las AMI de Windows optimizadas para Amazon ECS](retrieve-ecs-optimized_windows_AMI.md).

# Recuperación de metadatos de las AMI de Windows optimizadas para Amazon ECS
<a name="retrieve-ecs-optimized_windows_AMI"></a>

Para recuperar el ID de la AMI, el nombre de la imagen, el sistema operativo, la versión del agente de contenedor y la versión del tiempo de ejecución de las AMI optimizada para Amazon ECS mediante programación, consulte la API del Parameter Store de Systems Manager. Para obtener más información acerca de la API del Parameter Store de Systems Manager, consulte [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) y [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html).

**nota**  
La cuenta administrativa debe tener los siguientes permisos de IAM para recuperar los metadatos de la AMI optimizada para Amazon ECS. Estos permisos se agregaron a la política de IAM `AmazonECS_FullAccess`.  
ssm:GetParameters
ssm:GetParameter
ssm:GetParametersByPath

## Formato de los parámetros de Parameter Store de Systems Manager
<a name="ecs-optimized-ami-parameter-format"></a>

**nota**  
Los siguientes parámetros de la API de Parameter Store de Systems Manager están obsoletos y no deben utilizarse para recuperar las AMI de Windows más recientes:  
`/aws/service/ecs/optimized-ami/windows_server/2016/english/full/recommended/image_id `
`/aws/service/ecs/optimized-ami/windows_server/2019/english/full/recommended/image_id`

A continuación, se muestra el formato del nombre del parámetro para cada variante de AMI optimizada para Amazon ECS.
+ Metadatos de la AMI de Windows Server 2025 Full:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2025-English-Full-ECS_Optimized
  ```
+ Metadatos de la AMI de Windows Server 2025 Core:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2025-English-Core-ECS_Optimized
  ```
+ Metadatos de la AMI de Windows Server 2022 Full:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2022-English-Full-ECS_Optimized
  ```
+ Metadatos de la AMI de Windows Server 2022 Core:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2022-English-Core-ECS_Optimized
  ```
+ Metadatos de la AMI de Windows Server 2019 Full:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized
  ```
+ Metadatos de la AMI de Windows Server 2019 Core:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2019-English-Core-ECS_Optimized
  ```
+ Metadatos de la AMI de Windows Server 2016 Full:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2016-English-Full-ECS_Optimized
  ```

El siguiente formato de nombre de parámetro recupera los metadatos de la versión estable más reciente de la AMI completa 2019 de Windows Server.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized
```

A continuación se muestra un ejemplo del objeto JSON que se devuelve para el valor del parámetro.

```
{
    "Parameters": [
        {
            "Name": "/aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized",
            "Type": "String",
            "Value": "{\"image_name\":\"Windows_Server-2019-English-Full-ECS_Optimized-2023.06.13\",\"image_id\":\"ami-0debc1fb48e4aee16\",\"ecs_runtime_version\":\"Docker (CE) version 20.10.21\",\"ecs_agent_version\":\"1.72.0\"}",
            "Version": 58,
            "LastModifiedDate": "2023-06-22T19:37:37.841000-04:00",
            "ARN": "arn:aws:ssm:us-east-1::parameter/aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized",
            "DataType": "text"
        }
    ],
    "InvalidParameters": []
}
```

Cada uno de los campos de la salida anterior están disponibles para consultarse como parámetros secundarios. Para crear la ruta de parámetros correspondiente a un parámetro secundario, agregue el nombre del parámetro secundario a la ruta de la AMI seleccionada. Están disponibles los siguientes parámetros secundarios:
+ `schema_version`
+ `image_id`
+ `image_name`
+ `os`
+ `ecs_agent_version`
+ `ecs_runtime_version`

## Ejemplos
<a name="ecs-optimized-ami-windows-parameter-examples"></a>

Los siguientes ejemplos muestran formas en las que pueden recuperar los metadatos de cada variante de AMI optimizada para Amazon ECS.

### Recuperación de los metadatos de la AMI optimizada para Amazon ECS estable más reciente
<a name="ecs-optimized-ami-windows-parameter-examples-1"></a>

Utilice los siguientes comandos de la AWS CLI para recuperar la AMI optimizada para Amazon ECS estable más reciente mediante la AWS CLI.
+ **Para la AMI de Windows Server 2025 Full optimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2025-English-Full-ECS_Optimized --region us-east-1
  ```
+ **Para la AMI de Windows Server 2025 Core optimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2025-English-Core-ECS_Optimized --region us-east-1
  ```
+ **Para la AMI de Windows Server 2022 Full optimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2022-English-Full-ECS_Optimized --region us-east-1
  ```
+ **Para la AMI de Windows Server 2022 Core optimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2022-English-Core-ECS_Optimized --region us-east-1
  ```
+ **Para la AMI de Windows Server 2019 Full optimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized --region us-east-1
  ```
+ **Para la AMI de Windows Server 2019 Core optimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2019-English-Core-ECS_Optimized --region us-east-1
  ```
+ **Para la AMI de Windows Server 2016 Full optimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2016-English-Full-ECS_Optimized --region us-east-1
  ```

### Utilización de la AMI optimizada para Amazon ECS más reciente recomendada en una plantilla de CloudFormation
<a name="ecs-optimized-ami-windows-parameter-examples-5"></a>

Para hacer referencia a la AMI optimizada para Amazon ECS recomendada en una plantilla de CloudFormation, pude hacer referencia al nombre del almacén de parámetros de Systems Manager.

```
Parameters:
  LatestECSOptimizedAMI:
    Description: AMI ID
    Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
    Default: /aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized/image_id
```

# Versiones de las AMI de Windows optimizadas para Amazon ECS
<a name="ecs-windows-ami-versions"></a>

Vea las versiones anteriores y la actual de las AMI optimizadas para Amazon ECS y sus respectivas versiones del agente de contenedor de Amazon ECS, de Docker y del paquete `ecs-init`.

Los metadatos de la AMI optimizada para Amazon ECS, incluido el ID de la AMI, de cada variante se pueden recuperar mediante programación. Para obtener más información, consulte [Recuperación de metadatos de las AMI de Windows optimizadas para Amazon ECS](retrieve-ecs-optimized_windows_AMI.md). 

En las siguientes pestañas, se muestra una lista de versiones de AMI de Windows optimizadas para Amazon ECS. Para obtener más información sobre cómo hacer referencia al parámetro de Parameter Store de Systems Manager en una plantilla de CloudFormation, consulte [Utilización de la AMI optimizada para Amazon ECS más reciente recomendada en una plantilla de CloudFormation](retrieve-ecs-optimized_AMI.md#ecs-optimized-ami-parameter-examples-5).

**importante**  
Para asegurarse de que los clientes disponen de las actualizaciones de seguridad más recientes de forma predeterminada, Amazon ECS mantiene al menos las últimas tres AMI de Windows optimizada para Amazon ECS. Después de lanzar nuevas AMI de Windows optimizadas para Amazon ECS, Amazon ECS convierte en privadas las AMI de Windows optimizadas para Amazon ECS más antiguas. Para informarnos que necesita obtener acceso a una AMI privada, envíe un ticket al equipo de Cloud Support.  
Windows Server 2016 no es compatible con la última versión de Docker, por ejemplo, la 25.x.x. Por lo tanto, las AMI completas de Windows Server 2016 no recibirán parches de seguridad o de errores en el entorno en tiempo de ejecución de Docker. Le recomendamos que cambie a una de las siguientes plataformas de Windows:  
Windows Server 2022 Full
Windows Server 2022 Core
Windows Server 2019 Full
Windows Server 2019 Core

**nota**  
El registro de complementos gMSA se ha migrado del registro basado en archivos `(C:\ProgramData\Amazon\gmsa)` a Windows Event logging con la versión de la AMI de agosto de 2025. El script del recopilador de registros público recopilará todos los registros de gMSA. Para obtener más información, consulte [Recopilación de registros de contenedor con el recopilador de registros de Amazon ECS](ecs-logs-collector.md).

------
#### [ Windows Server 2025 Full AMI versions ]

En la tabla siguiente, se enumeran las versiones anteriores y la actual de la AMI de Windows Server 2025 Full optimizada para Amazon ECS y sus respectivas versiones del agente de contenedor de Amazon ECS y Docker.


|  AMI de Windows Server 2025 Full optimizada para Amazon ECS  |  Versión del agente de contenedor de Amazon ECS  |  Versión de Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2025-English-Full-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2025-English-Full-ECS\$1Optimized-2025.08.24**  |  `1.98.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
| Windows\$1Server-2025-English-Full-ECS\$1Optimized-2025.08.16 | 1.97.1 | 25.0.6 (Docker CE) | Public | 
|  **Windows\$1Server-2025-English-Full-ECS\$1Optimized-2025.07.16**  |  `1.96.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2025-English-Full-ECS\$1Optimized-2025.06.13**  |  `1.94.0`  |  `25.0.6 (Docker CE)`  |  Public  | 

Utilice el siguiente comando de la AWS CLI para recuperar la AMI de Windows Server 2025 Full optimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2025-English-Full-ECS_Optimized
```

------
#### [ Windows Server 2025 Core AMI versions ]

En la tabla siguiente, se enumeran las versiones anteriores y la actual de la AMI de Windows Server 2025 Core optimizada para Amazon ECS y sus respectivas versiones del agente de contenedor de Amazon ECS y Docker.


|  AMI de Windows Server 2025 Core optimizada para Amazon ECS  |  Versión del agente de contenedor de Amazon ECS  |  Versión de Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2025-English-Core-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2025-English-Core-ECS\$1Optimized-2025.08.24**  |  `1.98.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
| Windows\$1Server-2025-English-Core-ECS\$1Optimized-2025.08.16 | 1.97.1 | 25.0.6 (Docker CE) | Public | 
|  **Windows\$1Server-2025-English-Core-ECS\$1Optimized-2025.07.16**  |  `1.96.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2025-English-Core-ECS\$1Optimized-2025.06.13**  |  `1.94.0`  |  `25.0.6 (Docker CE)`  |  Public  | 

Utilice el siguiente comando de la AWS CLI para recuperar la AMI de Windows Server 2025 Core optimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2025-English-Core-ECS_Optimized
```

------
#### [ Windows Server 2022 Full AMI versions ]

En la tabla siguiente, se enumeran las versiones anteriores y la actual de la AMI de Windows Server 2022 Full optimizada para Amazon ECS y sus respectivas versiones del agente de contenedor de Amazon ECS y Docker.


|  AMI de Windows Server 2022 Full optimizada para Amazon ECS  |  Versión del agente de contenedor de Amazon ECS  |  Versión de Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2022-English-Full-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2022-English-Full-ECS\$1Optimized-2025.08.24**  |  `1.98.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
| Windows\$1Server-2022-English-Full-ECS\$1Optimized-2025.08.16 | 1.97.1 | 25.0.6 (Docker CE) | Public | 
|  **Windows\$1Server-2022-English-Full-ECS\$1Optimized-2025.07.16**  |  `1.95.0`  |  `25.0.6 (Docker CE)`  |  Public  | 

Utilice el siguiente comando de la AWS CLI para recuperar la AMI de Windows Server 2022 Full optimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2022-English-Full-ECS_Optimized
```

------
#### [ Windows Server 2022 Core AMI versions ]

En la tabla siguiente, se enumeran las versiones anteriores y la actual de la AMI de Windows Server 2022 Core optimizada para Amazon ECS y sus respectivas versiones del agente de contenedor de Amazon ECS y Docker.


|  AMI de Windows Server 2022 Core optimizada para Amazon ECS  |  Versión del agente de contenedor de Amazon ECS  |  Versión de Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2022-English-Core-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2022-English-Core-ECS\$1Optimized-2025.08.24**  |  `1.98.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
| Windows\$1Server-2022-English-Core-ECS\$1Optimized-2025.08.16 | 1.97.1 | 25.0.6 (Docker CE) | Public | 
|  **Windows\$1Server-2022-English-Core-ECS\$1Optimized-2025.07.16**  |  `1.95.0`  |  `25.0.6 (Docker CE)`  |  Public  | 

Utilice el siguiente comando de la AWS CLI para recuperar la AMI de Windows Server 2022 Full optimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2022-English-Core-ECS_Optimized
```

------
#### [ Windows Server 2019 Full AMI versions ]

En la tabla siguiente, se enumeran las versiones anteriores y la actual de la AMI de Windows Server 2019 Full optimizada para Amazon ECS y sus respectivas versiones del agente de contenedor de Amazon ECS y Docker.


|  AMI de Windows Server 2019 Full optimizada para Amazon ECS  |  Versión del agente de contenedor de Amazon ECS  |  Versión de Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2019-English-Full-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2019-English-Full-ECS\$1Optimized-2025.08.24**  |  `1.98.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
| Windows\$1Server-2019-English-Full-ECS\$1Optimized-2025.08.16 | 1.97.1 | 25.0.6 (Docker CE) | Public | 
|  **Windows\$1Server-2019-English-Full-ECS\$1Optimized-2025.07.16**  |  `1.95.0`  |  `25.0.6 (Docker CE)`  |  Public  | 

Utilice el siguiente comando de la AWS CLI para recuperar la AMI de Windows Server 2019 Full optimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized
```

------
#### [ Windows Server 2019 Core AMI versions ]

En la tabla siguiente, se enumeran las versiones anteriores y la actual de la AMI de Windows Server 2019 Core optimizada para Amazon ECS y sus respectivas versiones del agente de contenedor de Amazon ECS y Docker.


|  AMI de Windows Server 2019 Core optimizada para Amazon ECS  |  Versión del agente de contenedor de Amazon ECS  |  Versión de Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2019-English-Core-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2019-English-Core-ECS\$1Optimized-2025.08.24**  |  `1.98.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
| Windows\$1Server-2019-English-Core-ECS\$1Optimized-2025.08.16 | 1.97.1 | 25.0.6 (Docker CE) | Public | 
|  **Windows\$1Server-2019-English-Core-ECS\$1Optimized-2025.07.16**  |  `1.95.0`  |  `25.0.6 (Docker CE)`  |  Public  | 

Utilice el siguiente comando de la AWS CLI para recuperar la AMI de Windows Server 2019 Full optimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2019-English-Core-ECS_Optimized
```

------
#### [ Windows Server 2016 Full AMI versions ]

**importante**  
Windows Server 2016 no es compatible con la última versión de Docker, por ejemplo, la 25.x.x. Por lo tanto, las AMI completas de Windows Server 2016 no recibirán parches de seguridad o de errores en el entorno en tiempo de ejecución de Docker. Le recomendamos que cambie a una de las siguientes plataformas de Windows:  
Windows Server 2022 Full
Windows Server 2022 Core
Windows Server 2019 Full
Windows Server 2019 Core

En la tabla siguiente, se enumeran las versiones anteriores y la actual de la AMI de Windows Server 2016 Full optimizada para Amazon ECS y sus respectivas versiones del agente de contenedor de Amazon ECS y Docker.


|  AMI de Windows Server 2016 Full optimizada para Amazon ECS  |  Versión del agente de contenedor de Amazon ECS  |  Versión de Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2016-English-Full-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `20.10.23 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2016-English-Full-ECS\$1Optimized-2025.08.16**  |  `1.97.1`  |  `20.10.23 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2016-English-Full-ECS\$1Optimized-2025.07.16**  |  `1.95.0`  |  `20.10.23 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2016-English-Full-ECS\$1Optimized-2025.06.13**  |  `1.94.0`  |  `20.10.23 (Docker CE)`  |  Public  | 

Utilice la siguiente AWS CLI para la AMI de Windows Server 2016 Full optimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2016-English-Full-ECS_Optimized
```

------

# Creación una AMI de Windows optimizada para Amazon ECS propia
<a name="windows-custom-ami"></a>

Utilice el Generador de imágenes de EC2 para crear su propia AMI de Windows optimizada para Amazon ECS personalizada. Así, se simplifica la utilización de una AMI de Windows con su propia licencia en Amazon ECS. Amazon ECS proporciona un componente administrado de Image Builder que proporciona la configuración del sistema necesaria para ejecutar las instancias de Windows en las que se van a alojar los contenedores. Cada componente administrado por Amazon ECS incluye un agente de contenedor y una versión de Docker específicos. Puede personalizar la imagen para que utilice el componente administrado por Amazon ECS más reciente o, si se necesita un agente de contenedor o una versión de Docker anterior, puede especificar un componente diferente.

Para obtener una explicación completa sobre el uso de EC2 Image Builder, consulte [Introducción a EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/set-up-ib-env.html#image-builder-accessing-prereq) en la *Guía del usuario de EC2 Image Builder*.

Al crear una AMI de Windows optimizada para Amazon ECS propia mediante EC2 Image Builder, se crea una receta de imagen. La receta de imagen debe cumplir los siguientes requisitos:
+ La **imagen de origen** debe basarse en Windows Server 2019 Core, Windows Server 2019 Full, Windows Server 2022 Core o Windows Server 2022 Full. No se admiten otros sistemas operativos de Windows y es posible que no sean compatibles con el componente.
+ Cuando se especifica la opción **Crear componente**, se requiere el componente `ecs-optimized-ami-windows`. Se recomienda el componente `update-windows`, lo que garantiza que la imagen contenga las actualizaciones de seguridad más recientes.

  Para especificar otra versión de componente diferente, expanda el menú **Opciones de control de versiones** y especifique la versión de componente que desea utilizar. Para obtener más información, consulte [Enumeración de versiones del componente `ecs-optimized-ami-windows`](#windows-component-list).

## Enumeración de versiones del componente `ecs-optimized-ami-windows`
<a name="windows-component-list"></a>

Al crear una receta de EC2 Image Builder y especificar el componente `ecs-optimized-ami-windows`, puede utilizar la opción predeterminada o especificar una versión específica del componente. Para determinar qué versiones del componente están disponibles, junto con las versiones del agente de contenedor de Amazon ECS y de Docker contenidas en el componente, puede utilizar la Consola de administración de AWS.

**Para enumerar las versiones disponibles del componente `ecs-optimized-ami-windows`**

1. Abra la consola de EC2 Image Builder en[https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/).

1. En la barra de navegación, seleccione la región en la que está creando la imagen.

1. En el panel de navegación, elija **Components** (Componentes) en el menú **Saved configurations** (Configuraciones guardadas).

1. En la página **Components** (Componentes), escriba `ecs-optimized-ami-windows` en la barra de búsqueda, despliegue el menú de calificación y seleccione **Quick start (Amazon-managed)** (Inicio rápido [administrado por Amazon]).

1. Utilice la columna **Description** (Descripción) para determinar la versión del componente junto con la del agente contenedor de Amazon ECS y la de Docker que requiere su imagen.

# Administración de instancias de contenedor de Windows de Amazon ECS
<a name="manage-windows"></a>

Cuando utiliza instancias de EC2 para las cargas de trabajo de Amazon ECS, es responsable del mantenimiento de las instancias.

Las actualizaciones del agente no se aplican a instancias de contenedor de Windows. Le recomendamos que lance nuevas instancias de contenedor para actualizar la versión del agente en sus clústeres Windows.

**Topics**
+ [Lanzamiento de una instancia de contenedor](launch_window-container_instance.md)
+ [Arranque de instancias de contenedor](bootstrap_windows_container_instance.md)
+ [Uso de un proxy HTTP para instancias de contenedor de Windows](http_proxy_config-windows.md)
+ [Configuración de instancias de contenedor para recibir avisos de instancias de spot](windows-spot-instance-draining-container.md)

# Lanzamiento de una instancia de contenedor de Windows de Amazon ECS
<a name="launch_window-container_instance"></a>

Las instancias de contenedor de Amazon ECS se crean mediante la consola de Amazon EC2. Antes de comenzar, asegúrese de que ha realizado los pasos que se detallan en [Configuración para utilizar Amazon ECS](get-set-up-for-amazon-ecs.md).

Para obtener más información acerca del asistente de inicialización, consulte [Lance una instancia con el nuevo asistente de inicialización de instancias](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-launch-instance-wizard.html) en la *Guía del usuario de Amazon EC2*. 

Puede utilizar el nuevo asistente de Amazon EC2 para lanzar una instancia. Puede utilizar la siguiente lista para los parámetros y dejar los parámetros no listados como predeterminados. Las siguientes instrucciones lo guiarán a través de cada grupo de parámetros.

## Procedimiento
<a name="liw-initiate-instance-launch"></a>

Antes de comenzar, complete los pasos de [Configuración para utilizar Amazon ECS](get-set-up-for-amazon-ecs.md).

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En la barra de navegación de la parte superior de la pantalla, se muestra la región de AWS actual (por ejemplo, Este de EE. UU. [Ohio]). Seleccione una región en la que se va a iniciar la instancia. Esta elección es importante porque algunos recursos de Amazon EC2 pueden compartirse entre varias regiones, mientras que otros no. 

1. En el panel de la consola de Amazon EC2, elija **Iniciar instancia**.

## Nombre y etiquetas
<a name="liw-name-and-tags"></a>

El nombre de la instancia es una etiqueta, donde la clave es **Name** (Nombre) y el valor es el nombre que especifique. Puede etiquetar la instancia, los volúmenes y los gráficos elásticos. Para las instancias de spot, solo puede etiquetar la solicitud de instancia de spot. 

Especificar un nombre de instancia y etiquetas adicionales es opcional.
+ En **Name** (Nombre), ingrese un nombre descriptivo para la instancia. Si no especifica un nombre, la instancia se puede identificar mediante su ID, que se genera automáticamente al iniciar la instancia.
+ Para agregar otras etiquetas, elija **Add additional tag** (Agregar etiqueta adicional). Elija **Add tag** (Agregar etiqueta) y, a continuación, ingrese una clave y un valor, y seleccione el tipo de recurso que desea etiquetar. Elija **Add tag** (Agregar etiqueta) para cada etiqueta adicional.

## Imágenes de aplicaciones y sistema operativo (Imagen de máquina de Amazon)
<a name="liw-ami"></a>

Una Imagen de máquina de Amazon (AMI) proporciona la información necesaria para crear una instancia. Por ejemplo, una AMI puede contener el software necesario para funcionar como servidor web, como Apache, y su sitio web.

Para obtener las AMI optimizadas para Amazon ECS más recientes y sus valores, consulte [Versiones de AMI de Windows optimizadas para Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_windows_AMI.html).

Utilice la barra de **búsqueda** para buscar una AMI optimizada para Amazon ECS adecuada publicada por AWS.

1. En función de sus requisitos, ingrese una de las AMI siguientes en la barra de **búsqueda** y pulse **Enter** (Intro).
   + Windows\$1Server-2022-English-Full-ECS\$1Optimized
   + Windows\$1Server-2022-English-Core-ECS\$1Optimized
   + Windows\$1Server-2019-English-Full-ECS\$1Optimized
   + Windows\$1Server-2019-English-Core-ECS\$1Optimized
   + Windows\$1Server-2016-English-Full-ECS\$1Optimized

1. En la página **Choose an Amazon Machine Image (AMI)** (Elija una imagen de máquina de Amazon [AMI]), seleccione la categoría **Community AMIs** (AMI de la comunidad).

1. En la lista que aparece, seleccione una AMI verificada por Microsoft con la fecha de publicación más reciente y haga clic en **Select** (Seleccionar).

## Tipo de instancia
<a name="liw-instance-type"></a>

El tipo de instancia define la configuración de hardware y el tamaño de la instancia. Los tipos de instancia más grandes tienen una CPU y memoria superiores. Para obtener más información, consulte [Tipos de instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
+ En **Instance Type** (Tipo de instancia), seleccione el tipo de instancia de la instancia. 

   El tipo de instancia que seleccione determina los recursos disponibles para poner en marcha sus tareas.

## Par de claves (inicio de sesión)
<a name="liw-key-pair"></a>

En **Key pair name** (Nombre de par de claves) seleccione un par de claves existente o seleccione **Create new key pair** (Crear nuevo par de claves) para crear uno nuevo. 

**importante**  
Si elige la opción **Proceed without key pair (Not recommended)** (Continuar sin un par de claves [No recomendado]), no podrá conectarse a la instancia a menos que elija una AMI que esté configurada para ofrecer a los usuarios otra forma de iniciar sesión.

## Configuración de red
<a name="liw-network-settings"></a>

Establezca la configuración de red, según sea necesario.
+ **Networking platform** (Plataforma de redes): elija **Virtual Private Cloud (VPC)** (Nube privada virtual [VPC]) y, a continuación, especifique la subred en la sección **Network interfaces** (Interfaces de red). 
+ **VPC**: seleccione una VPC existente en la que desea crear el grupo de seguridad.
+ **Subnet** (Subred): puede lanzar una instancia en una subred asociada con una zona de disponibilidad, zona local, zona Wavelength u Outpost.

  Para iniciar la instancia en una zona de disponibilidad, seleccione la subred en la que desea iniciar la instancia. Para crear una subred, elija **Crear nueva subred** para ir a la consola de Amazon VPC. Cuando haya terminado, vuelva al asistente de lanzamiento de instancias y elija el ícono Refresh (Actualizar) para cargar la subred en la lista.

  Para iniciar la instancia en una zona local, seleccione una subred que haya creado en la zona local. 

  Para iniciar una instancia en un Outpost, seleccione una subred en una VPC que haya asociado a un Outpost.
+ **Auto-assign Public IP** (Asignar automáticamente IP pública): si desea que se pueda acceder a la instancia desde Internet, compruebe que el campo **Auto-assign Public IP** (Asignar automáticamente IP pública) esté configurado como **Enable** (Habilitar). De lo contrario, configure este campo como **Disable** (Deshabilitar).
**nota**  
Las instancias de contenedor deben obtener acceso para comunicarse con el punto de conexión del servicio de Amazon ECS. Esto puede ser a través de un punto de conexión de VPC de la interfaz o a través de las instancias de contenedor con direcciones IP públicas.  
Para obtener más información acerca de los puntos de conexión de VPC, consulte [Puntos de enlace de la VPC de interfaz de Amazon ECS (AWS PrivateLink)](vpc-endpoints.md).  
Si no tiene configurado un punto de conexión de VPC de la interfaz y las instancias de contenedor no tienen direcciones IP públicas, deberán utilizar traducción de direcciones de red (NAT) para proporcionar este acceso. Para obtener más información, consulte [Puertas de enlace NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) en la *Guía del usuario de Amazon VPC* y [Uso de un proxy HTTP para instancias de contenedor de Linux de Amazon ECS](http_proxy_config.md) en esta guía.
+ **Firewall (security groups)** Firewall (grupos de seguridad): utilice un grupo de seguridad para definir reglas de firewall para la instancia de contenedor. Estas reglas especifican qué tráfico procedente de la red se entregará en la instancia de contenedor. El resto del tráfico se ignora. 
  + Para seleccionar un grupo de seguridad existente, elija **Select an existing security group** (Seleccionar un grupo de seguridad existente) y seleccione el grupo de seguridad que creó en [Configuración para utilizar Amazon ECS](get-set-up-for-amazon-ecs.md).

## Configurar almacenamiento
<a name="liw-storage"></a>

La AMI seleccionada incluye uno o más volúmenes de almacenamiento, incluido el volumen de dispositivo raíz. Se pueden especificar volúmenes adicionales para adjuntar a la instancia.

Se puede utilizar la vista **Simple** (Simple).
+ **Storage type** (Tipo de almacenamiento): configure el almacenamiento de la instancia de contenedor.

  Si utiliza la AMI de Amazon Linux optimizada para Amazon ECS, la instancia tiene configurados dos volúmenes. El volumen **raíz** lo utiliza el sistema operativo y el segundo volumen de Amazon EBS (asociado a `/dev/xvdcz`) lo utiliza Docker.

  Si lo desea, puede aumentar o reducir el tamaño de volumen para su instancia de acuerdo con las necesidades de su aplicación.

## Detalles avanzados
<a name="liw-advanced-details"></a>

En **Detalles avanzados**, expanda la sección para ver los campos y especifique cualquier parámetro adicional para la instancia.
+ **Purchasing option** (Opción de compra): elija **Request Spot instances** (Solicitar instancias de spot) para solicitar una instancia de spot. También debe establecer el resto de los campos relacionados con las instancias de Spot. Para obtener más información, consulte [Spot Instance Requests](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) (Solicitudes de instancias de Spot).
**nota**  
Si utiliza instancias de Spot y ve un mensaje que indica `Not available`, es posible que deba elegir un tipo de instancia diferente.

  .
+ En **IAM instance profile** (Perfil de instancia de IAM), seleccione el rol de IAM de la instancia de contenedor. Suele llamarse `ecsInstanceRole`.
**importante**  
Si no lanza la instancia de contenedor con los permisos de IAM correspondientes, el agente de Amazon ECS no puede conectarse al clúster. Para obtener más información, consulte [Rol de IAM de instancia de contenedor de Amazon ECS](instance_IAM_role.md).
+ (Opcional) **User data** (Datos de usuario): configure la instancia de contenedor de Amazon ECS con los datos de usuario, por ejemplo, las variables de entorno del agente de [Configuración del agente de contenedor de Amazon ECS](ecs-agent-config.md). Los scripts de datos de usuario de Amazon EC2 se ponen en marcha solo una vez, cuando la instancia se lanza por primera vez. A continuación, se muestran ejemplos comunes del uso de los datos del usuario:
  + De forma predeterminada, su instancia de contenedor se abre en su clúster predeterminado. Para abrirlo en un clúster no predeterminado, seleccione la lista **Advanced Details**. A continuación, pegue el siguiente script en el campo **User data**, reemplazando *your\$1cluster\$1name* con el nombre de su clúster.

    El rol `EnableTaskIAMRole` activa la característica de roles de IAM de tareas para las tareas.

    Además, las siguientes opciones están disponibles cuando se utiliza el modo de red `awsvpc`.
    + `EnableTaskENI`: este indicador activa las redes de tareas y se requiere cuando se utiliza el modo de red `awsvpc`.
    + `AwsvpcBlockIMDS`: este indicador opcional bloquea el acceso a IMDS para los contenedores de tareas que se ejecutan en el modo de red `awsvpc`.
    + `AwsvpcAdditionalLocalRoutes`: este indicador opcional le permite tener rutas adicionales en el espacio de nombres de la tarea.

      Sustituya `ip-address` por la dirección IP para las rutas adicionales, por ejemplo, 172.31.42.23/32.

    ```
    <powershell>
    Import-Module ECSTools
    Initialize-ECSAgent -Cluster your_cluster_name -EnableTaskIAMRole -EnableTaskENI -AwsvpcBlockIMDS -AwsvpcAdditionalLocalRoutes
    '["ip-address"]'
    </powershell>
    ```

# Arranque de instancias de contenedor de Windows de Amazon ECS para la transferencia de datos
<a name="bootstrap_windows_container_instance"></a>

Cuando se lanza una instancia de Amazon EC2, puede transferir los datos de usuario a la instancia de EC2. Los datos se pueden utilizar para llevar a cabo tareas de configuración automatizadas comunes e incluso poner en marcha scripts cuando la instancia arranca. En Amazon ECS, los casos de uso más comunes para los datos de usuario consisten en transferir la información de configuración al daemon de Docker y al agente de contenedor de Amazon ECS.

Puede transferir varios tipos de datos de usuario a Amazon EC2, incluidos cloud boothooks, scripts de shell y directivas `cloud-init`. Para obtener más información acerca de estos u otros tipos de formato, consulte la [documentación de Cloud-Init](https://cloudinit.readthedocs.io/en/latest/explanation/format.html). 

Puede transferir estos datos de usuario cuando utilice el asistente de lanzamiento de Amazon EC2. Para obtener más información, consulte [Lanzamiento de una instancia de contenedor de Linux de Amazon ECS](launch_container_instance.md).

## Datos de usuario de Windows predeterminados
<a name="windows-default-userdata"></a>

Este script de datos de usuario de ejemplo muestra los datos de usuario predeterminados que reciben las instancias de contenedor de Windows si se utiliza la consola. El script a continuación hace lo siguiente:
+ Establece el nombre del clúster con el nombre que ha ingresado.
+ Establece los roles de IAM para las tareas.
+ Establece `json-file` y `awslogs` como los controladores de registro disponibles.

Además, las siguientes opciones están disponibles cuando se utiliza el modo de red `awsvpc`.
+ `EnableTaskENI`: este indicador activa las redes de tareas y se requiere cuando se utiliza el modo de red `awsvpc`.
+ `AwsvpcBlockIMDS`: este indicador opcional bloquea el acceso a IMDS para los contenedores de tareas que se ejecutan en el modo de red `awsvpc`.
+ `AwsvpcAdditionalLocalRoutes`: este indicador opcional le permite disponer de rutas adicionales.

  Sustituya `ip-address` por la dirección IP para las rutas adicionales, por ejemplo, 172.31.42.23/32.

Puede utilizar este script para sus propias instancias de contenedor (siempre que se lancen desde la AMI de Windows Server optimizada para Amazon ECS). 

Sustituya la línea `-Cluster cluster-name` para especificar el nombre de su propio clúster.

```
<powershell>
Initialize-ECSAgent -Cluster cluster-name -EnableTaskIAMRole -LoggingDrivers '["json-file","awslogs"]' -EnableTaskENI -AwsvpcBlockIMDS -AwsvpcAdditionalLocalRoutes
'["ip-address"]'
</powershell>
```

 Para las tareas de Windows configuradas para utilizar el controlador de registros `awslogs`, debe también establecer la variable de entorno `ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE` en la instancia del contenedor. Utilice la siguiente sintaxis. 

Sustituya la línea `-Cluster cluster-name` para especificar el nombre de su propio clúster.

```
<powershell>
[Environment]::SetEnvironmentVariable("ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE", $TRUE, "Machine")
Initialize-ECSAgent -Cluster cluster-name -EnableTaskIAMRole -LoggingDrivers '["json-file","awslogs"]'
</powershell>
```

## Datos de usuario de la instalación del agente de Windows
<a name="agent-service-userdata"></a>

Este script de datos de usuario de ejemplo instala el agente de contenedor de Amazon ECS en una instancia lanzada mediante una AMI **Windows\$1Server-2016-English-Full-Containers**. Se ha adaptado a partir de las instrucciones de instalación del agente que figuran en la página README del [repositorio de GitHub del agente de contenedor de Amazon ECS](https://github.com/aws/amazon-ecs-agent).

**nota**  
Este script se comparte para fines ilustrativos. Resulta mucho más sencillo comenzar a utilizar los contenedores de Windows mediante la AMI de Windows Server optimizada para Amazon ECS. Para obtener más información, consulte [Creación de un clúster de Amazon ECS para cargas de trabajo de Fargate](create-cluster-console-v2.md).

Para obtener información sobre cómo instalar el agente de Amazon ECS en Windows Server 2022 Full, consulte [Issue 3753](https://github.com/aws/amazon-ecs-agent/issues/3753) en GitHub.

Puede utilizar este script para sus propias instancias de contenedor (siempre que se lancen con una versión de la AMI **Windows\$1Server-2016-English-Full-Containers**). Asegúrese de sustituir la línea `windows` para especificar su propio nombre de clúster (si no está utilizando un clúster denominado `windows`).

```
<powershell>
# Set up directories the agent uses
New-Item -Type directory -Path ${env:ProgramFiles}\Amazon\ECS -Force
New-Item -Type directory -Path ${env:ProgramData}\Amazon\ECS -Force
New-Item -Type directory -Path ${env:ProgramData}\Amazon\ECS\data -Force
# Set up configuration
$ecsExeDir = "${env:ProgramFiles}\Amazon\ECS"
[Environment]::SetEnvironmentVariable("ECS_CLUSTER", "windows", "Machine")
[Environment]::SetEnvironmentVariable("ECS_LOGFILE", "${env:ProgramData}\Amazon\ECS\log\ecs-agent.log", "Machine")
[Environment]::SetEnvironmentVariable("ECS_DATADIR", "${env:ProgramData}\Amazon\ECS\data", "Machine")
# Download the agent
$agentVersion = "latest"
$agentZipUri = "https://s3.amazonaws.com/amazon-ecs-agent/ecs-agent-windows-$agentVersion.zip"
$zipFile = "${env:TEMP}\ecs-agent.zip"
Invoke-RestMethod -OutFile $zipFile -Uri $agentZipUri
# Put the executables in the executable directory.
Expand-Archive -Path $zipFile -DestinationPath $ecsExeDir -Force
Set-Location ${ecsExeDir}
# Set $EnableTaskIAMRoles to $true to enable task IAM roles
# Note that enabling IAM roles will make port 80 unavailable for tasks.
[bool]$EnableTaskIAMRoles = $false
if (${EnableTaskIAMRoles}) {
  $HostSetupScript = Invoke-WebRequest https://raw.githubusercontent.com/aws/amazon-ecs-agent/master/misc/windows-deploy/hostsetup.ps1
  Invoke-Expression $($HostSetupScript.Content)
}
# Install the agent service
New-Service -Name "AmazonECS" `
        -BinaryPathName "$ecsExeDir\amazon-ecs-agent.exe -windows-service" `
        -DisplayName "Amazon ECS" `
        -Description "Amazon ECS service runs the Amazon ECS agent" `
        -DependsOn Docker `
        -StartupType Manual
sc.exe failure AmazonECS reset=300 actions=restart/5000/restart/30000/restart/60000
sc.exe failureflag AmazonECS 1
Start-Service AmazonECS
</powershell>
```

# Uso de un proxy HTTP para instancias de contenedor de Windows de Amazon ECS
<a name="http_proxy_config-windows"></a>

Puede configurar las instancias de contenedor de Amazon ECS para que utilicen un proxy HTTP tanto para el agente de contenedor de Amazon ECS como para el daemon de Docker. Esto resulta útil si las instancias de contenedor no tienen acceso de red externo a través de una gateway de Internet de Amazon VPC, una gateway NAT o una instancia.

Para configurar la instancia de contenedor de Windows de Amazon ECS de modo que utilice un proxy HTTP, establezca las siguientes variables en el momento del lanzamiento (con datos de usuario de Amazon EC2).

`[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://proxy.mydomain:port", "Machine")`  
Establezca `HTTP_PROXY` en el nombre de host (o la dirección IP) y en el número de puerto de un proxy HTTP que se utilizará para que el agente de Amazon ECS se conecte a Internet. Por ejemplo, las instancias de contenedor podrían no tener acceso de red externo a través de una gateway de Internet de Amazon VPC, una gateway NAT o una instancia.

`[Environment]::SetEnvironmentVariable("NO_PROXY", "169.254.169.254,169.254.170.2,\\.\pipe\docker_engine", "Machine")`  
Establezca `NO_PROXY` en `169.254.169.254,169.254.170.2,\\.\pipe\docker_engine` para filtrar los metadatos de la instancia EC2, los roles de IAM para tareas y el tráfico del daemon de Docker procedente del proxy. 

**Example Script de datos de usuario de proxy HTTP de Windows**  
El siguiente ejemplo de script de PowerShell de datos de usuario configura al agente de contenedor de Amazon ECS y al daemon de Docker para que utilicen el proxy HTTP que se usted especifique. También puede especificar un clúster en el que se registre la propia instancia de contenedor.  
Para utilizar este script al lanzar una instancia de contenedor, siga los pasos especificados en [Lanzamiento de una instancia de contenedor de Windows de Amazon ECS](launch_window-container_instance.md). Simplemente copie y pegue el script de PowerShell mostrado a continuación en el campo **User data (Datos de usuario)** (asegúrese de sustituir los valores de ejemplo en color rojo por su propia información de proxy y de clúster).  
Se requiere la opción `-EnableTaskIAMRole` para habilitar los roles de IAM para tareas. Para obtener más información, consulte [Configuración adicional de las instancias de Amazon EC2 de Windows](task-iam-roles.md#windows_task_IAM_roles).

```
<powershell>
Import-Module ECSTools

$proxy = "http://proxy.mydomain:port"
[Environment]::SetEnvironmentVariable("HTTP_PROXY", $proxy, "Machine")
[Environment]::SetEnvironmentVariable("NO_PROXY", "169.254.169.254,169.254.170.2,\\.\pipe\docker_engine", "Machine")

Restart-Service Docker
Initialize-ECSAgent -Cluster MyCluster -EnableTaskIAMRole
</powershell>
```

# Configuración de instancias de contenedor de Windows de Amazon ECS para recibir avisos de instancias de spot
<a name="windows-spot-instance-draining-container"></a>

Amazon EC2 termina, detiene o hiberna la instancia de spot cuando el precio de spot supera el precio máximo de su solicitud o cuando ya no hay más capacidad. Amazon EC2 envía un aviso de interrupción de la instancia de spot, que otorga a la instancia una advertencia dos minutos antes de que se interrumpa. Si el vaciado de instancias de spot de Amazon ECS está habilitado en la instancia, ECS recibe el aviso de interrupción de la instancia de spot y coloca la instancia en el estado `DRAINING`.

**importante**  
Amazon ECS monitorea los avisos de interrupción de instancias de spot que tienen las acciones de instancia `terminate` y `stop`. Si especificó el comportamiento de interrupción de la instancia `hibernate` al solicitar las instancias o la flota de spot, el vaciado de instancias de spot de Amazon ECS no es compatible con esas instancias.

Cuando se establece una instancia de contenedor en `DRAINING`, Amazon ECS evita que se programen nuevas tareas para su ubicación en la instancia de contenedor. Las tareas de servicio en la instancia de contenedor que se está vaciando que están en el estado `PENDING` se paran de inmediato. Si hay instancias de contenedor en el clúster que están disponibles, las tareas de servicio de sustitución se inician en ellas.

Puede activar el drenaje de instancias de spot al lanzar una instancia. Debe configurar el parámetro `ECS_ENABLE_SPOT_INSTANCE_DRAINING` antes de iniciar el agente de contenedor. Reemplace *my-cluster* por el nombre de su clúster.

```
[Environment]::SetEnvironmentVariable("ECS_ENABLE_SPOT_INSTANCE_DRAINING", "true", "Machine")

# Initialize the agent
Initialize-ECSAgent -Cluster my-cluster
```

Para obtener más información, consulte [Lanzamiento de una instancia de contenedor de Windows de Amazon ECS](launch_window-container_instance.md).