Exemplos para trabalhar com o Elastic Load Balancing usando o AWS CLI - Amazon EC2 Auto Scaling

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

Exemplos para trabalhar com o Elastic Load Balancing usando o AWS CLI

Use o AWS Command Line Interface (AWS CLI) para anexar, separar e descrever balanceadores de carga e grupos-alvo, adicionar e remover verificações de saúde do Elastic Load Balancing e alterar quais zonas de disponibilidade estão habilitadas.

Este tópico mostra exemplos de AWS CLI comandos que realizam tarefas comuns para o Amazon EC2 Auto Scaling.

Importante

Para obter exemplos de comandos adicionais, consulte aws elbv2 e aws elb na Referência de comandos AWS CLI .

Anexar seu grupo-alvo ou Classic Load Balancer

Use o create-auto-scaling-groupcomando a seguir para criar um grupo de Auto Scaling e anexar simultaneamente um grupo-alvo especificando seu Amazon Resource Name (). ARN O grupo de destino pode ser associado a um Application Load Balancer, um Network Load Balancer ou um balanceador de carga do Gateway.

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 my-launch-template e 1 pelo nome e versão de um modelo de execução para seu grupo do Auto Scaling. Para a --traffic-sources opção, substitua a amostra ARN pela ARN de um grupo-alvo para um Application Load Balancer, Network Load Balancer ou Gateway Load Balancer.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template,Version='1' \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --min-size 1 --max-size 5 \ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE1"

Use o attach-traffic-sourcescomando para anexar outros grupos-alvo ao grupo Auto Scaling depois que ele for criado.

O comando a seguir adiciona outro grupo-alvo ao mesmo grupo.

aws autoscaling attach-traffic-sources --auto-scaling-group-name my-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 my-classic-load-balancer pelo nome de um Classic Load Balancer. Para a opção,--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-alvo vinculados ao seu grupo de Auto Scaling, use o comando a describe-traffic-sourcesseguir. Substitua my-asg pelo nome do seu grupo.

aws autoscaling describe-traffic-sources --auto-scaling-group-name my-asg

O exemplo retorna os grupos-alvo ARN do Elastic Load Balancing que você anexou ao grupo 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 as verificações de saúde do Elastic Load Balancing às verificações de saúde que seu grupo de Auto Scaling realiza nas instâncias, use o comando a update-auto-scaling-groupseguir e ELB especifique como o valor da opção. --health-check-type Substitua my-asg pelo nome do seu grupo.

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-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 insalubres 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. 300Substitua 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-period 300

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 você deve 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
  1. 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 do seu grupo de Auto Scaling, use o comando a seguir update-auto-scaling-group. Substitua a sub-rede IDs de amostra pela IDs das sub-redes nas zonas de disponibilidade a serem ativadas. As sub-redes especificadas substituem as sub-redes habilitadas anteriormente. Substitua my-asg pelo nome do seu grupo.

    aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --vpc-zone-identifier "subnet-41767929,subnet-cb663da2,subnet-8360a9e7"
  2. Use o describe-auto-scaling-groupscomando a seguir para verificar se as instâncias nas novas sub-redes foram iniciadas. Se as instâncias tiverem sido iniciadas, você verá uma lista das instâncias e seus status. Substitua my-asg pelo nome do seu grupo.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
  3. Use o comando set-subnets a seguir para especificar as sub-redes do seu balanceador de carga. Substitua a sub-rede IDs de amostra pela IDs das sub-redes nas zonas de disponibilidade a serem ativadas. Você pode especificar somente uma sub-rede por Zona de disponibilidade. As sub-redes especificadas substituem as sub-redes habilitadas anteriormente. my-lb-arnSubstitua pelo ARN do seu balanceador de carga.

    aws elbv2 set-subnets --load-balancer-arn my-lb-arn \ --subnets subnet-41767929 subnet-cb663da2 subnet-8360a9e7
Para alterar as zonas de disponibilidade de um Classic Load Balancer
  1. 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 do seu grupo de Auto Scaling, use o comando a seguir update-auto-scaling-group. Substitua a sub-rede IDs de amostra pela IDs das sub-redes nas zonas de disponibilidade a serem ativadas. As sub-redes especificadas substituem as sub-redes habilitadas anteriormente. Substitua my-asg pelo nome do seu grupo.

    aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --vpc-zone-identifier "subnet-41767929,subnet-cb663da2"
  2. Use o describe-auto-scaling-groupscomando a seguir para verificar se as instâncias nas novas sub-redes foram iniciadas. Se as instâncias tiverem sido iniciadas, você verá uma lista das instâncias e seus status. Substitua my-asg pelo nome do seu grupo.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
  3. Use o comando attach-load-balancer-to-subnets a seguir para ativar uma 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 my-lb pelo nome do seu balanceador de carga.

    aws elb attach-load-balancer-to-subnets --load-balancer-name my-lb \ --subnets subnet-cb663da2

    Para desativar uma zona de disponibilidade, use o seguinte comando detach-load-balancer-from-subnets. Substitua o ID de sub-rede de amostra pelo ID da sub-rede para a zona de disponibilidade a ser desabilitada. Substitua my-lb pelo nome do seu balanceador de carga.

    aws elb detach-load-balancer-from-subnets --load-balancer-name my-lb \ --subnets subnet-8360a9e7

Desvincular seu grupo-alvo ou Classic Load Balancer

O detach-traffic-sourcescomando a seguir separa um grupo-alvo do seu grupo de Auto Scaling quando você não precisar mais dele.

Para a opção,--auto-scaling-group-name substitua my-asg pelo nome do seu grupo. Para a --traffic-sources opção, substitua a amostra ARN pela ARN de um grupo-alvo para um Application Load Balancer, Network Load Balancer ou Gateway Load Balancer.

aws autoscaling detach-traffic-sources --auto-scaling-group-name my-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 my-classic-load-balancer pelo nome de um Classic Load Balancer. Para a opção,--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 saúde do Elastic Load Balancing do seu grupo de Auto Scaling, use o comando a update-auto-scaling-groupseguir e EC2 especifique como o valor da opção. --health-check-type Substitua my-asg pelo nome do seu grupo.

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-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 CLI comandos legados para anexar, separar e descrever balanceadores de carga e grupos-alvo. Eles permanecem neste documento como referência para todos os clientes que desejam usá-los. Continuamos oferecendo suporte aos CLI comandos antigos, mas recomendamos que você use os novos CLI comandos “fontes de tráfego”, que podem anexar e separar vários tipos de fontes de tráfego. Você pode usar os CLI comandos legados e os comandos “fontes de tráfego” CLI no mesmo grupo do Auto Scaling.

Para anexar um grupo de destino

O create-auto-scaling-groupcomando a seguir cria um grupo de Auto Scaling com um grupo-alvo anexado. Especifique o Amazon Resource Name (ARN) de um grupo-alvo para um Application Load Balancer, Network Load Balancer ou Gateway Load Balancer.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-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-size 1 --max-size 5

O comando attach-load-balancer-target-groups a seguir anexa um grupo-alvo a um grupo existente do Auto Scaling.

aws autoscaling attach-load-balancer-target-groups --auto-scaling-group-name my-asg \ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456"
Para anexar seu Classic Load Balancer

O create-auto-scaling-groupcomando a seguir cria um grupo de Auto Scaling com um Classic Load Balancer anexado.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-configuration-name my-launch-config \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --load-balancer-names "my-load-balancer" \ --min-size 1 --max-size 5

O attach-load-balancerscomando a seguir anexa o Classic Load Balancer especificado a um grupo de Auto Scaling existente.

aws autoscaling attach-load-balancers --auto-scaling-group-name my-asg \ --load-balancer-names my-lb
Para descrever grupos de destino

Para descrever os grupos-alvo associados a um grupo do Auto Scaling, use o comando describe-load-balancer-target-groups. O exemplo a seguir lista os grupos-alvo domy-asg.

aws autoscaling describe-load-balancer-target-groups --auto-scaling-group-name my-asg
Descrever Classic Load Balancers

Para descrever os Classic Load Balancers associados a um grupo de Auto Scaling, use o describe-load-balancerscomando. O exemplo a seguir lista os balanceadores de carga clássicos paramy-asg.

aws autoscaling describe-load-balancers --auto-scaling-group-name my-asg
Para desanexar um grupo de destino

O comando detach-load-balancer-target-groups a seguir separa um grupo-alvo do seu grupo de Auto Scaling quando você não precisar mais dele.

aws autoscaling detach-load-balancer-target-groups --auto-scaling-group-name my-asg \ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456"
Desvincular um Classic Load Balancer

O detach-load-balancerscomando a seguir separa um Classic Load Balancer do seu grupo de Auto Scaling quando você não precisar mais dele.

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