Exemplos para trabalhar com Elastic Load Balancing com a AWS CLI
Use a AWS Command Line Interface (AWS CLI) para anexar, desvincular e descrever balanceadores de carga, adicionar e remover verificações de integridade do Elastic Load Balancing e alterar as zonas de disponibilidade que estão habilitadas.
Este tópico mostra exemplos de comandos da AWS CLI que executam tarefas comuns para o Amazon EC2 Auto Scaling.
Importante
Conteúdo
Anexar seu grupo-alvo ou Classic Load Balancer
Use o seguinte comando create-auto-scaling-group
Substitua os valores de amostra por,--auto-scaling-group-name,--vpc-zone-identifier --min-size e --max-size. Para a opção,--launch-template substitua e my-launch-template pelo nome e versão de um modelo de execução para seu grupo do Auto Scaling. Para a opção,1--traffic-sources substitua o ARN de amostra pelo ARN de um grupo de destino para um Application Load Balancer, Network Load Balancer ou balanceador de carga de gateway.
aws autoscaling create-auto-scaling-group --auto-scaling-group-namemy-asg\ --launch-template LaunchTemplateName=my-launch-template,Version='1' \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --min-size1--max-size5\ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE1"
Use o comando attach-traffic-sources
O comando a seguir adiciona outro grupo-alvo ao mesmo grupo.
aws autoscaling attach-traffic-sources --auto-scaling-group-namemy-asg\ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE2"
Como alternativa, para anexar um Classic Load Balancer ao seu grupo, especifique as opções --traffic-sources e --type ao usar create-auto-scaling-group ou,attach-traffic-sources como no exemplo a seguir. Substitua pelo nome de um Classic Load Balancer. Para a opção,my-classic-load-balancer--type especifique um valor de .elb
--traffic-sources "Identifier=my-classic-load-balancer" --type elb
Descreva seus grupos de destino ou Classic Load Balancers
Para descrever os balanceadores de carga ou os grupos de destino vinculados ao seu grupo do Auto Scaling, use o comando describe-traffic-sources pelo nome do seu grupo. my-asg
aws autoscaling describe-traffic-sources --auto-scaling-group-namemy-asg
O exemplo retorna o ARN dos grupos de destino do Elastic Load Balancing que você anexou ao grupo do Auto Scaling.
{
"TrafficSources": [
{
"Identifier": "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE1",
"State": "InService",
"Type": "elbv2"
},
{
"Identifier": "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE2",
"State": "InService",
"Type": "elbv2"
}
]
}
Para ver uma explicação do campo State na saída, consulte Verificar o status do anexo de seu balanceador de carga.
Adicionar verificações de integridade do Elastic Load Balancing
Para adicionar verificações de integridade do Elastic Load Balancing que seu grupo do Auto Scaling executa nas instâncias, use o comando update-auto-scaling-group como o valor para a opçãoELB--health-check-type. Substitua pelo nome do seu grupo.my-asg
aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --health-check-type "ELB"
As novas instâncias geralmente precisam de tempo para um breve aquecimento antes de passarem por uma verificação de integridade. Se o período de carência não proporcionar tempo de aquecimento suficiente, as instâncias poderão não parecer prontas para servir tráfego. O Amazon EC2 Auto Scaling pode considerar essas instâncias não íntegras e substituí-las.
Para atualizar o período de carência da verificação de integridade, use a opção --health-check-grace-period ao usar,update-auto-scaling-group como no exemplo a seguir. Substitua 300 pelo número de segundos para manter as novas instâncias em serviço antes de encerrá-las, caso não estejam íntegras.
--health-check-grace-period300
Para obter mais informações, consulte Verificações de integridade para instâncias em um grupo do Auto Scaling.
Alterar suas zonas de disponibilidade
Alterar suas zonas de disponibilidade apresenta algumas limitações das quais é necessário estar ciente. Para obter mais informações, consulte Adicione uma Zona de disponibilidade.
Para alterar as zonas de disponibilidade de um Application Load Balancer ou Network Load Balancer
-
Antes de alterar as zonas de disponibilidade do balanceador de carga, é uma boa ideia primeiro atualizar as zonas de disponibilidade do grupo do Auto Scaling para verificar se há disponibilidade para seus tipos de instância nas zonas especificadas.
Para atualizar as zonas de disponibilidade para o seu grupo do Auto Scaling, use o comando update-auto-scaling-group
a seguir. Substitua os IDs de sub-rede de amostra pelos IDs das sub-redes nas zonas de disponibilidade para habilitar. As sub-redes especificadas substituem as sub-redes habilitadas anteriormente. Substitua pelo nome do seu grupo.my-asgaws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --vpc-zone-identifier "subnet-41767929,subnet-cb663da2,subnet-8360a9e7" -
Use o seguinte comando describe-auto-scaling-groups
para verificar se as instâncias das novas sub-redes foram executadas. Se as instâncias tiverem sido iniciadas, você verá uma lista das instâncias e seus status. Substitua pelo nome do seu grupo.my-asgaws autoscaling describe-auto-scaling-groups --auto-scaling-group-namemy-asg -
Use o comando set-subnets
a seguir para especificar as sub-redes do seu balanceador de carga. Substitua os IDs de sub-rede de amostra pelos IDs das sub-redes nas zonas de disponibilidade para habilitar. É possível especificar somente uma sub-rede por Zona de disponibilidade. As sub-redes especificadas substituem as sub-redes habilitadas anteriormente. Substitua pelo ARN do seu balanceador de carga.my-lb-arnaws elbv2 set-subnets --load-balancer-arnmy-lb-arn\ --subnetssubnet-41767929subnet-cb663da2subnet-8360a9e7
Para alterar as zonas de disponibilidade de um Classic Load Balancer
-
Antes de alterar as zonas de disponibilidade do balanceador de carga, é uma boa ideia primeiro atualizar as zonas de disponibilidade do grupo do Auto Scaling para verificar se há disponibilidade para seus tipos de instância nas zonas especificadas.
Para atualizar as zonas de disponibilidade para o seu grupo do Auto Scaling, use o comando update-auto-scaling-group
a seguir. Substitua os IDs de sub-rede de amostra pelos IDs das sub-redes nas zonas de disponibilidade para habilitar. As sub-redes especificadas substituem as sub-redes habilitadas anteriormente. Substitua pelo nome do seu grupo.my-asgaws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --vpc-zone-identifier "subnet-41767929,subnet-cb663da2" -
Use o seguinte comando describe-auto-scaling-groups
para verificar se as instâncias das novas sub-redes foram executadas. Se as instâncias tiverem sido iniciadas, você verá uma lista das instâncias e seus status. Substitua pelo nome do seu grupo.my-asgaws autoscaling describe-auto-scaling-groups --auto-scaling-group-namemy-asg -
Use o comando attach-load-balancer-to-subnets
a seguir para habilitar a nova zona de disponibilidade para seu Classic Load Balancer. Substitua o ID de sub-rede de amostra pelo ID da sub-rede para habilitar a zona de disponibilidade. Substitua pelo nome do seu balanceador de carga.my-lbaws elb attach-load-balancer-to-subnets --load-balancer-namemy-lb\ --subnetssubnet-cb663da2Para desabilitar uma zona de disponibilidade, use o comando detach-load-balancer-from-subnets
a seguir. Substitua o ID de sub-rede de amostra pelo ID da sub-rede para a zona de disponibilidade a ser desabilitada. Substitua pelo nome do seu balanceador de carga.my-lbaws elb detach-load-balancer-from-subnets --load-balancer-namemy-lb\ --subnetssubnet-8360a9e7
Desvincular seu grupo-alvo ou Classic Load Balancer
O comando detach-traffic-sources
Para a opção,--auto-scaling-group-name substitua pelo nome do seu grupo. Para a opção,my-asg--traffic-sources substitua o ARN de amostra pelo ARN de um grupo de destino para um Application Load Balancer, Network Load Balancer ou balanceador de carga de gateway.
aws autoscaling detach-traffic-sources --auto-scaling-group-namemy-asg\ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456"
Para desvincular um Classic Load Balancer do seu grupo, especifique as opções --traffic-sources e,--type como no exemplo a seguir. Substitua pelo nome de um Classic Load Balancer. Para a opção,my-classic-load-balancer--type especifique um valor de .elb
--traffic-sources "Identifier=my-classic-load-balancer" --type elb
Remover as verificações de integridade do Elastic Load Balancing
Para remover as verificações de integridade do Elastic Load Balancing de seu grupo do Auto Scaling, execute o comando update-auto-scaling-group como o valor para a opção EC2--health-check-type. Substitua pelo nome do seu grupo. my-asg
aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --health-check-type "EC2"
Para obter mais informações, consulte Verificações de integridade para instâncias em um grupo do Auto Scaling.
Comandos legados
Os exemplos a seguir mostram como você pode usar comandos legados da CLI para anexar, desvincular e descrever balanceadores de carga e grupos de destino. Eles permanecem neste documento como referência para todos os clientes que desejam usá-los. Continuamos oferecendo suporte aos comandos antigos da CLI, mas recomendamos que você use os novos comandos “fontes de tráfego” da CLI, que podem anexar e desvincular vários tipos de fontes de tráfego. Você pode usar os comandos antigos da CLI e os comandos “fontes de tráfego” da CLI no mesmo grupo do Auto Scaling.
Para anexar um grupo de destino
O comando create-auto-scaling-group
aws autoscaling create-auto-scaling-group --auto-scaling-group-namemy-asg\ --launch-template LaunchTemplateName=my-launch-template,Version='1' \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456" \ --min-size1--max-size5
O comando attach-load-balancer-target-groups
aws autoscaling attach-load-balancer-target-groups --auto-scaling-group-namemy-asg\ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456"
Para anexar seu Classic Load Balancer
O comando create-auto-scaling-group
aws autoscaling create-auto-scaling-group --auto-scaling-group-namemy-asg\ --launch-configuration-namemy-launch-config\ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --load-balancer-names "my-load-balancer" \ --min-size1--max-size5
O comando attach-load-balancers
aws autoscaling attach-load-balancers --auto-scaling-group-namemy-asg\ --load-balancer-namesmy-lb
Para descrever grupos de destino
Para descrever os grupos de destino associados a um grupo do Auto Scaling, use o comando describe-load-balancer-target-groupsmy-asg.
aws autoscaling describe-load-balancer-target-groups --auto-scaling-group-namemy-asg
Descrever Classic Load Balancers
Para visualizar os Classic Load Balancers associados a um grupo do Auto Scaling, use o comando describe-load-balancersmy-asg.
aws autoscaling describe-load-balancers --auto-scaling-group-namemy-asg
Para desanexar um grupo de destino
O comando detach-load-balancer-target-groups
aws autoscaling detach-load-balancer-target-groups --auto-scaling-group-namemy-asg\ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456"
Desvincular um Classic Load Balancer
Use o comando detach-load-balancers
aws autoscaling detach-load-balancers --auto-scaling-group-namemy-asg\ --load-balancer-namesmy-lb