Escalado automático y ubicación de tareas de instancias administradas de Amazon ECS - Amazon Elastic Container Service

Escalado automático y ubicación de tareas de instancias administradas de Amazon ECS

Instancias administradas de Amazon ECS utiliza algoritmos inteligentes para escalar automáticamente la capacidad del clúster y colocar las tareas de manera eficiente en toda la infraestructura. Entender cómo funcionan estos algoritmos lo ayuda a optimizar las configuraciones de los servicios y a solucionar problemas de comportamiento de ubicación.

Algoritmo de ubicación de tareas

Instancias administradas de Amazon ECS utiliza un algoritmo de ubicación sofisticado que equilibra la disponibilidad, la utilización de los recursos y los requisitos de la red al programar tareas.

Distribución por zonas de disponibilidad

De forma predeterminada, instancias administradas de Amazon ECS prioriza la disponibilidad al distribuir las tareas entre varias zonas de disponibilidad:

  • En el caso de los servicios con varias tareas, instancias administradas de Amazon ECS garantiza la distribución en al menos tres instancias en diferentes zonas de disponibilidad siempre que sea posible

  • Este comportamiento proporciona tolerancia a errores, pero puede provocar una menor utilización de los recursos por instancia

  • La distribución por zonas de disponibilidad tiene prioridad sobre la optimización del empaquetado de contenedores

Comportamiento del empaquetado de contenedores

Si bien instancias administradas de Amazon ECS puede empaquetar en contenedores para maximizar el uso de los recursos, este comportamiento depende de la configuración de la red:

  • Para realizar el empaquetado de contenedores, configure el servicio para que utilice una única subred

  • Las configuraciones de varias subredes priorizan la distribución de las zonas de disponibilidad por encima de la densidad de los recursos

  • Es más probable que se empaqueten contenedores durante la inicialización inicial del servicio que durante los eventos de escalado

Consideraciones sobre la densidad de ENI

En el caso de los servicios que utilizan el modo de red awsvpc, instancias administradas de Amazon ECS tiene en cuenta la densidad de la interfaz de red elástica (ENI) al tomar decisiones sobre la ubicación:

  • Cada tarea del modo awsvpc requiere una ENI específica

  • Los tipos de instancias tienen diferentes límites de ENI que afectan a la densidad de tareas

  • Instancias administradas de Amazon ECS tiene en cuenta la disponibilidad de ENI al seleccionar las instancias de destino

nota

Continuamente se realizan mejoras en los cálculos de densidad de ENI para optimizar las decisiones de ubicación.

Lógica de decisiones del proveedor de capacidad

Los proveedores de capacidad de instancias administradas de Amazon ECS toman decisiones sobre el escalado y la ubicación en función de varios factores:

Requisitos de recursos

Requisitos de CPU, memoria y red de las tareas pendientes

Disponibilidad de instancias

Capacidad y utilización actuales en las instancias existentes

Restricciones de red

Configuración de subred y disponibilidad de ENI

Distribución de zonas de disponibilidad

Mantenimiento de la tolerancia a errores en varias zonas de disponibilidad

Opciones de configuración

Estrategia de selección de subredes

La configuración de subred afecta significativamente al comportamiento de ubicación de tareas:

Varias subredes (predeterminado)

Prioriza la distribución por zonas de disponibilidad para lograr una alta disponibilidad

Puede resultar en una menor utilización de los recursos por instancia

Se recomienda para las cargas de trabajo de producción que necesitan tolerancia a errores

Subred única

Permite el empaquetado de contenedores para una mayor utilización de los recursos

Reduce la tolerancia a errores al concentrar las tareas en una zona de disponibilidad

Adecuado para las cargas de trabajo de desarrollo o con optimización de costos

Consideraciones sobre el modo de red

El modo de red que elija afecta a las decisiones de ubicación:

  • Modo awsvpc: cada tarea requiere una ENI específica, lo que limita la densidad de tareas por instancia

  • Modo host: las tareas utilizan la red del host directamente, y su ubicación depende principalmente de la disponibilidad de los recursos

Consideraciones sobre la arquitectura de CPU

El valor de cpuArchitecture que especifique en la definición de la tarea se utiliza para colocar las tareas en una arquitectura específica. Si no especifica un valor para cpuArchitecture, Amazon ECS intentará colocar las tareas en cualquier arquitectura de CPU disponible en función de la configuración del proveedor de capacidad. Puede especificar X86_64 o ARM64.

Resolución de problemas relacionados con la ubicación de tareas

Patrones de ubicación comunes

Comprender los patrones de ubicación esperados ayuda a distinguir el comportamiento normal de los posibles problemas:

Distribución repartida

Tareas distribuidas en varias instancias con un uso parcial

Comportamiento normal cuando se utilizan varias subredes

Indica que se prioriza la disponibilidad por encima de la eficiencia de los recursos

Ubicación concentrada

Varias tareas asignadas a un menor número de instancias con una mayor utilización

Se espera cuando se utiliza una configuración de subred única

Puede producirse durante el lanzamiento inicial del servicio

Distribución desigual

Algunas instancias se utilizan mucho, mientras que otras permanecen infrautilizadas

Puede indicar límites de ENI o restricciones de recursos

Considere la posibilidad de revisar los tipos de instancias y la configuración de la red

Optimización del comportamiento de ubicación

Para optimizar la ubicación de las tareas en función de los requisitos específicos:

  1. Evalúe los requisitos de disponibilidad según las necesidades de optimización de costos

  2. Elija la configuración de subred adecuada según sus prioridades

  3. Seleccione los tipos de instancias con la capacidad de ENI adecuada para su modo de red

  4. Supervise los patrones de ubicación y ajuste la configuración según sea necesario

Prácticas recomendadas

  • Para las cargas de trabajo de producción: utilice varias subredes en diferentes zonas de disponibilidad para garantizar una alta disponibilidad y acepte la compensación en la utilización de los recursos

  • Para el desarrollo o las pruebas: considere la posibilidad de configurar una sola subred para maximizar la utilización de los recursos y reducir los costos

  • Para el modo awsvpc: elija tipos de instancias que tengan suficiente capacidad de ENI para evitar restricciones de ubicación

  • Para la optimización de costos: supervise los patrones de utilización y ajuste la configuración del servicio para equilibrar la disponibilidad y la eficiencia

  • Para la solución de problemas: revise la configuración de la subred y el modo de red cuando investigue patrones de ubicación inesperados