Tutorial: criar um Application Load Balancer usando a AWS CLI - Elastic Load Balancing

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

Tutorial: criar um Application Load Balancer usando a AWS CLI

Este tutorial fornece uma introdução prática a Application Load Balancers por meio da AWS CLI.

Antes de começar

  • Use o comando a seguir para verificar se você está executando uma versão da AWS CLI compatível com Application Load Balancers.

    aws elbv2 help

    Se você receber uma mensagem de erro de que o elbv2 não é uma opção válida, atualize sua AWS CLI. Para obter mais informações, consulte Instalar a AWS Command Line Interface no Guia do usuário da AWS Command Line Interface.

  • Inicie suas instâncias EC2 em uma Virtual Private Cloud (VPC). Certifique-se de que os security groups dessas instâncias permitam acesso na porta do listener e na porta de verificação de integridade. Para ter mais informações, consulte Grupos de segurança de destino.

  • Decida se você criará um balanceador de carga IPv4 ou dualstack. Use IPv4 se quiser que seus clientes se comuniquem com o balanceador de carga usando somente endereços IPv4. Use dualstack se você quiser que seus clientes se comuniquem com o balanceador de carga usando endereços IPv4 e IPv6. Você também pode usar dualstack para se comunicar com destinos de back-end, como aplicações IPv6 ou sub-redes dualstack, usando IPv6.

Criar um load balancer

Para criar seu primeiro load balancer, conclua as etapas a seguir.

Para criar um load balancer
  1. Use o create-load-balancercomando para criar um balanceador de carga. Você deve especificar duas sub-redes que não estejam na mesma Zona de disponibilidade.

    aws elbv2 create-load-balancer --name my-load-balancer \ --subnets subnet-0e3f5cac72EXAMPLE subnet-081ec835f3EXAMPLE --security-groups sg-07e8ffd50fEXAMPLE

    Use o create-load-balancercomando para criar um dualstack balanceador de carga.

    aws elbv2 create-load-balancer --name my-load-balancer \ --subnets subnet-0e3f5cac72EXAMPLE subnet-081ec835f3EXAMPLE --security-groups sg-07e8ffd50fEXAMPLE --ip-address-type dualstack

    O resultado inclui o Nome de recurso da Amazon (ARN) do load balancer, com o seguinte formato:

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/my-load-balancer/1234567890123456
  2. Use o create-target-groupcomando para criar um grupo-alvo, especificando a mesma VPC que você usou para suas instâncias do EC2.

    Você pode criar grupos de destino IPv4 e IPv6 para associá-los a balanceadores de carga dualstack. O tipo de endereço IP do grupo de destino determina a versão do IP que o balanceador de carga usará para se comunicar e verificar a integridade dos destinos de back-end.

    aws elbv2 create-target-group --name my-targets --protocol HTTP --port 80 \ --vpc-id vpc-0598c7d356EXAMPLE --ip-address-type [ipv4 or ipv6]

    A saída inclui o ARN do grupo de destino, com este formato:

    arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/1234567890123456
  3. Use o comando register-targets para registrar suas instâncias com o grupo de destino:

    aws elbv2 register-targets --target-group-arn targetgroup-arn \ --targets Id=i-0abcdef1234567890 Id=i-1234567890abcdef0
  4. Use o comando create-listener para criar um listener para seu load balancer com uma regra padrão que encaminha solicitações ao seu grupo de destino:

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn \ --protocol HTTP --port 80 \ --default-actions Type=forward,TargetGroupArn=targetgroup-arn

    A saída contém o ARN do listener, com o seguinte formato:

    arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/app/my-load-balancer/1234567890123456/1234567890123456
  5. (Opcional) Você pode verificar a integridade dos alvos registrados para seu grupo-alvo usando este describe-target-healthcomando:

    aws elbv2 describe-target-health --target-group-arn targetgroup-arn

Adicionar um receptor HTTPS

Se você tiver um load balancer com um listener HTTP, pode adicionar um listener HTTPS como a seguir.

Para adicionar um listener HTTPS ao seu load balancer
  1. Crie um certificado SSL para uso com o seu load balancer usando um dos seguintes métodos:

    • Crie ou importe o certificado usando o AWS Certificate Manager (ACM). Para obter mais informações, consulte Solicitar um certificado ou Importar certificados no Guia do usuário do AWS Certificate Manager.

    • Carregar o certificado usando o AWS Identity and Access Management (IAM). Para obter mais informações, consulte Working with server certificates (Trabalho com certificados do servidor) no Guia de usuário do IAM.

  2. Use o comando create-listener para criar o listener com uma regra padrão que encaminha solicitações para seu grupo de destino. Você deve especificar um certificado SSL ao criar um listener HTTPS. Observe que você pode especificar uma política SSL diferente da padrão usando a opção --ssl-policy.

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn \ --protocol HTTPS --port 443 \ --certificates CertificateArn=certificate-arn \ --default-actions Type=forward,TargetGroupArn=targetgroup-arn

Adicionar roteamento baseado em caminho

Se você tiver um listener com uma regra padrão que encaminha solicitações a um grupo de destino, pode adicionar uma regra que encaminhe solicitações a outro grupo de destino com base no URL. Por exemplo, você pode rotear solicitações gerais para um grupo de destino e solicitar a exibição de imagens a outro grupo de destino.

Para adicionar uma regra para um listener com um padrão de caminho
  1. Use o create-target-groupcomando para criar um grupo-alvo:

    aws elbv2 create-target-group --name my-targets --protocol HTTP --port 80 \ --vpc-id vpc-0598c7d356EXAMPLE
  2. Use o comando register-targets para registrar suas instâncias com o grupo de destino:

    aws elbv2 register-targets --target-group-arn targetgroup-arn \ --targets Id=i-0abcdef1234567890 Id=i-1234567890abcdef0
  3. Use o comando create-rule para adicionar uma regra para o listener que encaminha solicitações ao grupo de destino se o URL contiver o padrão especificado:

    aws elbv2 create-rule --listener-arn listener-arn --priority 10 \ --conditions Field=path-pattern,Values='/img/*' \ --actions Type=forward,TargetGroupArn=targetgroup-arn

Excluir o load balancer

Quando você não precisar mais de seu load balancer e grupo de destino, pode excluí-los da seguinte forma:

aws elbv2 delete-load-balancer --load-balancer-arn loadbalancer-arn aws elbv2 delete-target-group --target-group-arn targetgroup-arn