Habilitar el reequilibrio de la capacidad para reemplazar de forma proactiva las instancias de spot en riesgo
Puede usar la Consola de administración de AWS o la AWS CLI para habilitar el reequilibrio de capacidad para el grupo de escalado automático. Cuando se habilita el reequilibrio de la capacidad, Amazon EC2 Auto Scaling intentará reemplazar de forma proactiva las instancias de spot en su grupo que han recibido una recomendación de reequilibrio de instancias de EC2.
Habilitar el reequilibrio de la capacidad (consola)
Puede habilitar o desactivar el reequilibrio de la capacidad al crear o actualizar un grupo de escalado automático.
Para habilitar el reequilibrio de la capacidad para un nuevo grupo de escalado automático
Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/
y elija Auto Scaling Groups (Grupos de escalado automático) en el panel de navegación. -
Elija Create Auto Scaling group (Crear grupo de escalado automático).
-
Para el paso 1: Elegir la plantilla de lanzamiento o la configuración, ingrese un nombre para el grupo de escalado automático, elija una plantilla de lanzamiento y, a continuación, elija Siguiente para continuar con el próximo paso.
-
Para el paso 2: Elegir las opciones de lanzamiento de instancias, en Requisitos de tipo de instancias, elija la configuración para crear un grupo de instancias mixtas. Esto incluye los tipos de instancias que puede lanzar, las opciones de compra de instancias y las estrategias de asignación para las instancias de spot y bajo demanda. De forma predeterminada, estas opciones no están configuradas. Para configurarlas, debe seleccionar Override launch template (Anular plantilla de lanzamiento). Para obtener más información sobre cómo crear un grupo de instancias mixtas, consulte Grupos de Auto Scaling con varios tipos de instancia y opciones de compra.
-
En Red, elija las opciones que desee. Compruebe que las subredes que desea utilizar se encuentran en diferentes zonas de disponibilidad.
-
En la sección Estrategias de asignación, elija una estrategia de asignación de spot. Para habilitar o deshabilitar el reequilibrio de la capacidad, seleccione o desmarque la casilla debajo de Reequilibrio de la capacidad. Esta opción solo aparece cuando uno solicita un porcentaje del grupo de escalado automático que se lanzará como instancias de spot en la sección Opciones de compra de instancias.
-
Cree el grupo de escalado automático.
-
(Opcional) Añada enlaces de ciclo de vida según sea necesario. Para obtener más información, consulte Incorporación de los enlaces de ciclo de vida en su grupo de escalado automático.
Habilitación o deshabilitación del reequilibrio de la capacidad para un grupo de escalado automático existente
Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/
y elija Auto Scaling Groups (Grupos de escalado automático) en el panel de navegación. -
Seleccione la casilla situada junto al grupo de escalado automático. Se abre un panel dividido en la parte inferior de la página.
-
En la pestaña Details (Detalles), elija Allocation strategies (Estrategias de asignación) y Edit (Editar).
-
En la sección Estrategias de asignación, habilite o deshabilite el reequilibrio de la capacidad seleccionando o desmarcando la casilla debajo de Reequilibrio de la capacidad.
-
Elija Actualizar.
Habilitar el reequilibrio de la capacidad (AWS CLI)
En los siguientes ejemplos se muestra cómo utilizar la AWS CLI para habilitar y desactivar el reequilibrio de la capacidad.
Utilice los comandos create-auto-scaling-group
-
--capacity-rebalance/--no-capacity-rebalance: valor booleano que indica si el reequilibrio de la capacidad está habilitado.
Antes de llamar al comando create-auto-scaling-group
nota
En los procedimientos siguientes se muestra cómo utilizar un archivo de configuración con formato JSON o YAML. Si utiliza AWS CLI, versión 1, debe especificar un archivo de configuración con formato JSON. Si utiliza AWS CLI, versión 2, puede especificar un archivo de configuración con formato YAML o JSON.
Para crear y configurar un nuevo grupo de escalado automático
-
Utilice el comando create-auto-scaling-group
para crear un nuevo grupo de escalado automático y habilite el reequilibrio de la capacidad. Este comando hace referencia a un archivo JSON como único parámetro de su grupo de escalado automático. aws autoscaling create-auto-scaling-group --cli-input-jsonfile://~/config.jsonSi aún no tiene un archivo de configuración de la CLI que especifique una política de instancias mixtas, cree uno.
Agregue la siguiente línea al objeto JSON de nivel superior en el archivo de configuración.
{ "CapacityRebalance": true }A continuación se muestra un ejemplo de un archivo
config.json.{ "AutoScalingGroupName": "my-asg", "DesiredCapacity":, "MinSize":12, "MaxSize":12, "CapacityRebalance": true, "MixedInstancesPolicy": { "InstancesDistribution": { "OnDemandBaseCapacity":150, "OnDemandPercentageAboveBaseCapacity":25, "SpotAllocationStrategy": "price-capacity-optimized" }, "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "$Default" }, "Overrides": [ { "InstanceType": "c5.large" }, { "InstanceType": "c5a.large" }, { "InstanceType": "m5.large" }, { "InstanceType": "m5a.large" }, { "InstanceType": "c4.large" }, { "InstanceType": "m4.large" }, { "InstanceType": "c3.large" }, { "InstanceType": "m3.large" } ] } }, "TargetGroupARNs": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-alb-target-group/943f017f100becff", "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }
Para crear y configurar un nuevo grupo de escalado automático
-
Utilice el comando create-auto-scaling-group
para crear un nuevo grupo de escalado automático y habilite el reequilibrio de la capacidad. Este comando hace referencia a un archivo YAML como único parámetro de su grupo de escalado automático. aws autoscaling create-auto-scaling-group --cli-input-yamlfile://~/config.yamlAgregue la siguiente línea al archivo de configuración con formato YAML.
CapacityRebalance: trueA continuación se muestra un ejemplo de un archivo
config.yaml.--- AutoScalingGroupName:my-asgDesiredCapacity:12MinSize:12MaxSize:15CapacityRebalance: true MixedInstancesPolicy: InstancesDistribution: OnDemandBaseCapacity:0OnDemandPercentageAboveBaseCapacity:25SpotAllocationStrategy: price-capacity-optimized LaunchTemplate: LaunchTemplateSpecification: LaunchTemplateName:my-launch-templateVersion:$DefaultOverrides: - InstanceType:c5.large- InstanceType:c5a.large- InstanceType:m5.large- InstanceType:m5a.large- InstanceType:c4.large- InstanceType:m4.large- InstanceType:c3.large- InstanceType:m3.largeTargetGroupARNs: -arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-alb-target-group/943f017f100becffVPCZoneIdentifier:subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
Para habilitar el reequilibrio de la capacidad para un grupo de escalado automático existente
-
Utilice el siguiente comando update-auto-scaling-group
para habilitar el reequilibrio de la capacidad. aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --capacity-rebalance
Para verificar que el reequilibrio de la capacidad esté habilitado para un grupo de escalado automático
-
Utilice el siguiente comando describe-auto-scaling-groups
para verificar que el reequilibrio de la capacidad está habilitado y para ver los detalles. aws autoscaling describe-auto-scaling-groups --auto-scaling-group-namemy-asgA continuación, se muestra un ejemplo de respuesta.
{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn", ... "CapacityRebalance": true } ] }
Para desactivar el reequilibrio de la capacidad
Utilice el comando update-auto-scaling-group--no-capacity-rebalance para desactivar el reequilibrio de la capacidad.
aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --no-capacity-rebalance
Recursos relacionados
Para obtener más información sobre el reequilibrio de la capacidad, consulte Administrar proactivamente el ciclo de vida de las instancias de spot con la nueva característica de reequilibrio de la capacidad para Amazon EC2 Auto Scaling
Para obtener más información acerca de las recomendaciones de reequilibrio de instancias de EC2, consulte Recomendación de reequilibrio de instancias de EC2 en la Guía del usuario de Amazon EC2.
Para obtener más información acerca de los enlaces de ciclo de vida, consulte los siguientes recursos.
Limitaciones
-
Amazon EC2 Auto Scaling puede reemplazar la instancia que recibe la notificación de reequilibrio solo si la instancia no está protegida contra la reducción horizontal. Sin embargo, la protección de reducir horizontalmente no impide la terminación debido a una interrupción de spot. Para obtener más información, consulte Uso de la protección frente a la reducción horizontal de instancias para controlar la terminación de instancias.
-
La compatibilidad con el reequilibrio de la capacidad está disponible en todas las Regiones de AWS comerciales donde está disponible Amazon EC2 Auto Scaling, excepto la región de Oriente Medio (EAU).