Lanza instancias de forma sincrónica - Amazon EC2 Auto Scaling

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Lanza instancias de forma sincrónica

Amazon EC2 Auto Scaling proporciona dos métodos para lanzar instancias en su grupo de Auto Scaling: comportamiento de escalado asíncrono y aprovisionamiento sincrónico mediante la API. LaunchInstances

Con el aprovisionamiento sincrónico, utiliza la LaunchInstances API para solicitar un número específico de instancias en una zona de disponibilidad concreta. El aprovisionamiento sincrónico ofrece las siguientes ventajas:

  • Información inmediata sobre la disponibilidad de la capacidad en zonas de disponibilidad específicas

  • Control preciso sobre las instancias de la zona de disponibilidad que se inician

  • Instancia determinista IDs para su uso inmediato en sistemas de orquestación

  • Decisiones de escalado en tiempo real basadas en las limitaciones de capacidad reales

  • Escalado más rápido al eliminar los tiempos de espera para los lanzamientos asíncronos de Auto Scaling

Con Auto Scaling asíncrono, cuando se cambia la capacidad deseada o cuando se activa una política de escalado, Amazon EC2 Auto Scaling procesa la solicitud de escalado y lanza las instancias en segundo plano. Debe supervisar las actividades de escalado o describir su grupo de Auto Scaling para determinar cuándo las instancias se han lanzado correctamente.

nota
  • La LaunchInstances API solo funciona con grupos de Auto Scaling que utilizan plantillas de lanzamiento. No se admiten los grupos de Auto Scaling que utilizan configuraciones de lanzamiento. Si su grupo de Auto Scaling usa una configuración de lanzamiento, debe migrar a una plantilla de lanzamiento antes de usar el aprovisionamiento sincrónico.

  • La LaunchInstances API admite políticas de instancias mixtas con opciones de compra totalmente bajo demanda o totalmente puntual. No se admiten políticas mixtas que combinen instancias puntuales y bajo demanda.

  • Para los grupos de Auto Scaling que cubren varias zonas de disponibilidad, debe especificar la zona de disponibilidad o subred de destino. Para los grupos Single-AZ, este parámetro es opcional.

Aprovisionamiento sincrónico y escalado asíncrono

Aprovisionamiento sincrónico

Cuando utiliza la LaunchInstances API, Amazon EC2 Auto Scaling:

  • Intenta lanzar inmediatamente las instancias solicitadas mediante CreateFleet

  • Espera a que se devuelva CreateFleet la instancia IDs antes de responder

  • Devuelve información sobre la instancia IDs, los tipos de instancia y la zona de disponibilidad en caso de éxito

  • Devuelve códigos de error específicos y detalles sobre el error

  • Proporciona información inmediata, lo que permite tomar decisiones de escalado en tiempo real

Escalado asíncrono

Cuando utiliza métodos de Auto Scaling asíncronos, como cambiar la capacidad deseada o utilizar políticas de escalado, Amazon Auto EC2 Scaling:

  • Actualiza la capacidad deseada en la API, pero no devuelve las instancias inmediatamente

  • Planifica automáticamente el lanzamiento de las instancias en todas las zonas de disponibilidad

  • Lanza instancias mediante flujos de trabajo en segundo plano

  • Distribuye automáticamente la capacidad entre varias zonas de disponibilidad para lograr un equilibrio

  • Gestiona los errores de lanzamiento con una lógica de reintento integrada

Debe sondear las actividades de escalado o describir su grupo de Auto Scaling para comprobar el estado de las operaciones de lanzamiento.

Limitaciones y consideraciones

Cuando trabaje con el aprovisionamiento sincrónico, tenga en cuenta las siguientes notas y limitaciones:

  • Estado de la instancia tras el lanzamiento: las instancias devueltas por la API están en estado pendiente. Es posible que sigan fallando durante los procesos de flujo de trabajo o los enlaces del ciclo de vida posteriores. Una respuesta correcta de la API significa que EC2 ha aceptado la solicitud de lanzamiento y ha devuelto la instancia IDs. Las instancias no se consideran automáticamente completamente listas para las cargas de trabajo y deben completar los procesos del ciclo de vida estándar EC2 y de Auto Scaling.

  • Limitación de piscinas calientes: actualmente no se admiten grupos de Auto Scaling con piscinas calientes. Si intenta llamar a la LaunchInstances API en un grupo de Auto Scaling que tiene una piscina caliente configurada, la API realiza un arranque en frío en lugar de utilizar instancias de piscina caliente y devuelve un UnsupportedOperation error. Para obtener más información sobre los arranques en frío, consulte Limitaciones de las piscinas calientes.

  • Tiempo de espera de la API y reintentos: si la CreateFleet operación subyacente tarda más de lo esperado, es posible que la API agote el tiempo de espera y devuelva un token de idempotencia. Puedes volver ClientToken a intentarlo para hacer un seguimiento de la operación de lanzamiento original o usar describe-instances con el token del cliente para comprobar las instancias lanzadas.

  • Restricciones de la zona de disponibilidad: si su grupo de Auto Scaling abarca varias zonas de disponibilidad y tiene habilitado el reequilibrio de zonas de disponibilidad, lanzar instancias de forma sincrónica puede provocar conflictos operativos:

    • Limitación de zona de disponibilidad única por llamada: cada llamada a la LaunchInstances API solo puede dirigirse a una zona de disponibilidad, incluso si su grupo de Auto Scaling abarca varias zonas.

    • Conflictos de reequilibrio de AZ: si su grupo de Auto Scaling tiene activado el reequilibrio de AZ, las llamadas secuenciales entre diferentes grupos AZs pueden activar más lanzamientos asíncronos, lo que resulta en más instancias de las previstas. Considere la posibilidad de suspender el reequilibrio de AZ para controlar la capacidad con precisión. Para obtener más información, consulte Suspender y reanudar los procesos de Amazon EC2 Auto Scaling.

  • Escenarios de éxito parcial: es posible que la LaunchInstances API devuelva un éxito parcial si solo está disponible parte de la capacidad solicitada, lo cual es un comportamiento normal EC2 . La API devuelve las instancias lanzadas correctamente junto con los detalles de los errores de los lanzamientos fallidos. En los casos de uso que requieren que todas las instancias se lancen juntas (por ejemplo, las aplicaciones que necesitan que todas las instancias estén en la misma zona de disponibilidad para obtener una latencia baja), tendrás que cerrar las instancias lanzadas parcialmente y volver a intentarlo en una zona de disponibilidad diferente. Tenga en cuenta este comportamiento al diseñar la lógica de reintentos para cargas de trabajo sensibles a la capacidad.

  • Ponderaciones de instancias: si su grupo de Auto Scaling usa ponderaciones de instancias, el RequestedCapacity parámetro representa las unidades de capacidad ponderadas, no el número de instancias. La cantidad real de instancias lanzadas depende de los tipos de instancias seleccionados y de sus pesos configurados. EC2 Auto Scaling limita los lanzamientos a 100 instancias por llamada a la API, independientemente de la capacidad ponderada solicitada.

  • Tipos de instancias mixtas: la LaunchInstances API usa la política de instancias mixtas existente de su grupo de Auto Scaling para determinar qué tipos de instancias lanzar. La API lanza las instancias de acuerdo con la estrategia de asignación y las prioridades de los tipos de instancias del grupo.