Suspender e retomar a escalabilidade do Application Auto Scaling - Application Auto Scaling

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Suspender e retomar a escalabilidade do Application Auto Scaling

Este tópico explica como suspender e retomar uma ou mais das ações de dimensionamento para os destinos dimensionáveis no aplicativo. O recurso de suspender e retomar é usado para pausar temporariamente as atividades de dimensionamento acionadas pelas políticas de dimensionamento e pelas ações programadas. Isso pode ser útil, por exemplo, quando você quer eliminar a possibilidade de o dimensionamento automático interferir enquanto você está fazendo uma alteração ou investigando um problema de configuração. As políticas de dimensionamento e as ações programadas podem ser mantidas e, quando você estiver pronto, as ações de dimensionamento poderão ser reiniciadas.

O exemplo de comandos da CLI a seguir, é necessário passar os parâmetros formatados em JSON em um arquivo config.json. Você também pode passar esses parâmetros na linha de comando usando aspas para incluir a estrutura de dados JSON. Para obter mais informações, consulte Usar aspas com strings na AWS CLI no Manual do usuário da AWS Command Line Interface .

nota

Para obter instruções sobre como suspender os processos de escalabilidade enquanto as implantações do Amazon ECS estão em andamento, consulte a seguinte documentação:

Escalabilidade automática de serviços e implantações no Guia do desenvolvedor do Amazon Elastic Container Service

Atividades de escalabilidade

O Application Auto Scaling oferece suporte para que as atividades de escalabilidade a seguir sejam colocadas em um estado suspenso:

  • Todas as atividades de redução que são acionadas por uma política de dimensionamento.

  • Todas as atividades de expansão que são acionados por uma política de dimensionamento.

  • Todas as ações de dimensionamento que envolvem ações programadas.

As descrições a seguir explicam o que acontece quando as ações de dimensionamento individuais são suspensas. Cada uma pode ser suspensa e retomada de forma independente. Dependendo do motivo da suspensão de uma ação de dimensionamento, pode ser necessário suspender várias ações de dimensionamento em conjunto.

DynamicScalingInSuspended

  • O Application Auto Scaling não remove a capacidade quando uma política de dimensionamento do monitoramento do objetivo ou uma política de escalabilidade de etapa é acionada. Isso permite que você desative temporariamente as atividades de expansão associadas às políticas de escalabilidade sem excluir as políticas de escalabilidade ou os alarmes associados. CloudWatch Quando você retomar a redução, o Application Auto Scaling avalia políticas com limites de alarme que estão atualmente em falha.

DynamicScalingOutSuspended

  • O Application Auto Scaling não remove a capacidade quando uma política de dimensionamento com monitoramento do objetivo ou uma política de escalabilidade de etapa é acionada. Isso permite que você desative temporariamente as atividades de expansão associadas às políticas de escalabilidade sem excluir as políticas de escalabilidade ou os alarmes associados. CloudWatch Quando você retomar o aumento da escala, o Application Auto Scaling avalia políticas com limites de alarme que estão atualmente em falha.

ScheduledScalingSuspended

  • O Application Auto Scaling não inicia as ações de escalabilidade programadas para execução durante o período de suspensão. Quando você retomar a escalabilidade programada, o Application Auto Scaling somente avaliará as ações programadas cujo tempo de execução ainda não tenha passado.

Suspender e retomar as atividades de escalonamento

Você pode suspender e retomar atividades de escalabilidade individuais ou todas as atividades de escalabilidade para o destino de escalabilidade do Application Auto Scaling.

nota

Em resumo, esses exemplos ilustram como suspender e retomar a escalabilidade para uma tabela do DynamoDB. Para especificar um destino escalável diferente, especifique o namespace em --service-namespace, sua dimensão escalável em --scalable-dimension, e o ID do recurso em --resource-id. Para obter mais informações e exemplos de cada serviço, consulte os tópicos na Serviços da AWS que você pode usar com o Application Auto Scaling.

Para suspender uma atividade de dimensionamento

Abra uma janela da linha de comando e use o comando register-scalable-target com a opção --suspended-state da maneira indicada a seguir.

Linux, macOS ou 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

Se obtiver êxito, esse comando retornará o ARN do destino escalável.

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

Para suspender somente atividades de redução que são acionadas por uma política de dimensionamento, especifique o seguinte no config.json.

{ "DynamicScalingInSuspended":true }

Para suspender somente atividades de ampliação que são acionadas por uma política de dimensionamento, especifique o seguinte no config.json.

{ "DynamicScalingOutSuspended":true }

Para suspender somente atividades de dimensionamento que envolvem ações programadas, especifique o seguinte no config.json.

{ "ScheduledScalingSuspended":true }
Para suspender todas as atividades de dimensionamento

Use o comando register-scalable-target com a opção --suspended-state da maneira indicada a seguir.

Linux, macOS ou 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

Este exemplo pressupõe que o arquivo config.json contém os parâmetros formatados em JSON a seguir.

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

Se obtiver êxito, esse comando retornará o ARN do destino escalável.

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

Visualizar atividades de escalabilidade suspensas

Use o comando describe-scalable-targets para determinar quais ações de escalabilidade estão em um estado suspenso para um destino escalável.

Linux, macOS ou 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

O seguinte é um exemplo de saída.

{ "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" } ] }

Retomar atividades de escalabilidade

Quando estiver pronto para retomar a atividade de escalabilidade, você poderá retomá-la usando o comando register-scalable-target.

O exemplo de comando a seguir retoma todas as atividades de dimensionamento para o destino dimensionável especificado.

Linux, macOS ou 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

Este exemplo pressupõe que o arquivo config.json contém os parâmetros formatados em JSON a seguir.

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

Se obtiver êxito, esse comando retornará o ARN do destino escalável.

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