Instancias de contenedor de Amazon EC2 para Amazon ECS
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 ejecutan tareas con Amazon ECS mediante el tipo de lanzamiento de EC2, el tipo de lanzamiento 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 AWS 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 en la Guía del usuario AWS CloudFormation.
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
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
.
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 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: