View a markdown version of this page

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: el comportamiento de escalado asincrónico y el 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:

  • Comentarios inmediatos sobre la disponibilidad de capacidad en zonas de disponibilidad específicas

  • Control preciso sobre en qué instancias de zonas de disponibilidad se lanzan

  • ID de instancia deterministas para su uso inmediato en sistemas de orquestación

  • Real-time decisiones de escalado en función de las restricciones de capacidad reales

  • Escalamiento más rápido al eliminar los tiempos de espera para los lanzamientos asincrónicos de Auto Scaling

Con el Auto Scaling asincrónico, cuando 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 si las instancias se lanzan correctamente.

nota
  • La LaunchInstances API solo funciona con grupos de Auto Scaling que usan 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 total On-Demand o total al contado únicamente. No se admiten políticas mixtas que combinen ambas On-Demand instancias puntuales.

  • En el caso de los grupos de escalado automático que cubran varias zonas de disponibilidad, debe especificar la subred o zona de disponibilidad de destino. Para los grupos Single-AZ, este parámetro es opcional.

Aprovisionamiento sincrónico y escalado asincrónico

Aprovisionamiento sincrónico

Cuando utiliza la LaunchInstances API, Amazon EC2 Auto Scaling:

  • Intenta lanzar inmediatamente las instancias solicitadas mediante CreateFleet

  • Espera a que se devuelvan CreateFleet los ID de instancia antes de responder

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

  • Devuelve códigos de error específicos y detalles en caso de error

  • Proporciona comentarios inmediatos, lo que permite tomar decisiones de escalado en tiempo real

Escalado asincrónico

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

  • Actualiza la capacidad deseada en la API, pero no devuelve instancias de forma inmediata

  • La instancia de Planea se lanza automáticamente 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 mantener el equilibrio

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

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

Limitaciones y consideraciones

Cuando trabajes con el aprovisionamiento sincrónico, ten 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 ciclos de vida posteriores. Una respuesta de la API satisfactoria significa que EC2 ha aceptado la solicitud de lanzamiento y ha devuelto los ID de instancia. Las instancias no se consideran automáticamente listas para las cargas de trabajo y deben completar los procesos de ciclo de vida estándar de EC2 y Auto Scaling.

  • Limitación de grupos activos: actualmente, no se admiten los grupos de Auto Scaling con grupos activos. Si intentas llamar a la LaunchInstances API en un grupo de Auto Scaling que tiene un grupo activo configurado, la API se inicia en frío en lugar de usar instancias de grupos inactivos y muestra un UnsupportedOperation error. Para obtener más información sobre los arranques en frío, consulta las limitaciones de las piscinas calientes.

  • Tiempo de espera y reintentos de la API: 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 a intentarlo con el mismo método ClientToken para realizar 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 tu grupo de Auto Scaling abarca varias zonas de disponibilidad y tiene habilitado el reequilibrio de las zonas de disponibilidad, el lanzamiento sincrónico de las instancias puede provocar conflictos operativos:

    • Limitación de una sola zona de disponibilidad 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 en zonas de disponibilidad: si su grupo de Auto Scaling tiene activado el reequilibrio de zonas de disponibilidad, las llamadas secuenciales entre diferentes zonas de disponibilidad pueden provocar lanzamientos asincrónicos adicionales, lo que generaría más instancias de las previstas. Considera la posibilidad de suspender el reequilibrio de la zona de disponibilidad para tener un control preciso de la capacidad. Para obtener más información, consulte Suspensión y reanudación de procesos de Amazon EC2 Auto Scaling.

  • Escenarios de éxito parcial: la LaunchInstances API puede devolver un resultado de éxito parcial si solo está disponible parte de la capacidad solicitada, lo cual es el comportamiento normal de 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 reducir la latencia), tendrás que terminar las instancias lanzadas parcialmente y volver a intentarlo en una zona de disponibilidad diferente. Ten en cuenta este comportamiento al diseñar la lógica de reintentos para cargas de trabajo que requieren 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. El número real de instancias lanzadas depende de los tipos de instancia seleccionados y de los 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 utiliza la política de instancias mixtas existente de su grupo de Auto Scaling para determinar qué tipos de instancias lanzar. La API lanza instancias de acuerdo con la estrategia de asignación y las prioridades de tipo de instancia de su grupo.