Descripción general de la configuración - 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.

Descripción general de la configuración

En este tema se proporciona información general y prácticas recomendadas para crear un grupo de instancias mixtas.

Información general

Para crear un grupo de instancias mixtas, tiene dos opciones:

Manual selection

En los siguientes pasos, se describe cómo crear un grupo de instancias mixtas mediante la elección manual de tipos de instancias:

  1. Elija una plantilla de lanzamiento que tenga los parámetros para lanzar una instancia de EC2. Los parámetros en las plantillas de lanzamiento son opcionales, pero Amazon EC2 Auto Scaling no puede lanzar una instancia si falta el ID de Imagen de máquina de Amazon (AMI) en la plantilla de lanzamiento.

  2. Elija la opción para anular la plantilla de lanzamiento.

  3. Elija manualmente los tipos de instancias que se adapten a su carga de trabajo.

  4. Especificar los porcentajes de las instancias bajo demanda y las instancias de spot que se van a lanzar.

  5. Seleccione las estrategias de asignación que determinan cómo Amazon EC2 Auto Scaling satisface las capacidades a pedido y de spot de los posibles tipos de instancias.

  6. Elija las zonas de disponibilidad y las subredes de la VPC en las que lanzar las instancias.

  7. Especifique el tamaño inicial del grupo (la capacidad deseada) y el tamaño mínimo y máximo del grupo.

Las anulaciones son necesarias para anular el tipo de instancia declarado en la plantilla de lanzamiento y utilizar varios tipos de instancias que estén integrados en la propia definición de recursos del grupo de escalado automático. Para obtener más información sobre los tipos de instancias disponibles, consulte Tipos de instancias en la Guía del usuario de Amazon EC2.

También puede configurar los siguientes parámetros opcionales para cada tipo de instancia:

  • LaunchTemplateSpecification— Puede asignar una plantilla de lanzamiento diferente a un tipo de instancia según sea necesario. Esta opción no está disponible desde la consola en este momento. Para obtener más información, consulte Utilización de una plantilla de lanzamiento diferente para un tipo de instancia.

  • WeightedCapacity— Tú decides cuánto cuenta la instancia para la capacidad deseada en relación con el resto de las instancias de tu grupo. Si especifica un valor de WeightedCapacity para un tipo de instancias, debe especificar un valor de WeightedCapacity para todos ellos. De forma predeterminada, cada instancia cuenta como una instancia para la capacidad deseada. Para obtener más información, consulte Configurar un grupo de Auto Scaling para usar pesos de instancia.

Attribute-based selection

Para permitir que Amazon EC2 Auto Scaling elija los tipos de instancia automáticamente en función de sus atributos de instancia específicos, utilice los siguientes pasos para crear un grupo de instancias mixtas especificando sus requisitos de procesamiento:

  1. Elija una plantilla de lanzamiento que tenga los parámetros para lanzar una instancia de EC2. Los parámetros en las plantillas de lanzamiento son opcionales, pero Amazon EC2 Auto Scaling no puede lanzar una instancia si falta el ID de Imagen de máquina de Amazon (AMI) en la plantilla de lanzamiento.

  2. Elija la opción para anular la plantilla de lanzamiento.

  3. Especifique los atributos de instancia que coinciden con sus requisitos de computación, como vCPU y requisitos de memoria.

  4. Especificar los porcentajes de las instancias bajo demanda y las instancias de spot que se van a lanzar.

  5. Seleccione las estrategias de asignación que determinan cómo Amazon EC2 Auto Scaling satisface las capacidades a pedido y de spot de los posibles tipos de instancias.

  6. Elija las zonas de disponibilidad y las subredes de la VPC en las que lanzar las instancias.

  7. Especifique el tamaño inicial del grupo (la capacidad deseada) y el tamaño mínimo y máximo del grupo.

Las anulaciones son necesarias para anular el tipo de instancia declarado en la plantilla de lanzamiento y utilizar un conjunto de atributos de instancia que describan sus requisitos de procesamiento. Para conocer los atributos compatibles, consulte InstanceRequirementsla referencia de la API Auto Scaling de Amazon EC2. También puede utilizar una plantilla de lanzamiento que ya tenga la definición de atributos de instancia.

También puedes configurar el parámetro LaunchTemplateSpecification dentro de la estructura de anulaciones para asignar una plantilla de lanzamiento diferente a un conjunto de requisitos de instancia, según sea necesario. Esta opción no está disponible desde la consola en este momento. Para obtener más información, consulte LaunchTemplateAnulaciones en la referencia de la API Auto Scaling de Amazon EC2.

De forma predeterminada, establece la cantidad de instancias como la capacidad deseada de su grupo de escalado automático.

Alternativamente, puede establecer el valor de la capacidad deseada en la cantidad de vCPU o de memoria. Para ello, utilice la propiedad DesiredCapacityType de la operación de la API CreateAutoScalingGroup o el campo desplegable del Tipo de capacidad deseado en la AWS Management Console. Esta es una alternativa útil a las ponderaciones de las instancias.

Flexibilidad del tipo de instancias

Para mejorar la disponibilidad, implemente la aplicación en varios tipos de instancias. Se recomienda utilizar varios tipos de instancias para satisfacer los requisitos de capacidad. De esta forma, Amazon EC2 Auto Scaling puede lanzar otro tipo de instancia si no hay suficiente capacidad en las zonas de disponibilidad elegidas.

Si no hay suficiente capacidad de instancia con las instancias de spot, Amazon EC2 Auto Scaling sigue intentando lanzarlas desde otros grupos de instancias spot. (Los grupos que usa están determinados por la elección de los tipos de instancias y la estrategia de asignación). Amazon EC2 Auto Scaling le permite aprovechar el ahorro de costos de las instancias de spot lanzándolas en lugar de las instancias bajo demanda.

Recomendamos ser flexible con al menos 10 tipos de instancias para cada carga de trabajo. Al elegir los tipos de instancias, no se limite a los nuevos tipos de instancias más populares. Elegir tipos de instancias de generación anterior tiende a provocar menos interrupciones de spot porque tienen menos demanda de los clientes bajo demanda.

Flexibilidad de zona de disponibilidad

Recomendamos ampliamente que extienda el grupo de escalado automático en varias zonas de disponibilidad. Con varias zonas de disponibilidad, puede diseñar aplicaciones que realizan una conmutación por error automática entre zonas para aumentar la resiliencia.

Como beneficio adicional, puede acceder a un grupo de capacidad de Amazon EC2 más amplio en comparación con los grupos de una sola zona de disponibilidad. Dado que la capacidad fluctúa de manera independiente para cada tipo de instancias en una zona de disponibilidad, a menudo puede obtener más capacidad informática con flexibilidad en el tipo de instancias y la zona de disponibilidad.

Para obtener más información acerca del uso de varias zonas de disponibilidad, consulte Ejemplo: distribuir instancias entre zonas de disponibilidad.

precio máximo de spot

Al crear el grupo de Auto Scaling con el AWS CLI o un SDK, puede especificar el SpotMaxPrice parámetro. El parámetro SpotMaxPrice determina el precio máximo que está dispuesto a pagar por una hora de instancia de spot.

Al especificar el parámetro WeightedCapacity en las anulaciones (o "DesiredCapacityType": "vcpu" o "DesiredCapacityType": "memory-mib" a nivel de grupo), el precio máximo representa el precio unitario máximo, no el precio máximo de una instancia completa.

Le recomendamos enfáticamente que no especifique un precio máximo. Su aplicación podría no ejecutarse si no recibe sus instancias de spot, como cuando el precio máximo es demasiado bajo. Si no especifica un precio máximo, el predeterminado es el precio bajo demanda. Solo pagará el precio de spot de las instancias de spot que lance. Seguirá recibiendo grandes descuentos por parte de las instancias de spot. Estos descuentos son posibles debido a los precios de spot estables disponibles mediante el modelo de precios de las instancias de spot. Para obtener más información, consulte Precios y descuentos en la Guía del usuario de Amazon EC2.

Reequilibrio de la capacidad proactivo

Si su caso de uso lo permite, le recomendamos el reequilibrio de la capacidad. El reequilibrio de capacidad lo ayuda a mantener la disponibilidad de la carga de trabajo mediante el aumento proactivo de su flota con una nueva instancia de spot antes de que una instancia de spot en ejecución reciba el aviso de interrupción de la instancia de spot de dos minutos.

Cuando se habilita el reequilibrio de la capacidad, Amazon EC2 Auto Scaling intenta reemplazar de forma proactiva las instancias de spot que se han recibido una recomendación de reequilibrio. Esto da la oportunidad de reequilibrar la carga de trabajo con nuevas instancias de spot que no tengan un riesgo elevado de interrupción.

Para obtener más información, consulte Utilizar el reequilibrio de capacidad para gestionar las interrupciones de spot de Amazon EC2.

Comportamiento del escalado

Al crear un grupo de instancias mixtas, este utiliza instancias bajo demanda de forma predeterminada. Para utilizar instancias de spot, debe modificar el porcentaje del grupo que lanzar como instancias bajo demanda. Puede especificar cualquier número del 0 al 100 para el porcentaje bajo demanda.

De forma opcional, también puede designar un número base de instancias bajo demanda para comenzar. Si lo hace, Amazon EC2 Auto Scaling no lanza las instancias de spot hasta que se lance la capacidad base de instancias bajo demanda cuando el grupo escale horizontalmente. Lo que esté más allá de la capacidad base utiliza porcentajes bajo demanda para determinar cuántas instancias bajo demanda y de spot se deben lanzar.

Amazon EC2 Auto Scaling convierte el porcentaje en el número equivalente de instancias. Si el resultado crea un número fraccionario, redondea al siguiente número entero a favor de las instancias bajo demanda.

La tabla siguiente muestra el comportamiento del grupo de escalado automático a medida que reduce y aumenta su tamaño.

Ejemplo: Comportamiento del escalado
Opciones de compra Tamaño de grupo y número de instancias de ejecución en las opciones de compra
10 20 30 40

Ejemplo 1: base de 10, 50/50 % bajo demanda/spot

Instancias bajo demanda (importe base) 10 10 10 10
instancias bajo demanda 0 5 10 15
Spot Instances 0 5 10 15

Ejemplo 2: base de 0, 0/100 % bajo demanda/spot

Instancias bajo demanda (importe base) 0 0 0 0
instancias bajo demanda 0 0 0 0
Spot Instances 10 20 30 40

Ejemplo 3: base de 0, 60/40 % bajo demanda/spot

Instancias bajo demanda (importe base) 0 0 0 0
instancias bajo demanda 6 12 18 24
Spot Instances 4 8 12 16

Ejemplo 4: base de 0, 100/0 % bajo demanda/spot

Instancias bajo demanda (importe base) 0 0 0 0
instancias bajo demanda 10 20 30 40
Spot Instances 0 0 0 0

Ejemplo 5: base de 12, 0/100 % bajo demanda/spot

Instancias bajo demanda (importe base) 10 12 12 12
instancias bajo demanda 0 0 0 0
Spot Instances 0 8 18 28

Cuando el tamaño del grupo aumenta, Amazon EC2 Auto Scaling intenta equilibrar su capacidad de manera uniforme en las zonas de disponibilidad especificadas. A continuación, lanza tipos de instancia de acuerdo con la estrategia de asignación especificada.

Cuando el tamaño del grupo disminuye, Amazon EC2 Auto Scaling identifica primero cuál de los dos tipos (spot o bajo demanda) debe ser terminado. A continuación, intenta terminar las instancias de forma equilibrada en todas las zonas de disponibilidad especificadas. También favorece la finalización de las instancias de una forma que se ajuste más a sus estrategias de asignación. Para obtener más información sobre las políticas de terminación, consulte Configurar las políticas de terminación para Amazon EC2 Auto Scaling.

Disponibilidad regional de los tipos de instancias

La disponibilidad de los tipos de instancias de EC2 varía en función del usuario. Región de AWS Por ejemplo, es posible que los tipos de instancias de última generación aún no estén disponibles en una región determinada. Debido a las variaciones en la disponibilidad de las instancias de una región a otra, es posible que tenga problemas a la hora de realizar solicitudes programáticas si en su región no están disponibles varios tipos de instancias en sus anulaciones. Si utiliza varios tipos de instancias que no estén disponibles en su región, la solicitud podría fallar por completo. Para resolver el problema, vuelva a intentar la solicitud con distintos tipos de instancias y asegúrese de que cada tipo de instancia esté disponible en la región. Para buscar los tipos de instancia que se ofrecen según la ubicación, utilice el comando describe-instance-type-offerings. Para obtener más información, consulte Búsqueda de un tipo de instancia de Amazon EC2 en la Guía del usuario de Amazon EC2.

Para obtener más información sobre las prácticas recomendadas para las instancias puntuales, consulte las prácticas recomendadas para EC2 Spot en la Guía del usuario de Amazon EC2.

Limitaciones

Después de agregar anulaciones a un grupo de Auto Scaling mediante una política de instancias mixtas, puede actualizar las anulaciones con la llamada a la UpdateAutoScalingGroup API, pero no eliminarlas. Para eliminar por completo las anulaciones, primero debe cambiar el grupo de Auto Scaling para usar una plantilla de lanzamiento o una configuración de lanzamiento en lugar de una política de instancias mixtas. A continuación, puede volver a añadir una política de instancias mixtas sin anularla.