Introdução aos balanceadores de carga do Gateway usando o 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á.

Introdução aos balanceadores de carga do Gateway usando o AWS CLI

Os Gateway Load Balancers facilitam a implementação, a escala e o gerenciamento de dispositivos virtuais de terceiros, como dispositivos de segurança.

Neste tutorial, implementaremos um sistema de inspeção usando um Gateway Load Balancer e um endpoint de Gateway Load Balancer.

Visão geral

Um endpoint do Gateway Load Balancer é um VPC endpoint que fornece conectividade privada entre dispositivos virtuais no provedor VPC de serviços e servidores de aplicativos no consumidor do serviço. VPC O Gateway Load Balancer é implantado da VPC mesma forma que os dispositivos virtuais. Esses dispositivos são registrados como um grupo de destino para o Gateway Load Balancer.

Os servidores de aplicativos são executados em uma sub-rede (sub-rede de destino) no consumidor do serviçoVPC, enquanto o endpoint do Gateway Load Balancer está em outra sub-rede da mesma. VPC Todo o tráfego que entra no consumidor do serviço VPC pelo gateway da Internet é primeiro roteado para o endpoint do Gateway Load Balancer e, em seguida, roteado para a sub-rede de destino.

Da mesma forma, todo o tráfego que sai dos servidores da aplicação (sub-rede de destino) é encaminhado primeiro ao endpoint do Gateway Load Balancer antes de ser encaminhado à Internet. O diagrama de rede a seguir é uma representação visual de como um endpoint do Gateway Load Balancer é usado para acessar um serviço de endpoint.

Usar um endpoint do Gateway Load Balancer para acessar um serviço de endpoint

Os itens numerados a seguir destacam e explicam os elementos mostrados na imagem anterior.

Tráfego da Internet para a aplicação (setas azuis):
  1. O tráfego entra no consumidor do serviço VPC por meio do gateway da Internet.

  2. O tráfego é enviado ao endpoint do Gateway Load Balancer, como resultado de um roteamento de entrada.

  3. O tráfego é enviado ao Gateway Load Balancer, que distribui o tráfego para um dos dispositivos de segurança.

  4. O tráfego é reencaminhado ao endpoint do Gateway Load Balancer após a inspeção pelo dispositivo de segurança.

  5. O tráfego é enviado aos servidores de aplicação (sub-rede de destino).

Tráfego da aplicação para a Internet (setas laranjas):
  1. O tráfego é enviado ao endpoint do Gateway Load Balancer como resultado da rota padrão configurada na sub-rede do servidor de aplicação.

  2. O tráfego é enviado ao Gateway Load Balancer, que distribui o tráfego para um dos dispositivos de segurança.

  3. O tráfego é reencaminhado ao endpoint do Gateway Load Balancer após a inspeção pelo dispositivo de segurança.

  4. O tráfego é enviado ao gateway da Internet com base na configuração da tabela de rotas.

  5. O tráfego é reencaminhado à Internet.

Roteamento

A tabela de rotas do gateway da Internet deve conter entrada que roteia o tráfego destinado aos servidores de aplicações ao endpoint do Gateway Load Balancer. Para especificar o endpoint do Gateway Load Balancer, use o ID do endpoint. VPC O exemplo a seguir mostra as rotas de uma configuração dualstack.

Destination (Destino) Destino
VPC IPv4 CIDR Local
VPC IPv6 CIDR Local
Subnet 1 IPv4 CIDR vpc-endpoint-id
Subnet 1 IPv6 CIDR vpc-endpoint-id

A tabela de rotas para a sub–rede com os servidores de aplicações deve conter entradas que roteiem todo o tráfego dos servidores de aplicações ao endpoint do Gateway Load Balancer.

Destination (Destino) Destino
VPC IPv4 CIDR Local
VPC IPv6 CIDR Local
0.0.0.0/0 vpc-endpoint-id
::/0 vpc-endpoint-id

A tabela de rotas para a sub-rede com o endpoint do Gateway Load Balancer deve rotear o tráfego que retorna da inspeção ao destino final. Para o tráfego proveniente da Internet, a rota local garante que o tráfego chegará aos servidores de aplicações. Para o tráfego proveniente dos servidores de aplicações, adicione entradas que roteiam todo o tráfego ao gateway da Internet.

Destination (Destino) Destino
VPC IPv4 CIDR Local
VPC IPv6 CIDR Local
0.0.0.0/0 internet-gateway-id
::/0 internet-gateway-id

Pré-requisitos

  • Instale o AWS CLI ou atualize para a versão atual do AWS CLI se você estiver usando uma versão que não suporta Gateway Load Balancers. Para obter mais informações, consulte Instalar a AWS Command Line Interface no Guia do usuário da AWS Command Line Interface .

  • Certifique-se de que o consumidor do serviço VPC tenha pelo menos duas sub-redes para cada zona de disponibilidade que contém servidores de aplicativos. Uma sub-rede é destinada aos servidores da aplicação, e a outra é destinada ao endpoint do Gateway Load Balancer.

  • Certifique-se de que o provedor de serviços VPC tenha pelo menos duas sub-redes para cada zona de disponibilidade que contenha instâncias do Security Appliance. Uma sub-rede é destinada às instâncias, e a outra é destinada ao Gateway Load Balancer.

  • Inicie pelo menos uma instância do Security Appliance em cada sub-rede do Security Appliance no provedor de serviços. VPC Os grupos de segurança dessas instâncias devem permitir o UDP tráfego na porta 6081.

Etapa 1: Criar um Gateway Load Balancer e registrar destinos

Use o procedimento a seguir para criar seu balanceador de carga, receptor e grupos de destino e para registrar suas instâncias do dispositivo de segurança como destinos.

Para criar um Gateway Load Balancer e registrar destinos
  1. Use o create-load-balancercomando para criar um balanceador de carga do tipogateway. Você pode especificar uma sub-rede para cada zona de disponibilidade na qual lançou instâncias do dispositivo de segurança.

    aws elbv2 create-load-balancer --name my-load-balancer --type gateway --subnets provider-subnet-id

    O padrão é oferecer suporte somente a IPv4 endereços. Para oferecer suporte a ambos IPv4 e IPv6 endereços, adicione a --ip-address-type dualstack opção.

    A saída inclui o Amazon Resource Name (ARN) do balanceador de carga, com o formato mostrado no exemplo a seguir.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/gwy/my-load-balancer/1234567890123456
  2. Use o create-target-groupcomando para criar um grupo-alvo, especificando o provedor de serviços VPC no qual você lançou suas instâncias.

    aws elbv2 create-target-group --name my-targets --protocol GENEVE --port 6081 --vpc-id provider-vpc-id

    A saída inclui o ARN do grupo-alvo, com o seguinte formato.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/0123456789012345
  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-1234567890abcdef0 Id=i-0abcdef1234567890
  4. Use o comando create-listener para criar um receptor para seu balanceador de carga com uma regra padrão que encaminha solicitações ao seu grupo de destino.

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn --default-actions Type=forward,TargetGroupArn=targetgroup-arn

    A saída contém o ARN do ouvinte, com o formato a seguir.

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

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

Etapa 2: Criar um endpoint do Gateway Load Balancer

Use o seguinte procedimento para criar um endpoint do Gateway Load Balancer. Endpoints do Gateway Load Balancer são zonais. Recomendamos que você crie um endpoint do Gateway Load Balancer por zona. Para obter mais informações, consulte Acessar dispositivos virtuais por meio de AWS PrivateLink.

Para criar um endpoint do Gateway Load Balancer
  1. Use o comando create-vpc-endpoint-service-configuration para criar uma configuração de serviço de endpoint usando seu Gateway Load Balancer.

    aws ec2 create-vpc-endpoint-service-configuration --gateway-load-balancer-arns loadbalancer-arn --no-acceptance-required

    Para oferecer suporte a ambos IPv4 e IPv6 endereços, adicione a --supported-ip-address-types ipv4 ipv6 opção.

    A saída contém o ID do serviço (por exemplo, vpce-svc-12345678901234567) e o nome do serviço (por exemplo, com.amazonaws.vpce.us-east-2.vpce-svc-12345678901234567).

  2. Use o comando modify-vpc-endpoint-service-permissions para permitir que os consumidores de serviços criem um endpoint para seu serviço. Um consumidor de serviços pode ser um usuário, uma IAM função ou Conta da AWS. O exemplo a seguir adiciona permissão para o especificado Conta da AWS.

    aws ec2 modify-vpc-endpoint-service-permissions --service-id vpce-svc-12345678901234567 --add-allowed-principals arn:aws:iam::123456789012:root
  3. Use o create-vpc-endpointcomando para criar o endpoint do Gateway Load Balancer para seu serviço.

    aws ec2 create-vpc-endpoint --vpc-endpoint-type GatewayLoadBalancer --service-name com.amazonaws.vpce.us-east-2.vpce-svc-12345678901234567 --vpc-id consumer-vpc-id --subnet-ids consumer-subnet-id

    Para oferecer suporte a ambos IPv4 e IPv6 endereços, adicione a --ip-address-type dualstack opção.

    A saída contém o ID do endpoint do Gateway Load Balancer (por exemplo, vpce-01234567890abcdef).

Etapa 3: configurar o roteamento

Configure as tabelas de rotas para o consumidor do serviço da VPC seguinte maneira. Isso permite que os dispositivos de segurança realizem a inspeção de segurança do tráfego de entrada destinado aos servidores de aplicações.

Para configurar o roteamento
  1. Use o comando create-route para adicionar entradas à tabela de rotas do gateway da Internet que roteia o tráfego destinado aos servidores de aplicações ao endpoint do Gateway Load Balancer.

    aws ec2 create-route --route-table-id gateway-rtb --destination-cidr-block Subnet 1 IPv4 CIDR --vpc-endpoint-id vpce-01234567890abcdef

    Se você oferecer suporteIPv6, adicione a seguinte rota.

    aws ec2 create-route --route-table-id gateway-rtb --destination-cidr-block Subnet 1 IPv6 CIDR --vpc-endpoint-id vpce-01234567890abcdef
  2. Use o comando create-route para adicionar uma entrada à tabela de rotas para a sub-rede com os servidores de aplicações que roteiem todo o tráfego dos servidores de aplicações ao endpoint do Gateway Load Balancer.

    aws ec2 create-route --route-table-id application-rtb --destination-cidr-block 0.0.0.0/0 --vpc-endpoint-id vpce-01234567890abcdef

    Se você oferecer suporteIPv6, adicione a seguinte rota.

    aws ec2 create-route --route-table-id application-rtb --destination-cidr-block ::/0 --vpc-endpoint-id vpce-01234567890abcdef
  3. Use o comando create-route para adicionar uma entrada à tabela de rotas da sub-rede com o endpoint do Gateway Load Balancer que roteia todo o tráfego originado dos servidores de aplicações para o gateway da Internet.

    aws ec2 create-route --route-table-id endpoint-rtb --destination-cidr-block 0.0.0.0/0 --gateway-id igw-01234567890abcdef

    Se você oferecer suporteIPv6, adicione a seguinte rota.

    aws ec2 create-route --route-table-id endpoint-rtb --destination-cidr-block ::/0 --gateway-id igw-01234567890abcdef
  4. Repita o procedimento para cada tabela de rotas de sub-rede da aplicação em cada zona.