Tutorial: Criar um Application Load Balancer usando aAWS 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 aAWS CLI

Este tutorial fornece uma introdução prática aos Application Load Balancers por meio daAWS CLI.

Antes de começar

  • Use o comando a seguir para verificar se você está executando uma versão daAWS CLICompatí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, consulteInstalar oAWS Command Line InterfacenoAWS Command Line InterfaceGuia do usuário do.

  • 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 obter 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 os clientes se comuniquem com o load balancer usando apenas endereços IPv4. Use dualstack se quiser que os clientes se comuniquem com o load balancer usando endereços IPv4 e IPv6. Você também pode usar dualstack para se comunicar com destinos de back-end, como aplicativos 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 comando create-load-balancer para criar um load balancer. 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

    Usar acreate-load-balancerComando para criar umdualstackLoad balancer do.

    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. Usar acriar-alvo grupo-alvoPara criar um grupo de destino, especificando a mesma VPC usada para suas instâncias EC2.

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

    Os grupos de destino IPv4 suportam destinos de tipo IP e instância. Os destinos IPv6 suportam apenas destinos IP.

    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 do destinos registrados para o seu grupo de destino usando este comando describe-target-health:

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

Adicionar um listener 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:

  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 comando create-target-group para criar um grupo de destino:

    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