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 ofrece dos métodos para lanzar instancias en su grupo de Auto Scaling: el comportamiento de escalado asincrónico y el aprovisionamiento sincrónico mediante LaunchInstances API.

Con el aprovisionamiento sincrónico, se 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
  • El LaunchInstances La 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.

  • El LaunchInstances La API admite políticas de instancias mixtas de manera completa On-Demand o solo opciones de compra al contado. Pólizas mixtas que combinan ambas On-Demand y las instancias puntuales no son compatibles.

  • En el caso de los grupos de escalado automático que cubran 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 asincrónico

Aprovisionamiento sincrónico

Cuando usas el LaunchInstances API, Amazon EC2 Auto Scaling:

  • Intenta lanzar inmediatamente las instancias solicitadas mediante CreateFleet

  • Espera a CreateFleet para devolver 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 piscina caliente — Actualmente, no se admiten los grupos de escalado automático con grupos inactivos. Si intenta llamar al LaunchInstances La API de un grupo de Auto Scaling que tiene un grupo activo configurado, la API se inicia en frío en lugar de utilizar instancias de grupos activos 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 y reintentos de la API — Si el subyacente CreateFleet la operación 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 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.

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

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

    • Conflictos de reequilibrio de 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 — El LaunchInstances La API puede arrojar resultados satisfactorios parciales si solo está disponible una 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 a la hora de diseñar la lógica de reintentos para cargas de trabajo sensibles a la capacidad.

  • Ponderaciones de instancia — Si su grupo de Auto Scaling usa pesos de instancia, RequestedCapacity El 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 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 mixtos — El LaunchInstances La API usa la política de instancias mixtas existente de tu 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.