Escalabilidade manual para o Amazon EC2 Auto Scaling - Amazon EC2 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á.

Escalabilidade manual para o Amazon EC2 Auto Scaling

Você pode ajustar manualmente o número de instâncias do EC2 em seu grupo de Auto Scaling a qualquer momento. Esse processo de alterar manualmente a contagem de instâncias é chamado de escalabilidade manual. O escalonamento manual é uma alternativa ao escalonamento automático, especialmente se você quiser fazer alterações de capacidade únicas.

Depois de escalar manualmente seu grupo, o Amazon EC2 Auto Scaling retoma as atividades normais de escalabilidade automática com base nas políticas de escalabilidade e ações programadas que você definiu. Para grupos com o aquecimento de instâncias padrão ativado, todas as novas instâncias passam por um período de aquecimento antes de começarem a contribuir com as métricas usadas para o escalonamento automático. Esse período de aquecimento ajuda a estabilizar o grupo na nova capacidade. Para ter mais informações, consulte Definir o aquecimento padrão da instância para um grupo do Auto Scaling.

Às vezes, talvez você queira desativar temporariamente as políticas de escalabilidade e as ações agendadas antes de escalar manualmente um grupo. Isso evita que surjam conflitos entre ações manuais de escalonamento e atividades de escalonamento automatizadas. Para ter mais informações, consulte Desative as atividades de escalabilidade.

Alterar a capacidade desejada de um grupo do Auto Scaling existente

Quando você altera a capacidade desejada do seu grupo de Auto Scaling, o Amazon EC2 Auto Scaling gerencia o processo de lançamento e encerramento de instâncias para atingir o novo tamanho desejado.

Console
Para alterar o tamanho de seu grupo do Auto Scaling
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/ e escolha grupos do Auto Scaling no painel de navegação.

  2. Marque a caixa de seleção ao lado do seu grupo do Auto Scaling.

    Um painel dividido é exibido na parte inferior da página.

  3. Na guia Detalhes, escolha Detalhes do grupo, Editar.

  4. Para Capacidade desejada, aumente ou diminua a capacidade desejada. Por exemplo, para aumentar o tamanho do grupo em um, se o valor atual for1, insira2.

    Se o novo valor para a capacidade desejada for maior que a capacidade mínima desejada e a capacidade máxima desejada, a capacidade máxima desejada será automaticamente aumentada para o novo valor de capacidade desejada.

  5. Quando terminar, escolha Atualizar.

Verifique se o tamanho do grupo que você especificou resultou na mesma quantidade de instâncias sendo executadas. Por exemplo, se você aumentou o tamanho do grupo em um, verifique se seu grupo de Auto Scaling iniciou uma instância adicional.

Para verificar se o tamanho do grupo do Auto Scaling foi alterado
  1. Na guia Atividade, em Histórico de atividades, você pode ver o progresso das atividades associadas ao grupo Auto Scaling. A coluna Status mostra o status atual de sua instância. Enquanto sua instância está ativando, a coluna de status mostra Not yet in service. O status muda para Successful depois que a instância é ativada. Você também pode usar o ícone de atualização para ver o status atual da sua instância. Para ter mais informações, consulte Verificar uma ação de escalabilidade para um grupo do Auto Scaling.

  2. Na guia Gerenciamento de instâncias, em Instâncias, você pode ver o status da instância. Demora um pouco para iniciar uma instância.

    • A guia Lifecycle (Ciclo de vida) mostra o estado de sua instância. Inicialmente, sua instância está no estado Pending. Quando uma instância está pronta para receber tráfego, seu estado é InService.

    • A coluna Health status mostra o resultado das verificações de saúde do Amazon EC2 Auto Scaling em sua instância.

AWS CLI

O exemplo a seguir pressupõe que você criou um grupo do Auto Scaling com um tamanho mínimo de 1 e um tamanho máximo de 5. Portanto, o grupo atualmente tem uma instância em execução.

Para alterar o tamanho de seu grupo do Auto Scaling

Use o comando set-desired-capacity para alterar o tamanho do seu grupo do Auto Scaling, conforme mostrado no exemplo a seguir.

aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \ --desired-capacity 2

Se você optar por cumprir o período de desaquecimento padrão para seu grupo do Auto Scaling, especifique a opção –-honor-cooldown, conforme mostrado no exemplo a seguir. Para ter mais informações, consulte Desaquecimento de escalabilidade para o Amazon EC2 Auto Scaling.

aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \ --desired-capacity 2 --honor-cooldown
Para verificar o tamanho de seu grupo do Auto Scaling

Use o comando describe-auto-scaling-groups para confirmar que o tamanho de seu grupo do Auto Scaling foi alterado, como no exemplo a seguir.

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg

Veja a seguir um exemplo de saída, que fornece detalhes sobre o grupo e as instâncias lançadas.

{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 2, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 300, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "Pending" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "CreatedTime": "2019-03-18T23:30:42.611Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-c87f2be0", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN": "arn", "TrafficSources": [] } ] }

Observe que DesiredCapacity mostra o novo valor. Seu grupo do Auto Scaling iniciou uma instância adicional.

Encerrar uma instância no seu grupo do Auto Scaling (AWS CLI)

Há momentos em que talvez você queira manualmente reduzir a escala horizontalmente em seu grupo do Auto Scaling, mas queira e encerrar uma instância específica. Você pode manualmente reduzir a escala horizontalmente em seu grupo do Auto Scaling usando o comando terminate-instance-in-auto-scaling-group e especificando o ID da instância que você deseja encerrar e a opção,--should-decrement-desired-capacity conforme mostrado no exemplo a seguir.

aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-id i-026e4c9f62c3e448c --should-decrement-desired-capacity

Veja a seguir um exemplo de saída, que fornece detalhes sobre a atividade de escalabilidade.

{ "Activities": [ { "ActivityId": "b8d62b03-10d8-9df4-7377-e464ab6bd0cb", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-026e4c9f62c3e448c", "Cause": "At 2023-09-23T06:39:59Z instance i-026e4c9f62c3e448c was taken out of service in response to a user request, shrinking the capacity from 1 to 0.", "StartTime": "2023-09-23T06:39:59.015000+00:00", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

Esta opção não está disponível no console. No entanto, você pode usar a página Instâncias do console do Amazon EC2 para encerrar uma instância em seu grupo de Auto Scaling. Quando você faz isso, o Amazon EC2 Auto Scaling detecta que a instância não está mais em execução e a substitui automaticamente como parte do processo de verificação de integridade. Depois de encerrar a instância, leva um ou dois minutos para que uma nova instância seja executada. Para obter informações sobre como encerrar uma instância, consulte Encerrar uma instância no Guia do usuário do Amazon EC2.

Se você encerrar instâncias em seu grupo e isso causar uma distribuição desigual entre as zonas de disponibilidade, o Amazon EC2 Auto Scaling reequilibrará o grupo para restabelecer uma distribuição uniforme, a menos que você suspenda o processo. AZRebalance Para ter mais informações, consulte Suspender e retomar os processos do Amazon EC2 Auto Scaling.