Exemplos de Auto Scaling usando AWS CLI - AWS SDK Exemplos de código

Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples.

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á.

Exemplos de Auto Scaling usando AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com Auto Scaling.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, é possível ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.

Tópicos

Ações

O código de exemplo a seguir mostra como usar attach-instances.

AWS CLI

Para anexar uma instância a um grupo do Auto Scaling

Este exemplo anexa o caso especificado ao grupo do Auto Scaling especificado.

aws autoscaling attach-instances \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg

Este comando não produz saída.

  • Para API obter detalhes, consulte AttachInstancesna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar attach-load-balancer-target-groups.

AWS CLI

Como anexar um grupo de destino a um grupo do Auto Scaling

Este exemplo anexa o grupo de destino especificado ao grupo do Auto Scaling especificado.

aws autoscaling attach-load-balancer-target-groups \ --auto-scaling-group-name my-asg \ --target-group-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

Este comando não produz saída.

Para obter mais informações, consulte Elastic Load Balancing e Amazon Auto EC2 Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar attach-load-balancers.

AWS CLI

Para anexar um Classic Load Balancer ao grupo do Auto Scaling

Este exemplo anexa o Classic Load Balancer especificado ao grupo do Auto Scaling especificado.

aws autoscaling attach-load-balancers \ --load-balancer-names my-load-balancer \ --auto-scaling-group-name my-asg

Este comando não produz saída.

Para obter mais informações, consulte Elastic Load Balancing e Amazon Auto EC2 Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar cancel-instance-refresh.

AWS CLI

Para cancelar uma atualização de instância

O cancel-instance-refresh exemplo a seguir cancela uma atualização de instância em andamento para o grupo de Auto Scaling especificado.

aws autoscaling cancel-instance-refresh \ --auto-scaling-group-name my-asg

Saída:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

Para obter mais informações, consulte Cancelar uma atualização de instância no Guia do usuário do Amazon EC2 Auto Scaling.

O código de exemplo a seguir mostra como usar complete-lifecycle-action.

AWS CLI

Para concluir uma ação do ciclo de vida

Este exemplo notifica o Amazon EC2 Auto Scaling de que a ação do ciclo de vida especificada foi concluída para que ele possa concluir a inicialização ou o encerramento da instância.

aws autoscaling complete-lifecycle-action \ --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg \ --lifecycle-action-result CONTINUE \ --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

Este comando não produz saída.

Para obter mais informações, consulte os ganchos do ciclo de vida do Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar create-auto-scaling-group.

AWS CLI

Exemplo 1: como criar um grupo do Auto Scaling

O exemplo de create-auto-scaling-group a seguir cria um grupo do Auto Scaling em sub-redes de várias zonas de disponibilidade de uma região. As instâncias são executadas com a versão padrão do modelo de execução especificado. Observe que os padrões são usados na maioria das outras configurações, como nas políticas de encerramento e na configuração de verificação de integridade.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-1234567890abcde12 \ --min-size 1 \ --max-size 5 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

Este comando não produz saída.

Para obter mais informações, consulte Grupos de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 2: como anexar o Application Load Balancer, o Network Load Balancer ou o Gateway Load Balancer

Este exemplo especifica o ARN de um grupo-alvo para um balanceador de carga que suporta o tráfego esperado. O tipo de verificação de integridade especifica o ELB. Desta forma, quando o Elastic Load Balancing reportar uma instância como não íntegra, o grupo do Auto Scaling a substitui. O comando também define um período de carência de 600 segundos para a verificação de integridade. O período de carência ajuda a evitar o encerramento prematuro de instâncias recém-iniciadas.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-1234567890abcde12 \ --target-group-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/943f017f100becff \ --health-check-type ELB \ --health-check-grace-period 600 \ --min-size 1 \ --max-size 5 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

Este comando não produz saída.

Para obter mais informações, consulte Elastic Load Balancing e Amazon Auto EC2 Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 3: como especificar um grupo de posicionamento e usar a versão mais recente do modelo de execução

Este exemplo executa instâncias em um grupo de posicionamento dentro de uma única zona de disponibilidade. Isso pode ser útil para grupos de baixa latência com HPC cargas de trabalho. Esse exemplo também especifica o tamanho mínimo e máximo e a capacidade desejada do grupo.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-1234567890abcde12,Version='$Latest' \ --min-size 1 \ --max-size 5 \ --desired-capacity 3 \ --placement-group my-placement-group \ --vpc-zone-identifier "subnet-6194ea3b"

Este comando não produz saída.

Para obter mais informações, consulte Grupos de posicionamento no Guia EC2 do usuário da Amazon para instâncias Linux.

Exemplo 4: como especificar um grupo do Auto Scaling de instância única e usar uma versão específica para iniciar o modelo

Este exemplo cria um grupo do Auto Scaling com capacidade mínima e máxima definida como 1 para impor que uma apenas instância seja executada. O comando também especifica a v1 de um modelo de lançamento no qual o ID de um existente ENI é especificado. Ao usar um modelo de execução que especifica um existente ENI para eth0, você deve especificar uma zona de disponibilidade para o grupo Auto Scaling que corresponda à interface de rede, sem especificar também uma ID de sub-rede na solicitação.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg-single-instance \ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='1' \ --min-size 1 \ --max-size 1 \ --availability-zones us-west-2a

Este comando não produz saída.

Para obter mais informações, consulte Grupos de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 5: como especificar uma política de encerramento diferente

Este exemplo cria um grupo do Auto Scaling usando uma configuração de execução e define a política de encerramento para encerrar as instâncias mais antigas primeiro. O comando também aplica uma tag ao grupo e suas instâncias, com uma chave Role e valor de WebServer.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-configuration-name my-lc \ --min-size 1 \ --max-size 5 \ --termination-policies "OldestInstance" \ --tags "ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Role,Value=WebServer,PropagateAtLaunch=true" \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

Este comando não produz saída.

Para obter mais informações, consulte Como trabalhar com as políticas de rescisão do Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 6: como especificar um hook do ciclo de vida de lançamento

Este exemplo a seguir cria um grupo do Auto Scaling com um hook do ciclo de vida que oferece suporte a uma ação personalizada na inicialização da instância.

aws autoscaling create-auto-scaling-group \ --cli-input-json file://~/config.json

Conteúdo do arquivo config.json:

{ "AutoScalingGroupName": "my-asg", "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12" }, "LifecycleHookSpecificationList": [{ "LifecycleHookName": "my-launch-hook", "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING", "NotificationTargetARN": "arn:aws:sqs:us-west-2:123456789012:my-sqs-queue", "RoleARN": "arn:aws:iam::123456789012:role/my-notification-role", "NotificationMetadata": "SQS message metadata", "HeartbeatTimeout": 4800, "DefaultResult": "ABANDON" }], "MinSize": 1, "MaxSize": 5, "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "Tags": [{ "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "test", "Key": "environment" }] }

Este comando não produz saída.

Para obter mais informações, consulte os ganchos do ciclo de vida do Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 7: como especificar um hook do ciclo de vida de encerramento

Este exemplo a seguir cria um grupo do Auto Scaling com um hook do ciclo de vida que oferece suporte a uma ação personalizada no encerramento da instância.

aws autoscaling create-auto-scaling-group \ --cli-input-json file://~/config.json

Conteúdo de config.json:

{ "AutoScalingGroupName": "my-asg", "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12" }, "LifecycleHookSpecificationList": [{ "LifecycleHookName": "my-termination-hook", "LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING", "HeartbeatTimeout": 120, "DefaultResult": "CONTINUE" }], "MinSize": 1, "MaxSize": 5, "TargetGroupARNs": [ "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" ], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }

Este comando não produz saída.

Para obter mais informações, consulte os ganchos do ciclo de vida do Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 8: como especificar uma política de encerramento personalizada

Este exemplo cria um grupo de Auto Scaling que especifica uma política personalizada de encerramento da função Lambda que informa ao Amazon Auto Scaling EC2 quais instâncias podem ser encerradas em escala segura.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg-single-instance \ --launch-template LaunchTemplateName=my-template-for-auto-scaling \ --min-size 1 \ --max-size 5 \ --termination-policies "arn:aws:lambda:us-west-2:123456789012:function:HelloFunction:prod" \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

Este comando não produz saída.

Para obter mais informações, consulte Criação de uma política de rescisão personalizada com o Lambda no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar create-launch-configuration.

AWS CLI

Exemplo 1: Saiba como criar uma configuração de execução.

Este exemplo cria uma configuração de inicialização simples.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large

Este comando não produz saída.

Para obter mais informações, consulte Criação de uma configuração de lançamento no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 2: Para criar uma configuração de inicialização com uma key pair de grupo de segurança, e um script de bootrapping

Este exemplo cria uma configuração de inicialização com um grupo de segurança, um par de chaves e um script de bootrapping contido nos dados do usuário.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --security-groups sg-eb2af88example \ --key-name my-key-pair \ --user-data file://myuserdata.txt

Este comando não produz saída.

Para obter mais informações, consulte Criação de uma configuração de lançamento no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 3: Para criar uma configuração de lançamento com uma IAM função

Este exemplo cria uma configuração de execução com o nome do perfil da instância de uma IAM função.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --iam-instance-profile my-autoscaling-role

Este comando não produz saída.

Para obter mais informações, consulte a IAMfunção dos aplicativos que são executados em EC2 instâncias da Amazon no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 4: Para habilitar o monitoramento detalhado em uma configuração de execução

Este exemplo cria uma configuração de lançamento com monitoramento EC2 detalhado ativado, que envia EC2 métricas CloudWatch em períodos de 1 minuto.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --instance-monitoring Enabled=true

Este comando não produz saída.

Para obter mais informações, consulte Configuração do monitoramento para instâncias do Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 5: como criar uma configuração de execução para instâncias spot.

Este exemplo cria uma configuração de execução que usa instâncias spot como a única opção de compra.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --spot-price "0.50"

Este comando não produz saída.

Para obter mais informações, consulte Solicitação de instâncias spot no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 6: Para criar uma configuração de execução usando uma EC2 instância

Este exemplo cria uma configuração de execução com base nos atributos de uma instância existente. Ele substitui a locação do posicionamento e se um endereço IP público é definido incluindo --placement-tenancy e opções--no-associate-public-ip-address.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc-from-instance \ --instance-id i-0123a456700123456 \ --instance-type m5.large \ --no-associate-public-ip-address \ --placement-tenancy dedicated

Este comando não produz saída.

Para obter mais informações, consulte Criação de uma configuração de execução usando uma EC2 instância no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 7: Para criar uma configuração de lançamento com um mapeamento de dispositivos de blocos para um EBS volume da Amazon

Este exemplo cria uma configuração de lançamento com um mapeamento de dispositivos de blocos para um EBS gp3 volume da Amazon com o nome do dispositivo /dev/sdh e um tamanho de volume de 20.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --block-device-mappings '[{"DeviceName":"/dev/sdh","Ebs":{"VolumeSize":20,"VolumeType":"gp3"}}]'

Este comando não produz saída.

Para obter mais informações, consulte EBSa Amazon EC2 Auto Scaling API Reference.

Para obter informações sobre a sintaxe para citar valores JSON de parâmetros formatados, consulte Usando aspas com cadeias de caracteres no Guia do usuário da interface de linha de AWS CLI comando.AWS

Exemplo 8: para criar uma configuração de execução com um mapeamento de dispositivos de blocos para um volume de armazenamento de instância

Este exemplo cria uma configuração de execução com ephemeral1 como volume de armazenamento de instância com o nome do dispositivo /dev/sdc.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --block-device-mappings '[{"DeviceName":"/dev/sdc","VirtualName":"ephemeral1"}]'

Este comando não produz saída.

Para obter mais informações, consulte BlockDeviceMappinga Amazon EC2 Auto Scaling API Reference.

Para obter informações sobre a sintaxe para citar valores JSON de parâmetros formatados, consulte Usando aspas com cadeias de caracteres no Guia do usuário da interface de linha de AWS CLI comando.AWS

Exemplo 9: como criar uma configuração de execução e impedir que um dispositivo de blocos se conecte no momento da execução.

Este exemplo cria uma configuração de inicialização que suprime um dispositivo de bloco especificado pelo mapeamento do dispositivo de bloco do AMI (por exemplo,/dev/sdf).

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --block-device-mappings '[{"DeviceName":"/dev/sdf","NoDevice":""}]'

Este comando não produz saída.

Para obter mais informações, consulte BlockDeviceMappinga Amazon EC2 Auto Scaling API Reference.

Para obter informações sobre a sintaxe para citar valores JSON de parâmetros formatados, consulte Usando aspas com cadeias de caracteres no Guia do usuário da interface de linha de AWS CLI comando.AWS

O código de exemplo a seguir mostra como usar create-or-update-tags.

AWS CLI

Para criar ou modificar tags de um grupo do Auto Scaling existente

Este exemplo adiciona duas tags ao grupo do Auto Scaling especificado.

aws autoscaling create-or-update-tags \ --tags ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Role,Value=WebServer,PropagateAtLaunch=true ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Dept,Value=Research,PropagateAtLaunch=true

Este comando não produz saída.

Para obter mais informações, consulte Como marcar grupos e instâncias do Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar delete-auto-scaling-group.

AWS CLI

Exemplo 1: como excluir o grupo do Auto Scaling especificado

Este exemplo exclui o grupo do Auto Scaling especificado.

aws autoscaling delete-auto-scaling-group \ --auto-scaling-group-name my-asg

Este comando não produz saída.

Para obter mais informações, consulte Excluir sua infraestrutura de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 2: como forçar a exclusão do grupo do Auto Scaling especificado

Use a opção --force-delete para excluir o grupo do Auto Scaling sem precisar esperar que as instâncias do grupo sejam encerradas.

aws autoscaling delete-auto-scaling-group \ --auto-scaling-group-name my-asg \ --force-delete

Este comando não produz saída.

Para obter mais informações, consulte Excluir sua infraestrutura de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar delete-launch-configuration.

AWS CLI

Para excluir sua configuração de ativação

Exclui a configuração de execução especificada.

aws autoscaling delete-launch-configuration \ --launch-configuration-name my-launch-config

Este comando não produz saída.

Para obter mais informações, consulte Excluir sua infraestrutura de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar delete-lifecycle-hook.

AWS CLI

Para adicionar um hook do ciclo de vida.

Exclui o hook do ciclo de vida especificado.

aws autoscaling delete-lifecycle-hook \ --lifecycle-hook-name my-lifecycle-hook \ --auto-scaling-group-name my-asg

Este comando não produz saída.

O código de exemplo a seguir mostra como usar delete-notification-configuration.

AWS CLI

Como excluir uma notificação do Auto Scaling

Este exemplo exclui a notificação especificada do grupo de Auto Scaling especificado.

aws autoscaling delete-notification-configuration \ --auto-scaling-group-name my-asg \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic

Este comando não produz saída.

Para obter mais informações, consulte Excluir a configuração de notificação no Guia do usuário do Amazon EC2 Auto Scaling.

O código de exemplo a seguir mostra como usar delete-policy.

AWS CLI

Excluir uma política de escalabilidade

Este exemplo exclui o Scaling especificado.

aws autoscaling delete-policy \ --auto-scaling-group-name my-asg \ --policy-name alb1000-target-tracking-scaling-policy

Este comando não produz saída.

  • Para API obter detalhes, consulte DeletePolicyna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-scheduled-action.

AWS CLI

Para criar uma ação programada para um grupo do Auto Scaling

Este exemplo exclui a ação programada especificada do grupo do Auto Scaling especificado.

aws autoscaling delete-scheduled-action \ --auto-scaling-group-name my-asg \ --scheduled-action-name my-scheduled-action

Este comando não produz saída.

O código de exemplo a seguir mostra como usar delete-tags.

AWS CLI

Como excluir uma tag de um grupo do Auto Scaling

Este exemplo exclui a tag especificada do grupo Auto Scaling especificado.

aws autoscaling delete-tags \ --tags ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Dept,Value=Research

Este comando não produz saída.

Para obter mais informações, consulte Como marcar grupos e instâncias do Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

  • Para API obter detalhes, consulte DeleteTagsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-warm-pool.

AWS CLI

Exemplo 1: Para excluir uma piscina aquecida

O exemplo a seguir exclui a piscina aquecida do grupo de Auto Scaling especificado.

aws autoscaling delete-warm-pool \ --auto-scaling-group-name my-asg

Este comando não produz saída.

Para obter mais informações, consulte Warm Pools for Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 2: Para forçar a exclusão de uma piscina aquecida

Para excluir o pool aquecido sem esperar que suas instâncias terminem, use a --force-delete opção.

aws autoscaling delete-warm-pool \ --auto-scaling-group-name my-asg \ --force-delete

Este comando não produz saída.

Para obter mais informações, consulte Warm Pools for Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

  • Para API obter detalhes, consulte DeleteWarmPoolna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar describe-account-limits.

AWS CLI

Para descrever os limites da sua conta Amazon EC2 Auto Scaling

Este exemplo descreve os limites do Amazon EC2 Auto Scaling para sua AWS conta.

aws autoscaling describe-account-limits

Saída:

{ "NumberOfLaunchConfigurations": 5, "MaxNumberOfLaunchConfigurations": 100, "NumberOfAutoScalingGroups": 3, "MaxNumberOfAutoScalingGroups": 20 }

Para obter mais informações, consulte as cotas do serviço Amazon EC2 Auto Scaling no Guia do usuário do Amazon EC2Auto Scaling.

O código de exemplo a seguir mostra como usar describe-adjustment-types.

AWS CLI

Como descrever os tipos de ajuste de escala disponíveis

Este exemplo descreve os tipos de ajuste disponíveis.

aws autoscaling describe-adjustment-types

Saída:

{ "AdjustmentTypes": [ { "AdjustmentType": "ChangeInCapacity" }, { "AdjustmentType": "ExactCapacity" }, { "AdjustmentType": "PercentChangeInCapacity" } ] }

Para obter mais informações, consulte Tipos de ajuste de escalabilidade no Guia do usuário do Amazon EC2 Auto Scaling.

O código de exemplo a seguir mostra como usar describe-auto-scaling-groups.

AWS CLI

Exemplo 1: como descrever o grupo do Auto Scaling especificado

Este exemplo descreve o grupo do Auto Scaling especificado.

aws autoscaling describe-auto-scaling-groups \ --auto-scaling-group-names my-asg

Saída:

{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-asg", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcde12" }, "MinSize": 0, "MaxSize": 1, "DesiredCapacity": 1, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 0, "Instances": [ { "InstanceId": "i-06905f55584de02da", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2a", "HealthStatus": "Healthy", "LifecycleState": "InService", "ProtectedFromScaleIn": false, "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcde12" } } ], "CreatedTime": "2023-10-28T02:39:22.152Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN":"arn", "TrafficSources": [] } ] }

Exemplo 2: como descrever os primeiros 100 grupos do Auto Scaling especificados

Este exemplo descreve os grupos do Auto Scaling especificados. Ele permite especificar até cem nomes de grupos.

aws autoscaling describe-auto-scaling-groups \ --max-items 100 \ --auto-scaling-group-names "group1" "group2" "group3" "group4"

Consulte um exemplo de saída no exemplo 1.

Exemplo 3: como descrever um grupo do Auto Scaling na região especificada

Este exemplo descreve até 75 grupos do Auto Scaling na região especificada.

aws autoscaling describe-auto-scaling-groups \ --max-items 75 \ --region us-east-1

Consulte um exemplo de saída no exemplo 1.

Exemplo 4: como descrever o número especificado do grupo do Auto Scaling

Use a opção --max-items para retornar um número específico de grupos do Auto Scaling.

aws autoscaling describe-auto-scaling-groups \ --max-items 1

Consulte um exemplo de saída no exemplo 1.

Se a saída incluir um campo NextToken, há mais grupos. Para obter os grupos adicionais, use o valor desse campo com a opção --starting-token em uma chamada subsequente da seguinte maneira.

aws autoscaling describe-auto-scaling-groups \ --starting-token Z3M3LMPEXAMPLE

Consulte um exemplo de saída no exemplo 1.

Exemplo 5: Para localizar grupos do Auto Scaling que usam uma configuração de execução

Este exemplo usa a opção --query para descrever os grupos do Auto Scaling que usam configurações de execução.

aws autoscaling describe-auto-scaling-groups \ --query 'AutoScalingGroups[?LaunchConfigurationName!=`null`]'

Saída:

[ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-asg", "LaunchConfigurationName": "my-lc", "MinSize": 0, "MaxSize": 1, "DesiredCapacity": 1, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 0, "Instances": [ { "InstanceId": "i-088c57934a6449037", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2c", "HealthStatus": "Healthy", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc", "ProtectedFromScaleIn": false } ], "CreatedTime": "2023-10-28T02:39:22.152Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN":"arn", "TrafficSources": [] } ]

Para obter mais informações, consulte AWS CLISaída do filtro no Guia do usuário da interface de linha de AWS comando.

O código de exemplo a seguir mostra como usar describe-auto-scaling-instances.

AWS CLI

Exemplo 1: como descrever uma ou mais instâncias

Este exemplo descreve a instância especificada.

aws autoscaling describe-auto-scaling-instances \ --instance-ids i-06905f55584de02da

Saída:

{ "AutoScalingInstances": [ { "InstanceId": "i-06905f55584de02da", "InstanceType": "t2.micro", "AutoScalingGroupName": "my-asg", "AvailabilityZone": "us-west-2b", "LifecycleState": "InService", "HealthStatus": "HEALTHY", "ProtectedFromScaleIn": false, "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12", "LaunchTemplateName": "my-launch-template", "Version": "1" } } ] }

Exemplo 2: como descrever uma ou mais instâncias

Este exemplo usa a opção --max-items para especificar quantas instâncias devem ser retornadas pela chamada.

aws autoscaling describe-auto-scaling-instances \ --max-items 1

Se a saída incluir um campo NextToken, há mais instâncias. Para obter as instâncias adicionais, use o valor desse campo com a opção --starting-token em uma chamada subsequente da seguinte maneira.

aws autoscaling describe-auto-scaling-instances \ --starting-token Z3M3LMPEXAMPLE

Consulte um exemplo de saída no exemplo 1.

Exemplo 3: Como descrever instâncias que usam configurações de execução.

Este exemplo usa a opção --query para descrever instâncias que usam configurações de execução.

aws autoscaling describe-auto-scaling-instances \ --query 'AutoScalingInstances[?LaunchConfigurationName!=`null`]'

Saída:

[ { "InstanceId": "i-088c57934a6449037", "InstanceType": "t2.micro", "AutoScalingGroupName": "my-asg", "AvailabilityZone": "us-west-2c", "LifecycleState": "InService", "HealthStatus": "HEALTHY", "LaunchConfigurationName": "my-lc", "ProtectedFromScaleIn": false } ]

Para obter mais informações, consulte AWS CLISaída do filtro no Guia do usuário da interface de linha de AWS comando.

O código de exemplo a seguir mostra como usar describe-auto-scaling-notification-types.

AWS CLI

Como descrever os tipos de notificação disponíveis

Este exemplo descreve os tipos de notificação disponíveis.

aws autoscaling describe-auto-scaling-notification-types

Saída:

{ "AutoScalingNotificationTypes": [ "autoscaling:EC2_INSTANCE_LAUNCH", "autoscaling:EC2_INSTANCE_LAUNCH_ERROR", "autoscaling:EC2_INSTANCE_TERMINATE", "autoscaling:EC2_INSTANCE_TERMINATE_ERROR", "autoscaling:TEST_NOTIFICATION" ] }

Para obter mais informações, consulte Receber SNS notificações da Amazon quando seu grupo de Auto Scaling aumenta no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar describe-instance-refreshes.

AWS CLI

Para descrever as atualizações de instâncias

O describe-instance-refreshes exemplo a seguir retorna uma descrição de todas as solicitações de atualização de instância para o grupo de Auto Scaling especificado, incluindo a mensagem de status e (se disponível) o motivo do status.

aws autoscaling describe-instance-refreshes \ --auto-scaling-group-name my-asg

Saída:

{ "InstanceRefreshes": [ { "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b", "AutoScalingGroupName": "my-asg", "Status": "InProgress", "StatusReason": "Waiting for instances to warm up before continuing. For example: 0e69cc3f05f825f4f is warming up.", "EndTime": "2023-03-23T16:42:55Z", "PercentageComplete": 0, "InstancesToUpdate": 0, "Preferences": { "MinHealthyPercentage": 100, "InstanceWarmup": 300, "CheckpointPercentages": [ 50 ], "CheckpointDelay": 3600, "SkipMatching": false, "AutoRollback": true, "ScaleInProtectedInstances": "Ignore", "StandbyInstances": "Ignore" } }, { "InstanceRefreshId": "dd7728d0-5bc4-4575-96a3-1b2c52bf8bb1", "AutoScalingGroupName": "my-asg", "Status": "Successful", "EndTime": "2022-06-02T16:53:37Z", "PercentageComplete": 100, "InstancesToUpdate": 0, "Preferences": { "MinHealthyPercentage": 90, "InstanceWarmup": 300, "SkipMatching": true, "AutoRollback": true, "ScaleInProtectedInstances": "Ignore", "StandbyInstances": "Ignore" } } ] }

Para obter mais informações, consulte Verifique o status de uma atualização de instância no Guia do usuário do Amazon EC2 Auto Scaling.

O código de exemplo a seguir mostra como usar describe-launch-configurations.

AWS CLI

Exemplo 1: Como descrever a configuração de execução especificada.

Este exemplo descreve a configuração de execução especificada.

aws autoscaling describe-launch-configurations \ --launch-configuration-names my-launch-config

Saída:

{ "LaunchConfigurations": [ { "LaunchConfigurationName": "my-launch-config", "LaunchConfigurationARN": "arn:aws:autoscaling:us-west-2:123456789012:launchConfiguration:98d3b196-4cf9-4e88-8ca1-8547c24ced8b:launchConfigurationName/my-launch-config", "ImageId": "ami-0528a5175983e7f28", "KeyName": "my-key-pair-uswest2", "SecurityGroups": [ "sg-05eaec502fcdadc2e" ], "ClassicLinkVPCSecurityGroups": [], "UserData": "", "InstanceType": "t2.micro", "KernelId": "", "RamdiskId": "", "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "SnapshotId": "snap-06c1606ba5ca274b1", "VolumeSize": 8, "VolumeType": "gp2", "DeleteOnTermination": true, "Encrypted": false } } ], "InstanceMonitoring": { "Enabled": true }, "CreatedTime": "2020-10-28T02:39:22.321Z", "EbsOptimized": false, "AssociatePublicIpAddress": true, "MetadataOptions": { "HttpTokens": "required", "HttpPutResponseHopLimit": 1, "HttpEndpoint": "disabled" } } ] }

Exemplo 2: Como descrever um número especificado de configurações de execução.

Para retornar um número específico de configurações de execução, use a opção --max-items.

aws autoscaling describe-launch-configurations \ --max-items 1

Se a saída incluir um campo NextToken, há mais configurações de execução. Para obter as configurações de execução adicionais, use o valor desse campo com a opção --starting-token em uma chamada subsequente como explicado a seguir

aws autoscaling describe-launch-configurations \ --starting-token Z3M3LMPEXAMPLE

O código de exemplo a seguir mostra como usar describe-lifecycle-hook-types.

AWS CLI

Descreve os tipos disponíveis de hooks do ciclo de vida.

Esse exemplo descreve os tipos disponíveis de hooks do ciclo de vida.

aws autoscaling describe-lifecycle-hook-types

Saída:

{ "LifecycleHookTypes": [ "autoscaling:EC2_INSTANCE_LAUNCHING", "autoscaling:EC2_INSTANCE_TERMINATING" ] }

O código de exemplo a seguir mostra como usar describe-lifecycle-hooks.

AWS CLI

Como descrever seus hooks do ciclo de vida

Esse exemplo descreve os hooks do ciclo de vida do grupo de Auto Scaling especificado.

aws autoscaling describe-lifecycle-hooks \ --auto-scaling-group-name my-asg

Saída:

{ "LifecycleHooks": [ { "GlobalTimeout": 3000, "HeartbeatTimeout": 30, "AutoScalingGroupName": "my-asg", "LifecycleHookName": "my-launch-hook", "DefaultResult": "ABANDON", "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING" }, { "GlobalTimeout": 6000, "HeartbeatTimeout": 60, "AutoScalingGroupName": "my-asg", "LifecycleHookName": "my-termination-hook", "DefaultResult": "CONTINUE", "LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING" } ] }

O código de exemplo a seguir mostra como usar describe-load-balancer-target-groups.

AWS CLI

Para descrever os grupos-alvo do balanceador de carga para um grupo do Auto Scaling

Este exemplo descreve os grupos-alvo do balanceador de carga anexados ao grupo de Auto Scaling especificado.

aws autoscaling describe-load-balancer-target-groups \ --auto-scaling-group-name my-asg

Saída:

{ "LoadBalancerTargetGroups": [ { "LoadBalancerTargetGroupARN": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "State": "Added" } ] }

O código de exemplo a seguir mostra como usar describe-load-balancers.

AWS CLI

Como descrever os Classic Load Balancers de um grupo do Auto Scaling

Esse exemplo descreve os load balancers clássicos do grupo de Auto Scaling especificado.

aws autoscaling describe-load-balancers \ --auto-scaling-group-name my-asg

Saída:

{ "LoadBalancers": [ { "State": "Added", "LoadBalancerName": "my-load-balancer" } ] }

O código de exemplo a seguir mostra como usar describe-metric-collection-types.

AWS CLI

Como descrever os tipos de coleta de métricas disponíveis

Este exemplo descreve os tipos de coleta de métricas disponíveis.

aws autoscaling describe-metric-collection-types

Saída:

{ "Metrics": [ { "Metric": "GroupMinSize" }, { "Metric": "GroupMaxSize" }, { "Metric": "GroupDesiredCapacity" }, { "Metric": "GroupInServiceInstances" }, { "Metric": "GroupInServiceCapacity" }, { "Metric": "GroupPendingInstances" }, { "Metric": "GroupPendingCapacity" }, { "Metric": "GroupTerminatingInstances" }, { "Metric": "GroupTerminatingCapacity" }, { "Metric": "GroupStandbyInstances" }, { "Metric": "GroupStandbyCapacity" }, { "Metric": "GroupTotalInstances" }, { "Metric": "GroupTotalCapacity" } ], "Granularities": [ { "Granularity": "1Minute" } ] }

Para obter mais informações, consulte as métricas de grupo do Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar describe-notification-configurations.

AWS CLI

Exemplo 1: Como descrever as configurações de notificação de um grupo especificado.

Este exemplo descreve as configurações de notificação do grupo do Auto Scaling especificado.

aws autoscaling describe-notification-configurations \ --auto-scaling-group-name my-asg

Saída:

{ "NotificationConfigurations": [ { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic-2" }, { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" } ] }

Para obter mais informações, consulte Receber SNS notificações da Amazon quando seu grupo de Auto Scaling aumenta no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 1: Como descrever um número especificado de configurações de notificação.

Para retornar um número especificado de configurações de notificação, use o parâmetro max-items.

aws autoscaling describe-notification-configurations \ --auto-scaling-group-name my-auto-scaling-group \ --max-items 1

Saída:

{ "NotificationConfigurations": [ { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic-2" }, { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" } ] }

Se a saída incluir um campo NextToken, há mais configurações de notificação. Para obter as notificações adicionais, use o valor desse campo com o parâmetro starting-token em uma chamada subsequente da seguinte maneira.

aws autoscaling describe-notification-configurations \ --auto-scaling-group-name my-asg \ --starting-token Z3M3LMPEXAMPLE

Para obter mais informações, consulte Receber SNS notificações da Amazon quando seu grupo de Auto Scaling aumenta no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar describe-policies.

AWS CLI

Exemplo 1: como descrever as escalas do Auto Scaling especificado

Este exemplo descreve as politicas de escalabilidade do grupo do Auto Scaling especificado.

aws autoscaling describe-policies \ --auto-scaling-group-name my-asg

Saída:

{ "ScalingPolicies": [ { "AutoScalingGroupName": "my-asg", "PolicyName": "alb1000-target-tracking-scaling-policy", "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:3065d9c8-9969-4bec-bb6a-3fbe5550fde6:autoScalingGroupName/my-asg:policyName/alb1000-target-tracking-scaling-policy", "PolicyType": "TargetTrackingScaling", "StepAdjustments": [], "Alarms": [ { "AlarmName": "TargetTracking-my-asg-AlarmHigh-924887a9-12d7-4e01-8686-6f844d13a196", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-924887a9-12d7-4e01-8686-6f844d13a196" }, { "AlarmName": "TargetTracking-my-asg-AlarmLow-f96f899d-b8e7-4d09-a010-c1aaa35da296", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-f96f899d-b8e7-4d09-a010-c1aaa35da296" } ], "TargetTrackingConfiguration": { "PredefinedMetricSpecification": { "PredefinedMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff" }, "TargetValue": 1000.0, "DisableScaleIn": false }, "Enabled": true }, { "AutoScalingGroupName": "my-asg", "PolicyName": "cpu40-target-tracking-scaling-policy", "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:5fd26f71-39d4-4690-82a9-b8515c45cdde:autoScalingGroupName/my-asg:policyName/cpu40-target-tracking-scaling-policy", "PolicyType": "TargetTrackingScaling", "StepAdjustments": [], "Alarms": [ { "AlarmName": "TargetTracking-my-asg-AlarmHigh-139f9789-37b9-42ad-bea5-b5b147d7f473", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-139f9789-37b9-42ad-bea5-b5b147d7f473" }, { "AlarmName": "TargetTracking-my-asg-AlarmLow-bd681c67-fc18-4c56-8468-fb8e413009c9", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-bd681c67-fc18-4c56-8468-fb8e413009c9" } ], "TargetTrackingConfiguration": { "PredefinedMetricSpecification": { "PredefinedMetricType": "ASGAverageCPUUtilization" }, "TargetValue": 40.0, "DisableScaleIn": false }, "Enabled": true } ] }

Para obter mais informações, consulte Escalabilidade dinâmica no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 2: Como descrever as políticas de escalabilidade de um nome especificado.

Para retornar políticas de escalabilidade específicas, use a opção --policy-names.

aws autoscaling describe-policies \ --auto-scaling-group-name my-asg \ --policy-names cpu40-target-tracking-scaling-policy

Consulte um exemplo de saída no exemplo 1.

Para obter mais informações, consulte Escalabilidade dinâmica no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 3: Como descrever várias políticas de escalabilidade.

Use a opção --max-items para retornar um número específico de politicas.

aws autoscaling describe-policies \ --auto-scaling-group-name my-asg \ --max-items 1

Consulte um exemplo de saída no exemplo 1.

Se a saída incluir um campo NextToken, use o valor desse campo com a opção --starting-token em uma chamada subsequente para obter as políticas adicionais.

aws autoscaling describe-policies --auto-scaling-group-name my-asg --starting-token Z3M3LMPEXAMPLE

Para obter mais informações, consulte Escalabilidade dinâmica no Guia do usuário do Amazon EC2 Auto Scaling.

  • Para API obter detalhes, consulte DescribePoliciesna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar describe-scaling-activities.

AWS CLI

Exemplo 1: como descrever as ações de escalabilidade do grupo especificado

Este exemplo descreve as ações de escalabilidade do grupo do Auto Scaling especificado.

aws autoscaling describe-scaling-activities \ --auto-scaling-group-name my-asg

Saída:

{ "Activities": [ { "ActivityId": "f9f2d65b-f1f2-43e7-b46d-d86756459699", "Description": "Launching a new EC2 instance: i-0d44425630326060f", "AutoScalingGroupName": "my-asg", "Cause": "At 2020-10-30T19:35:51Z a user request update of AutoScalingGroup constraints to min: 0, max: 16, desired: 16 changing the desired capacity from 0 to 16. At 2020-10-30T19:36:07Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 16.", "StartTime": "2020-10-30T19:36:09.766Z", "EndTime": "2020-10-30T19:36:41Z", "StatusCode": "Successful", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"}" } ] }

Para obter mais informações, consulte Verificar uma atividade de escalabilidade para um grupo de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 2: como descrever as ações de escalabilidade de um grupo excluído

Adicione a opção --include-deleted-groups para descrever as ações de escalabilidade depois que o grupo do Auto Scaling for excluído.

aws autoscaling describe-scaling-activities \ --auto-scaling-group-name my-asg \ --include-deleted-groups

Saída:

{ "Activities": [ { "ActivityId": "e1f5de0e-f93e-1417-34ac-092a76fba220", "Description": "Launching a new EC2 instance. Status Reason: Your Spot request price of 0.001 is lower than the minimum required Spot request fulfillment price of 0.0031. Launching EC2 instance failed.", "AutoScalingGroupName": "my-asg", "Cause": "At 2021-01-13T20:47:24Z a user request update of AutoScalingGroup constraints to min: 1, max: 5, desired: 3 changing the desired capacity from 0 to 3. At 2021-01-13T20:47:27Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 3.", "StartTime": "2021-01-13T20:47:30.094Z", "EndTime": "2021-01-13T20:47:30Z", "StatusCode": "Failed", "StatusMessage": "Your Spot request price of 0.001 is lower than the minimum required Spot request fulfillment price of 0.0031. Launching EC2 instance failed.", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"}", "AutoScalingGroupState": "Deleted", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:283179a2-f3ce-423d-93f6-66bb518232f7:autoScalingGroupName/my-asg" } ] }

Para obter mais informações, consulte Solucionar problemas do Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 3: como descrever um número especificado de ações de escalabilidade

Use a opção --max-items para retornar um número específico de ações.

aws autoscaling describe-scaling-activities \ --max-items 1

Saída:

{ "Activities": [ { "ActivityId": "f9f2d65b-f1f2-43e7-b46d-d86756459699", "Description": "Launching a new EC2 instance: i-0d44425630326060f", "AutoScalingGroupName": "my-asg", "Cause": "At 2020-10-30T19:35:51Z a user request update of AutoScalingGroup constraints to min: 0, max: 16, desired: 16 changing the desired capacity from 0 to 16. At 2020-10-30T19:36:07Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 16.", "StartTime": "2020-10-30T19:36:09.766Z", "EndTime": "2020-10-30T19:36:41Z", "StatusCode": "Successful", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"}" } ] }

Se a saída incluir um campo NextToken, há mais ações. Para obter as ações adicionais, use o valor desse campo com a opção --starting-token em uma chamada subsequente da seguinte maneira.

aws autoscaling describe-scaling-activities \ --starting-token Z3M3LMPEXAMPLE

Para obter mais informações, consulte Verificar uma atividade de escalabilidade para um grupo de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar describe-scaling-process-types.

AWS CLI

Como descrever os tipos de processo disponíveis

Este exemplo descreve os tipos de processo disponíveis.

aws autoscaling describe-scaling-process-types

Saída:

{ "Processes": [ { "ProcessName": "AZRebalance" }, { "ProcessName": "AddToLoadBalancer" }, { "ProcessName": "AlarmNotification" }, { "ProcessName": "HealthCheck" }, { "ProcessName": "InstanceRefresh" }, { "ProcessName": "Launch" }, { "ProcessName": "ReplaceUnhealthy" }, { "ProcessName": "ScheduledActions" }, { "ProcessName": "Terminate" } ] }

Para obter mais informações, consulte Suspensão e retomada dos processos de escalabilidade no Guia do usuário do Amazon EC2Auto Scaling.

O código de exemplo a seguir mostra como usar describe-scheduled-actions.

AWS CLI

Exemplo 1: Como descrever todas as ações programadas.

Este exemplo descreve todas as ações programadas.

aws autoscaling describe-scheduled-actions

Saída:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

Para obter mais informações, consulte Escalabilidade programada no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 2: Como descrever as ações agendadas do grupo especificado

Para descrever as ações programadas para um grupo do Auto Scaling específico, use a opção --auto-scaling-group-name.

aws autoscaling describe-scheduled-actions \ --auto-scaling-group-name my-asg

Saída:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

Para obter mais informações, consulte Escalabilidade programada no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 3: Como descrever a ação programada especificada.

Para descrever uma ação programada específica, use a opção --scheduled-action-names.

aws autoscaling describe-scheduled-actions \ --scheduled-action-names my-recurring-action

Saída:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

Para obter mais informações, consulte Escalabilidade programada no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 4: Como descrever ações programadas com um horário de início especificado.

Para descrever as ações programadas que começam em um horário específico, use a opção --start-time.

aws autoscaling describe-scheduled-actions \ --start-time "2023-12-01T04:00:00Z"

Saída:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

Para obter mais informações, consulte Escalabilidade programada no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 5: Como descrever ações programadas que terminam em um horário especificado.

Para descrever as ações agendadas que terminam em um horário específico, use a opção --end-time .

aws autoscaling describe-scheduled-actions \ --end-time "2023-12-01T04:00:00Z"

Saída:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

Para obter mais informações, consulte Escalabilidade programada no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 6: como descrever um número especificado de ações agendadas

Use a opção --max-items para retornar um número específico de ações agendadas.

aws autoscaling describe-scheduled-actions \ --auto-scaling-group-name my-asg \ --max-items 1

Saída:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

Se a saída incluir um campo NextToken, há mais ações agendadas. Para obter as ações agendadas, use o valor desse campo com a opção --starting-token em uma chamada subsequente da seguinte maneira.

aws autoscaling describe-scheduled-actions \ --auto-scaling-group-name my-asg \ --starting-token Z3M3LMPEXAMPLE

Para obter mais informações, consulte Escalabilidade programada no Guia do usuário do Amazon EC2 Auto Scaling.

O código de exemplo a seguir mostra como usar describe-tags.

AWS CLI

Como descrever todas as tags

Este exemplo descreve todas as tags.

aws autoscaling describe-tags

Saída:

{ "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "Research", "Key": "Dept" }, { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "WebServer", "Key": "Role" } ] }

Para obter mais informações, consulte Como marcar grupos e instâncias do Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 2: Como descrever tags para um grupo especificado.

Use a opção para descrever as tags de um grupo do Auto Scaling específico use a opção --filters.

aws autoscaling describe-tags --filters Name=auto-scaling-group,Values=my-asg

Para obter mais informações, consulte Como marcar grupos e instâncias do Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 3: Para descrever o número específico de tags

Use a opção --max-items para retornar um número específico de tags.

aws autoscaling describe-tags \ --max-items 1

Se a saída incluir um campo NextToken, há mais tags. Para obter os tags adicionais, use o valor desse campo com a opção --starting-token em uma chamada subsequente da seguinte maneira.

aws autoscaling describe-tags \ --filters Name=auto-scaling-group,Values=my-asg \ --starting-token Z3M3LMPEXAMPLE

Para obter mais informações, consulte Como marcar grupos e instâncias do Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

  • Para API obter detalhes, consulte DescribeTagsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar describe-termination-policy-types.

AWS CLI

Como descrever os tipos de políticas de encerramento disponíveis

Este exemplo descreve os tipos de políticas de encerramento disponíveis.

aws autoscaling describe-termination-policy-types

Saída:

{ "TerminationPolicyTypes": [ "AllocationStrategy", "ClosestToNextInstanceHour", "Default", "NewestInstance", "OldestInstance", "OldestLaunchConfiguration", "OldestLaunchTemplate" ] }

Para obter mais informações, consulte Como controlar quais instâncias do Auto Scaling terminam durante a escalabilidade no Guia do usuário do Amazon EC2Auto Scaling.

O código de exemplo a seguir mostra como usar describe-warm-pool.

AWS CLI

Para descrever uma piscina aquecida

Este exemplo descreve a piscina aquecida para o grupo de Auto Scaling especificado.

aws autoscaling describe-warm-pool \ --auto-scaling-group-name my-asg

Saída:

{ "WarmPoolConfiguration": { "MinSize": 2, "PoolState": "Stopped" }, "Instances": [ { "InstanceId": "i-070a5bbc7e7f40dc5", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2c", "LifecycleState": "Warmed:Pending", "HealthStatus": "Healthy", "LaunchTemplate": { "LaunchTemplateId": "lt-00a731f6e9fa48610", "LaunchTemplateName": "my-template-for-auto-scaling", "Version": "6" } }, { "InstanceId": "i-0b52f061814d3bd2d", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2b", "LifecycleState": "Warmed:Pending", "HealthStatus": "Healthy", "LaunchTemplate": { "LaunchTemplateId": "lt-00a731f6e9fa48610", "LaunchTemplateName": "my-template-for-auto-scaling", "Version": "6" } } ] }

Para obter mais informações, consulte Warm Pools for Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

  • Para API obter detalhes, consulte DescribeWarmPoolna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar detach-instances.

AWS CLI

Para desvincular uma instância de um grupo do Auto Scaling existente

Este exemplo desvincula a instância especificada do grupo do Auto Scaling especificado.

aws autoscaling detach-instances \ --instance-ids i-030017cfa84b20135 \ --auto-scaling-group-name my-asg \ --should-decrement-desired-capacity

Saída:

{ "Activities": [ { "ActivityId": "5091cb52-547a-47ce-a236-c9ccbc2cb2c9", "AutoScalingGroupName": "my-asg", "Description": "Detaching EC2 instance: i-030017cfa84b20135", "Cause": "At 2020-10-31T17:35:04Z instance i-030017cfa84b20135 was detached in response to a user request, shrinking the capacity from 2 to 1.", "StartTime": "2020-04-12T15:02:16.179Z", "StatusCode": "InProgress", "Progress": 50, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }
  • Para API obter detalhes, consulte DetachInstancesna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar detach-load-balancer-target-groups.

AWS CLI

Para separar um grupo-alvo do balanceador de carga de um grupo do Auto Scaling

Este exemplo separa o grupo-alvo do balanceador de carga especificado do grupo de Auto Scaling especificado.

aws autoscaling detach-load-balancer-target-groups \ --auto-scaling-group-name my-asg \ --target-group-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

Esse comando não produz nenhuma saída

Para obter mais informações, consulte Como anexar um balanceador de carga ao seu grupo de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar detach-load-balancers.

AWS CLI

Como desvincula um Classic Load Balancer de um grupo do Auto Scaling

Este exemplo desvincula o Classic Load Balancer especificado do grupo do Auto Scaling especificado.

aws autoscaling detach-load-balancers \ --load-balancer-names my-load-balancer \ --auto-scaling-group-name my-asg

Este comando não produz saída.

Para obter mais informações, consulte Como anexar um balanceador de carga ao seu grupo de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar disable-metrics-collection.

AWS CLI

Como desabilitar a coleta de métricas de um grupo do Auto Scaling

Este exemplo desativa a coleta da métrica GroupDesiredCapacity do grupo do Auto Scaling especificado.

aws autoscaling disable-metrics-collection \ --auto-scaling-group-name my-asg \ --metrics GroupDesiredCapacity

Este comando não produz saída.

Para obter mais informações, consulte CloudWatch Métricas de monitoramento para seus grupos e instâncias do Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar enable-metrics-collection.

AWS CLI

Exemplo 1: como habilitar a coleta de métricas do grupo do Auto Scaling

Este exemplo habilita a coleta de dados do grupo do Auto Scaling especificado.

aws autoscaling enable-metrics-collection \ --auto-scaling-group-name my-asg \ --granularity "1Minute"

Este comando não produz saída.

Para obter mais informações, consulte CloudWatch Métricas de monitoramento para seus grupos e instâncias do Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 2: como coletar dados da métrica especificada de um grupo de Auto Scaling

Use a opção --metrics para coletar dados de uma métrica específica.

aws autoscaling enable-metrics-collection \ --auto-scaling-group-name my-asg \ --metrics GroupDesiredCapacity --granularity "1Minute"

Este comando não produz saída.

Para obter mais informações, consulte CloudWatch Métricas de monitoramento para seus grupos e instâncias do Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar enter-standby.

AWS CLI

Como colocar instâncias no modo de espera

Este exemplo coloca a instância especificada no modo de espera. Isso é útil para atualizar ou solucionar problemas de uma instância que está atualmente em serviço.

aws autoscaling enter-standby \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg \ --should-decrement-desired-capacity

Saída:

{ "Activities": [ { "ActivityId": "ffa056b4-6ed3-41ba-ae7c-249dfae6eba1", "AutoScalingGroupName": "my-asg", "Description": "Moving EC2 instance to Standby: i-061c63c5eb45f0416", "Cause": "At 2020-10-31T20:31:00Z instance i-061c63c5eb45f0416 was moved to standby in response to a user request, shrinking the capacity from 1 to 0.", "StartTime": "2020-10-31T20:31:00.949Z", "StatusCode": "InProgress", "Progress": 50, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

Para obter mais informações, consulte o ciclo de vida da instância do Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto Scaling. EC2

  • Para API obter detalhes, consulte EnterStandbyna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar execute-policy.

AWS CLI

Como executar uma política de escalabilidade

Este exemplo executa a política de escalabilidade chamada my-step-scale-out-policy para o grupo do Auto Scaling especificado.

aws autoscaling execute-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-out-policy \ --metric-value 95 \ --breach-threshold 80

Este comando não produz saída.

Para obter mais informações, consulte Políticas de escalabilidade simples e por etapas no Guia do usuário do Amazon EC2 Auto Scaling.

  • Para API obter detalhes, consulte ExecutePolicyna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar exit-standby.

AWS CLI

Como tirar instâncias do modo de espera

Move the specified instances out of standby mode.

aws autoscaling exit-standby \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg

Saída:

{ "Activities": [ { "ActivityId": "142928e1-a2dc-453a-9b24-b85ad6735928", "AutoScalingGroupName": "my-asg", "Description": "Moving EC2 instance out of Standby: i-061c63c5eb45f0416", "Cause": "At 2020-10-31T20:32:50Z instance i-061c63c5eb45f0416 was moved out of standby in response to a user request, increasing the capacity from 0 to 1.", "StartTime": "2020-10-31T20:32:50.222Z", "StatusCode": "PreInService", "Progress": 30, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

Para obter mais informações, consulte Remoção temporária de instâncias do seu grupo de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

  • Para API obter detalhes, consulte ExitStandbyna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar put-lifecycle-hook.

AWS CLI

Exemplo 1: Como criar um hook do ciclo de vida

Este exemplo cria um hook do ciclo de vida que será invocado em qualquer instância recém-iniciada, com um tempo limite de 4800 segundos. Isso é útil para manter as instâncias em um estado de espera até que os scripts de dados do usuário terminem ou para invocar uma função AWS Lambda usando. EventBridge

aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name my-asg \ --lifecycle-hook-name my-launch-hook \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING \ --heartbeat-timeout 4800

Este comando não produz saída. Se já existir um hook do ciclo de vida com o mesmo nome, ele será substituído pelo novo hook do ciclo de vida.

Para obter mais informações, consulte os ganchos do ciclo de vida do Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 2: Enviar uma mensagem de SNS e-mail da Amazon para notificá-lo sobre as transições de estado da instância

Este exemplo cria um gancho de ciclo de vida com o SNS tópico e a IAM função da Amazon para usar para receber notificações na inicialização da instância.

aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name my-asg \ --lifecycle-hook-name my-launch-hook \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING \ --notification-target-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic \ --role-arn arn:aws:iam::123456789012:role/my-auto-scaling-role

Este comando não produz saída.

Para obter mais informações, consulte os ganchos do ciclo de vida do Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 3: Para publicar uma mensagem em uma SQS fila da Amazon

Este exemplo cria um gancho de ciclo de vida que publica uma mensagem com metadados na fila especificada da Amazon. SQS

aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name my-asg \ --lifecycle-hook-name my-launch-hook \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING \ --notification-target-arn arn:aws:sqs:us-west-2:123456789012:my-sqs-queue \ --role-arn arn:aws:iam::123456789012:role/my-notification-role \ --notification-metadata "SQS message metadata"

Este comando não produz saída.

Para obter mais informações, consulte os ganchos do ciclo de vida do Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

  • Para API obter detalhes, consulte PutLifecycleHookna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar put-notification-configuration.

AWS CLI

Para adicionar uma nova notificação

Este exemplo adiciona o grupo de destino especificado ao grupo do Auto Scaling especificado.

aws autoscaling put-notification-configuration \ --auto-scaling-group-name my-asg \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic \ --notification-type autoscaling:TEST_NOTIFICATION

Este comando não produz saída.

Para obter mais informações, consulte Receber SNS notificações da Amazon quando seu grupo de Auto Scaling aumenta no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar put-scaling-policy.

AWS CLI

Para adicionar uma política de escalonamento de acompanhamento de alvo a um grupo de Auto Scaling

O exemplo de put-scaling-policy a seguir aplica uma política de escalabilidade de monitoramento de destino ao grupo do Auto Scaling especificado. A saída contém os nomes ARNs e dos dois CloudWatch alarmes criados em seu nome. Se já existir uma política de escalonamento com o mesmo nome, ela será substituída pela nova política de escalonamento.

aws autoscaling put-scaling-policy --auto-scaling-group-name my-asg \ --policy-name alb1000-target-tracking-scaling-policy \ --policy-type TargetTrackingScaling \ --target-tracking-configuration file://config.json

Conteúdo de config.json:

{ "TargetValue": 1000.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff" } }

Saída:

{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:228f02c2-c665-4bfd-aaac-8b04080bea3c:autoScalingGroupName/my-asg:policyName/alb1000-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e", "AlarmName": "TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e" }, { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2", "AlarmName": "TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2" } ] }

Para obter mais exemplos, consulte Exemplos de políticas de escalabilidade para a interface de linha de AWS comando (AWS CLI) no Guia do usuário do Amazon EC2 Auto Scaling.

  • Para API obter detalhes, consulte PutScalingPolicyna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar put-scheduled-update-group-action.

AWS CLI

Exemplo 1: Para adicionar uma ação programada a um grupo do Auto Scaling

Este exemplo adiciona a ação agendada especificada ao grupo do Auto Scaling especificado.

aws autoscaling put-scheduled-update-group-action \ --auto-scaling-group-name my-asg \ --scheduled-action-name my-scheduled-action \ --start-time "2023-05-12T08:00:00Z" \ --min-size 2 \ --max-size 6 \ --desired-capacity 4

Este comando não produz saída. Se já existir uma ação agendada com o mesmo nome, ela será substituída pela nova ação agendada.

Para obter mais exemplos, consulte Escalabilidade programada no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 2: Como especificar uma programação recorrente.

Este exemplo cria uma ação programada para escalar em uma programação recorrente que está programada para ser executada às 00:30 horas nos primeiros dias de janeiro, junho e dezembro de cada ano.

aws autoscaling put-scheduled-update-group-action \ --auto-scaling-group-name my-asg \ --scheduled-action-name my-recurring-action \ --recurrence "30 0 1 1,6,12 *" \ --min-size 2 \ --max-size 6 \ --desired-capacity 4

Este comando não produz saída. Se já existir uma ação agendada com o mesmo nome, ela será substituída pela nova ação agendada.

Para obter mais exemplos, consulte Escalabilidade programada no Guia do usuário do Amazon EC2 Auto Scaling.

O código de exemplo a seguir mostra como usar put-warm-pool.

AWS CLI

Para criar uma piscina aquecida

O exemplo a seguir cria uma piscina aquecida para o grupo de Auto Scaling especificado.

aws autoscaling put-warm-pool \ --auto-scaling-group-name my-asg \ --min-size 2

Este comando não produz saída. Se já existir uma piscina aquecida, ela será atualizada.

Para obter mais informações, consulte Warm Pools for Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

  • Para API obter detalhes, consulte PutWarmPoolna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar record-lifecycle-action-heartbeat.

AWS CLI

Como registrar a pulsação de uma ação do ciclo de vida

Este exemplo registra uma pulsação da ação do ciclo de vida para manter a instância em um estado pendente.

aws autoscaling record-lifecycle-action-heartbeat \ --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg \ --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

Este comando não produz saída.

Para obter mais informações, consulte os ganchos do ciclo de vida do Amazon EC2 Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

O código de exemplo a seguir mostra como usar resume-processes.

AWS CLI

Para retomar um processo suspenso

Este exemplo retoma o processo de escalabilidade suspenso especificado para o grupo do Auto Scaling especificado.

aws autoscaling resume-processes \ --auto-scaling-group-name my-asg \ --scaling-processes AlarmNotification

Este comando não produz saída.

Para obter mais informações, consulte Suspensão e retomada dos processos de escalabilidade no Guia do usuário do Amazon EC2Auto Scaling.

  • Para API obter detalhes, consulte ResumeProcessesna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar rollback-instance-refresh.

AWS CLI

Para reverter uma atualização de instância

O rollback-instance-refresh exemplo a seguir reverte uma atualização de instância em andamento para o grupo de Auto Scaling especificado.

aws autoscaling rollback-instance-refresh \ --auto-scaling-group-name my-asg

Saída:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

Para obter mais informações, consulte Desfazer alterações com uma reversão no Guia do usuário do Amazon EC2Auto Scaling.

O código de exemplo a seguir mostra como usar set-desired-capacity.

AWS CLI

Como definir a capacidade desejada para um grupo do Auto Scaling

Este exemplo define a capacidade desejada para o grupo do Auto Scaling especificado.

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

Esse comando retornará ao prompt, se houver êxito.

O código de exemplo a seguir mostra como usar set-instance-health.

AWS CLI

Para verificar o status de integridade de uma instância

Define o status da integridade da instância especificada. para Unhealthy

aws autoscaling set-instance-health \ --instance-id i-061c63c5eb45f0416 \ --health-status Unhealthy

Este comando não produz saída.

  • Para API obter detalhes, consulte SetInstanceHealthna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar set-instance-protection.

AWS CLI

Exemplo 1: Para alterar a configuração de proteção de instância para uma instância

Este exemplo habilita a proteção de instância na a instância especificada.

aws autoscaling set-instance-protection \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg --protected-from-scale-in

Este comando não produz saída.

Exemplo 2: Para alterar a configuração de proteção de instância para uma instância

Este exemplo desabilita a proteção de instância na instância especificada.

aws autoscaling set-instance-protection \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg \ --no-protected-from-scale-in

Este comando não produz saída.

O código de exemplo a seguir mostra como usar start-instance-refresh.

AWS CLI

Exemplo 1: para iniciar uma atualização de instância usando parâmetros da linha de comando

O start-instance-refresh exemplo a seguir inicia uma atualização da instância usando argumentos de linha de comando. O preferences parâmetro opcional especifica um InstanceWarmup de 60 segundos e um MinHealthyPercentage de 50 porcentagem.

aws autoscaling start-instance-refresh \ --auto-scaling-group-name my-asg \ --preferences '{"InstanceWarmup": 60, "MinHealthyPercentage": 50}'

Saída:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

Para obter mais informações, consulte Iniciar uma atualização de instância no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 2: para iniciar uma atualização de instância usando um arquivo JSON

O start-instance-refresh exemplo a seguir inicia uma atualização de instância usando um JSON arquivo. Você pode especificar o grupo Auto Scaling e definir a configuração e as preferências desejadas em um JSON arquivo, conforme mostrado no exemplo a seguir.

aws autoscaling start-instance-refresh \ --cli-input-json file://config.json

Conteúdo de config.json:

{ "AutoScalingGroupName": "my-asg", "DesiredConfiguration": { "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b729example", "Version": "$Default" } }, "Preferences": { "InstanceWarmup": 60, "MinHealthyPercentage": 50, "AutoRollback": true, "ScaleInProtectedInstances": Ignore, "StandbyInstances": Terminate } }

Saída:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

Para obter mais informações, consulte Iniciar uma atualização de instância no Guia do usuário do Amazon EC2 Auto Scaling.

O código de exemplo a seguir mostra como usar suspend-processes.

AWS CLI

Como suspender os processos do Auto Scaling

Este exemplo suspende o processo de escalabilidade especificado para o grupo do Auto Scaling especificado.

aws autoscaling suspend-processes \ --auto-scaling-group-name my-asg \ --scaling-processes AlarmNotification

Este comando não produz saída.

Para obter mais informações, consulte Suspensão e retomada dos processos de escalabilidade no Guia do usuário do Amazon EC2Auto Scaling.

  • Para API obter detalhes, consulte SuspendProcessesna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar terminate-instance-in-auto-scaling-group.

AWS CLI

Como encerrar uma instância em um grupo do Auto Scaling

Este exemplo encerra a instância especificada do grupo do Auto Scaling especificado sem atualizar o tamanho do grupo. O Amazon EC2 Auto Scaling inicia uma instância substituta após o término da instância especificada.

aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-id i-061c63c5eb45f0416 \ --no-should-decrement-desired-capacity

Saída:

{ "Activities": [ { "ActivityId": "8c35d601-793c-400c-fcd0-f64a27530df7", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-061c63c5eb45f0416", "Cause": "", "StartTime": "2020-10-31T20:34:25.680Z", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

O código de exemplo a seguir mostra como usar update-auto-scaling-group.

AWS CLI

Exemplo 1: como atualizar os limites de tamanho de um grupo do Auto Scaling

Este exemplo atualiza o grupo do Auto Scaling especificado com um tamanho mínimo de 2 e máximo de 10.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --min-size 2 \ --max-size 10

Este comando não produz saída.

Para obter mais informações, consulte Definindo limites de capacidade para seu grupo de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 2: como adicionar verificações de integridade do Elastic Load Balancing e especificar quais zonas de disponibilidade e sub-redes usar

Este exemplo atualiza o grupo do Auto Scaling especificado para adicionar verificações de integridade do Elastic Load Balancing. Esse comando também atualiza o valor de --vpc-zone-identifier com uma lista de sub-redes IDs em várias zonas de disponibilidade.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --health-check-type ELB \ --health-check-grace-period 600 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

Este comando não produz saída.

Para obter mais informações, consulte Elastic Load Balancing e Amazon Auto EC2 Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 3: como atualizar o grupo de posicionamento e a política de encerramento

Este exemplo atualiza o grupo de posicionamento e a política de encerramento que devem ser usados.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --placement-group my-placement-group \ --termination-policies "OldestInstance"

Este comando não produz saída.

Para obter mais informações, consulte Grupos de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.

Exemplo 4: como usar a versão mais recente do modelo de execução

Este exemplo atualiza o grupo do Auto Scaling especificado para que use a versão mais recente do modelo de execução especificado.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-1234567890abcde12,Version='$Latest'

Este comando não produz saída.

Para obter mais informações, consulte Modelos de lançamento no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 5: como usar uma versão específica do modelo de execução

Este exemplo atualiza o grupo do Auto Scaling especificado para que use uma versão específica do modelo de execução em vez da versão mais recente ou padrão.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='2'

Este comando não produz saída.

Para obter mais informações, consulte Modelos de lançamento no Guia do usuário do Amazon EC2 Auto Scaling.

Exemplo 6: como definir uma política de instâncias mistas e habilitar o rebalanceamento de capacidade

Este exemplo atualiza o grupo do Auto Scaling especificado para que use uma política de instâncias mistas e permita o rebalanceamento de capacidade. Essa estrutura permite especificar grupos com capacidades spot e sob demanda e usar modelos de execução diferentes para arquiteturas diferentes.

aws autoscaling update-auto-scaling-group \ --cli-input-json file://~/config.json

Conteúdo de config.json:

{ "AutoScalingGroupName": "my-asg", "CapacityRebalance": true, "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-x86", "Version": "$Latest" }, "Overrides": [ { "InstanceType": "c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType": "c5.large" }, { "InstanceType": "c5a.large" } ] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity": 50, "SpotAllocationStrategy": "capacity-optimized" } } }

Este comando não produz saída.

Para obter mais informações, consulte Grupos de Auto Scaling com vários tipos de instância e opções de compra no Guia do usuário do Amazon Auto EC2 Scaling.