Suspensión y reanudación del escalado para Application Auto Scaling - Aplicación de escalado automático

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.

Suspensión y reanudación del escalado para Application Auto Scaling

En este tema se explica cómo suspender y, a continuación, reanudar una o varias actividades de escalado para los destinos escalables de su aplicación. La característica suspender-reanudar se utiliza para poner en pausa temporalmente las actividades de escalado activadas por sus políticas de escalado y las acciones programadas. Esto puede resultar útil, por ejemplo, cuando no desea que el escalado automático interfiera mientras realiza un cambio o investiga un problema de configuración. Sus políticas de escalado y las acciones programadas se pueden conservar y cuando esté listo, se pueden reanudar las actividades de escalado.

En los comandos de CLI de ejemplo que aparece a continuación, pasa los parámetros con formato JSON en un archivo config.json. También puede pasar estos parámetros en la línea de comandos mediante comillas para entrecomillar la estructura de datos JSON. Para obtener más información, consulte Uso de entrecomillado de cadenas en la AWS CLI de la Guía del usuario de AWS Command Line Interface .

nota

Para obtener instrucciones sobre cómo suspender los procesos de escalado horizontal mientras las implementaciones de Amazon ECS están en curso, consulte la siguiente documentación:

Implementaciones y escalado automáticos de servicios en la Guía para desarrolladores de Amazon Elastic Container Service

Actividades de escalado

Auto Scaling de aplicaciones permite poner las siguientes actividades de escalado en un estado suspendido:

  • Todas las actividades de escalado descendente activadas por una política de escalado.

  • Todas las actividades de escalado ascendente activadas por una política de escalado.

  • Todas las actividades de escalado que implican acciones programadas.

Las siguientes descripciones explican lo que ocurre cuando se suspenden las distintas actividades de escalado. Todas ellas pueden suspenderse y reanudarse por separado. En función del motivo de la suspensión de una actividad de escalado, es posible que tenga que suspender varias actividades de escalado a la vez.

DynamicScalingInSuspended

  • Auto Scaling de aplicaciones no elimina capacidad cuando se activa una política de escalado de seguimiento de destino o una política de escalado por pasos. Esto le permite deshabilitar temporalmente las actividades de escalado asociadas a las políticas de escalado sin eliminar las políticas de escalado ni las alarmas asociadas a ellas. CloudWatch Al reanudar la reducción horizontal, Auto Scaling de aplicaciones evalúa las políticas con umbrales de alarma que se han infringido.

DynamicScalingOutSuspended

  • Auto Scaling de aplicaciones no agrega capacidad cuando se activa una política de escalado de seguimiento de destino o una política de escalado por pasos. Esto le permite deshabilitar temporalmente las actividades de escalamiento horizontal asociadas a las políticas de escalado sin eliminar las políticas de escalado ni sus alarmas asociadas. CloudWatch Al reanudar el escalado horizontal, Auto Scaling de aplicaciones evalúa las políticas con umbrales de alarma que se han infringido.

ScheduledScalingSuspended

  • Auto Scaling de aplicaciones no inicia las acciones de escalado que están programadas para ejecutarse durante el periodo de suspensión. Cuando se reanuda el escalado programado, Auto Scaling de aplicaciones solo evalúa las acciones programadas cuyo tiempo de ejecución aún no ha transcurrido.

Suspender y reanudar las actividades de escalado

Puede suspender y reanudar las distintas actividades de escalado o todas ellas para su destino escalable de Auto Scaling de aplicaciones.

nota

Por cuestiones de brevedad, estos ejemplos ilustran cómo suspender y reanudar el escalado de una tabla de DynamoDB. Para especificar un destino escalable diferente, especifique su espacio de nombres en --service-namespace, su dimensión escalable en --scalable-dimension y su ID de recurso en --resource-id. Para obtener más información y ejemplos de cada servicio, consulte los temas de Servicios de AWS que puede usar con Application Auto Scaling.

Para suspender una actividad de escalado

Abra una ventana de línea de comandos y utilice el comando register-scalable-target con la opción --suspended-state tal y como se indica a continuación.

Linux, macOS o Unix

aws application-autoscaling register-scalable-target --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table \ --suspended-state file://config.json

Windows

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table --suspended-state file://config.json

Si se ejecuta correctamente, este comando devolverá el ARN del destino escalable.

{ "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }

Para suspender solo las actividades de escalado descendente que se activan mediante una política de escalado, especifique lo siguiente en config.json.

{ "DynamicScalingInSuspended":true }

Para suspender solo las actividades de escalado ascendente que se activan mediante una política de escalado, especifique lo siguiente en config.json.

{ "DynamicScalingOutSuspended":true }

Para suspender solo las actividades de escalado que implican acciones programadas, especifique lo siguiente en config.json.

{ "ScheduledScalingSuspended":true }
Para suspender todas las actividades de escalado

Utilice el comando register-scalable-target con la opción --suspended-state de la siguiente manera.

Linux, macOS o Unix

aws application-autoscaling register-scalable-target --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table \ --suspended-state file://config.json

Windows

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table --suspended-state file://config.json

En este ejemplo se supone que el archivo config.json contiene los siguientes parámetros con formato JSON.

{ "DynamicScalingInSuspended":true, "DynamicScalingOutSuspended":true, "ScheduledScalingSuspended":true }

Si se ejecuta correctamente, este comando devolverá el ARN del destino escalable.

{ "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }

Ver actividades de escalado suspendidas

Utilice el comando describe-scalable-targets para determinar qué actividades de escalado están en estado suspendido para un destino escalable.

Linux, macOS o Unix

aws application-autoscaling describe-scalable-targets --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table

Windows

aws application-autoscaling describe-scalable-targets --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table

A continuación, se muestra un ejemplo del resultado.

{ "ScalableTargets": [ { "ServiceNamespace": "dynamodb", "ScalableDimension": "dynamodb:table:ReadCapacityUnits", "ResourceId": "table/my-table", "MinCapacity": 1, "MaxCapacity": 20, "SuspendedState": { "DynamicScalingOutSuspended": true, "DynamicScalingInSuspended": true, "ScheduledScalingSuspended": true }, "CreationTime": 1558125758.957, "RoleARN": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable" } ] }

Reanudar actividades de escalado

Cuando esté listo para reanudar la actividad de escalado, puede reanudarla utilizando el comando register-scalable-target.

El siguiente comando de ejemplo reanuda todas las actividades de escalado para el destino escalable especificado.

Linux, macOS o Unix

aws application-autoscaling register-scalable-target --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table \ --suspended-state file://config.json

Windows

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table --suspended-state file://config.json

En este ejemplo se supone que el archivo config.json contiene los siguientes parámetros con formato JSON.

{ "DynamicScalingInSuspended":false, "DynamicScalingOutSuspended":false, "ScheduledScalingSuspended":false }

Si se ejecuta correctamente, este comando devolverá el ARN del destino escalable.

{ "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }