Network Load Balancers - 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á.

Network Load Balancers

Um load balancer serve como ponto único de contato para os clientes. Os clientes enviam solicitações para o load balancer, e ele as envia para os destinos, como instâncias do EC2, em uma ou mais Zonas de disponibilidade.

Para configurar o load balancer, você cria grupos de destino e, em seguida, registra os destinos nesses grupos. O load balancer é mais eficaz se você garantir que cada Zona de disponibilidade ativada tenha pelo menos um destino registrado. Você também pode criar listeners para verificar a solicitações de conexão de clientes e rotear solicitações dos clientes para os destinos em seus grupos de destino.

Os Network Load Balancers oferecem suporte a conexões de clientes por meio de emparelhamento de VPCAWS Direct Connect, VPNAWS gerenciada e soluções de VPN de terceiros.

Estado do load balancer

Um balanceador de carga tem um dos seguintes estados:

provisioning

O load balancer está sendo configurado.

active

O load balancer está totalmente configurado e pronto para rotear o tráfego.

failed

O balanceador de carga não pôde ser configurado.

Atributos do load balancer

Um balanceador de carga tem os seguintes atributos:

access_logs.s3.enabled

Indica se logs de acesso armazenados no Amazon S3 estão habilitados. O padrão é false.

access_logs.s3.bucket

O nome do bucket do Amazon S3 para os logs de acesso. Esse atributo é necessário se os logs de acesso estiverem habilitados. Para obter mais informações, consulte Requisitos do bucket.

access_logs.s3.prefix

O prefixo para o local no bucket do Amazon S3.

deletion_protection.enabled

Indica se a proteção contra exclusão está habilitada. O padrão é false.

ipv6.deny_all_igw_traffic

Bloqueia o acesso do gateway da Internet (IGW) ao balanceador de carga, impedindo o acesso não intencional ao balanceador de carga interno por meio de um gateway da Internet. Ele está configuradofalse para balanceadores de carga voltados para a Internet etrue para balanceadores de carga internos. Esse atributo não impede o acesso à Internet sem IGW (por exemplo, por meio de peering, Transit Gateway ouAWS VPN).AWS Direct Connect

load_balancing.cross_zone.enabled

Indica se o balanceamento de carga entre zonas está habilitado. O padrão é false.

Tipo de endereço IP

Você pode definir os tipos de endereços IP que os clientes podem usar com seu balanceador de carga. Veja a seguir os tipos de endereço IP:

ipv4

Os clientes devem se conectar ao balanceador de carga usando endereços IPv4 (por exemplo, 192.0.2.1). Os balanceadores de carga habilitados para IPv4 (tanto voltados para a Internet quanto internos) oferecem suporte aos ouvintes TCP, UDP, TCP_UDP e TLS.

dualstack

Os clientes podem se conectar ao load balancer usando endereços IPv4 (por exemplo, 192.0.2.1) e endereços IPv6 (por exemplo, 2001:0db8:85a3:0:0:8a2e:0370:7334). Os balanceadores de carga habilitados para Dualstack (tanto voltados para a Internet quanto internos) oferecem suporte aos ouvintes TCP e TLS.

Considerações sobre o balanceador de carga Dualstack
  • O balanceador de carga se comunica com os alvos com base no tipo de endereço IP do grupo-alvo.

  • Quando você ativa o modo dualstack para o balanceador de carga, o Elastic Load Balancing fornece um registro DNS AAAA para o balanceador de carga. Os clientes que se comunicam com o load balancer usando endereços IPv4 resolvem o registro DNS A. Os clientes que se comunicam com o load balancer usando endereços IPv6 resolvem o registro DNS AAAA.

  • O acesso aos balanceadores de carga internos de pilha dupla por meio do gateway da Internet é bloqueado para evitar o acesso não intencional à Internet. No entanto, isso não impede o acesso à Internet que não seja do IWG (como, por meio de peering, Transit Gateway ouAWS VPN).AWS Direct Connect

Para obter mais informações sobre os tipos de endereço IP do balanceador de carga, consulteAtualizar o tipo de endereço.

Uma VPC com zonas de disponibilidade e uma zona Wavelength.

Você ativa uma ou mais Zonas de disponibilidade para o seu load balancer quando você o cria. Se você habilitar várias Zonas de disponibilidade para o load balancer, isso aumentará a tolerância a falhas de seus aplicativos. Você não pode desativar as zonas de disponibilidade de um Network Load Balancer depois de criá-lo, mas pode habilitar zonas de disponibilidade adicionais.

Quando você habilitar uma Zona de disponibilidade, você especificará uma sub-rede nessa Zona de disponibilidade. O Elastic Load Balancing cria um nó de balanceador de carga na zona de disponibilidade e uma interface de rede para a sub-rede (a descrição começa com “ELB net” e inclui o nome do balanceador de carga). Cada nó de load balancer na zona de disponibilidade usa essa interface de rede para obter um endereço IPv4. Observe que é possível visualizar essa interface de rede, mas não pode modificá-la.

Ao criar um load balancer voltado para a Internet, se preferir, você poderá especificar um endereço IP elástico por sub-rede. Se você não escolher um de seus próprios endereços IP elásticos, o Elastic Load Balancing fornecerá um endereço IP elástico por sub-rede para você. Esses endereços IP elásticos fornecem ao load balancer endereços IP estáticos que não serão alterados durante a vida útil do load balancer. Não é possível alterar esses endereços IP elásticos após a criação do balanceador de carga.

Ao criar um load balancer interno, se preferir, você poderá especificar um endereço IP privado por sub-rede. Se você não especificar um endereço IP da sub-rede, o Elastic Load Balancing escolherá um para você. Esses endereços IP privados fornecem ao load balancer endereços IP estáticos que não serão alterados durante a vida útil do load balancer. Não é possível alterar esses endereços IP privados depois de criar o balanceador de carga.

Requisitos
  • Para load balancers voltados para a Internet, as sub-redes especificadas devem ter pelo menos 8 endereços IP disponíveis. Para balanceadores de carga internos, isso só é necessário se você permitirAWS selecionar um endereço IPv4 privado da sub-rede.

  • Não é possível especificar uma sub-rede em uma zona de disponibilidade restrita. A mensagem de erro é "Load balancers com tipo 'rede' não são compatíveis com a az_name". É possível especificar uma sub-rede em outra zona de disponibilidade que não esteja restrita e usar o balanceamento de carga entre zonas para distribuir o tráfego para destinos na zona de disponibilidade restrita.

  • Não é possível especificar uma sub-rede em uma Zona local.

Depois de habilitar uma Zona de disponibilidade, o load balancer começa a rotear as solicitações para os destinos registrados nessa Zona de disponibilidade. O load balancer é mais eficaz se você garantir que cada Zona de disponibilidade ativada tenha pelo menos um destino registrado.

Para atualizar zonas de disponibilidade usando o console
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, escolha Load balancers.

  3. Selecione o nome do balanceador de carga para abrir sua página de detalhes.

  4. Na guia Mapeamento de rede, escolha Editar sub-redes.

  5. Para habilitar uma Zona de disponibilidade, marque a caixa de seleção dessa Zona de disponibilidade. Se houver uma sub-rede para essa Zona de disponibilidade, ela estará selecionada. Se houver mais de uma sub-rede para essa Zona de disponibilidade, selecione uma delas. Observe que você só pode selecionar uma sub-rede por Zona de disponibilidade.

    Para um load balancer voltado para a Internet, você pode selecionar um endereço IP elástico para cada zona de disponibilidade. Para um balanceador de carga interno, você pode atribuir um endereço IP privado do intervalo IPv4 de cada sub-rede em vez de permitir que o Elastic Load Balancing atribua um.

  6. Escolha Save changes (Salvar alterações).

Para adicionar zonas de disponibilidade usando a AWS CLI

Use o comando set-sub-redes.

Balanceamento de carga entre zonas

Por padrão, cada nó do load balancer distribui tráfego aos destinos registrados somente na sua zona de disponibilidade. Se você habilitar o balanceamento de carga entre zonas, cada nó do balanceador de carga distribuirá o tráfego entre os destinos registrados em todas as zonas de disponibilidade habilitadas. Você também pode ativar o balanceamento de carga entre zonas no nível do grupo-alvo. Para obter mais informações, consulteBalanceamento de carga entre zonas para grupos de destino Balanceamento de carga entre zonas no Manual do usuário do Elastic Load Balancing.

Deletion protection (Proteção contra exclusão)

Para evitar que seu load balancer seja excluído acidentalmente, você pode ativar a proteção contra exclusão. Por padrão, a proteção contra exclusão está desativada para seu load balancer.

Se você ativar a proteção contra exclusão para o load balancer, deverá desativá-la antes de excluir o load balancer.

Para habilitar a proteção contra exclusão usando o console
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, escolha Load balancers.

  3. Selecione o nome do balanceador de carga para abrir sua página de detalhes.

  4. Na guia Atributos, escolha Editar.

  5. Na página Editar atributos do balanceador de carga, ative a proteção contra exclusão e escolha Salvar alterações.

Para desabilitar a proteção contra exclusão usando o console
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, escolha Load balancers.

  3. Selecione o nome do balanceador de carga para abrir sua página de detalhes.

  4. Na guia Atributos, escolha Editar.

  5. Na página Editar atributos do balanceador de carga, desative a proteção contra exclusão e escolha Salvar alterações.

Para habilitar ou desabilitar a proteção contra exclusão usando a AWS CLI

Use o modify-load-balancer-attributescomando com odeletion_protection.enabled atributo.

Tempo limite de inatividade da conexão

Para cada solicitação TCP que um cliente faz por meio de um Network Load Balancer, o estado dessa conexão é rastreado. Se não há dados enviados do cliente nem do destino por um período que ultrapasse o tempo limite de inatividade, a conexão é fechada. Se um cliente envia dados depois do tempo limite de inatividade, ele recebe um pacote TCP RST para indicar que a conexão não é mais válida.

Definimos o valor do tempo limite de inatividade para fluxos TCP para 350 segundos. Não é possível modificar esse valor. Os clientes ou destinos podem usar pacotes de manutenção TCP para redefinir o tempo limite de inatividade. Os pacotes Keepalive enviados para manter as conexões TLS não podem conter dados ou carga útil.

Quando um ouvinte TLS recebe um pacote TCP keepalive de um cliente ou de um destino, o balanceador de carga gera pacotes TCP keepalive e os envia para as conexões de front-end e back-end a cada 20 segundos. Não é possível modificar esse comportamento.

Embora o UDP não tenha conexão, o load balancer mantém o estado do fluxo UDP com base nas portas e nos endereços IP de origem e de destino, garantindo que os pacotes que pertencem ao mesmo fluxo sejam enviados de forma consistente para o mesmo destino. Depois de decorrido o período de tempo limite de inatividade, o balanceador de carga considera o pacote UDP recebido como um novo fluxo e o encaminha para um novo destino. O Elastic Load Balancing define o valor do tempo limite de inatividade para fluxos UDP como 120 segundos.

As instâncias do EC2 devem responder a uma nova solicitação dentro de 30 segundos para estabelecer um caminho de retorno.

Nome DNS

Cada Network Load Balancer recebe um nome de Sistema de Nomes de Domínio (DNS) padrão com a seguinte sintaxe: name - id .elb. região .amazonaws.com. Por exemplo, my-load-balancer -1234567890abcdef.elb.us-east-2.amazonaws.com.

Se preferir usar um nome DNS que seja mais fácil de lembrar, é possível criar um nome de domínio personalizado e associá-lo ao nome DNS do seu load balancer. Quando um cliente faz uma solicitação usando esse nome de domínio personalizado, o servidor DNS o resolverá para o nome DNS para seu load balancer.

Primeiro, registre um nome de domínio com um registrador de nomes de domínio credenciado. Em seguida, use seu serviço de DNS, como seu registrador de domínio, para criar um registro DNS para encaminhar solicitações para seu balanceador de carga. Para obter mais informações, consulte a documentação do serviço DNS. Por exemplo, se você usar o Amazon Route 53 como seu serviço de DNS, você criará um registro de alias que aponte para o balanceador de carga. Para obter mais informações, consulte Rotear tráfego para um balanceador de carga do ELB no Guia do desenvolvedor do Amazon Route 53.

O load balancer tem um endereço IP por zona de disponibilidade habilitada. Esses são os endereços dos nós do load balancer. O nome DNS do load balancer resulta nesses endereços. Por exemplo, vamos supor que o nome de domínio personalizado para seu load balancer seja example.networkloadbalancer.com. Use o comando nslookup ou dig a seguir para determinar os endereços IP dos nós do load balancer.

Linux ou Mac

$ dig +short example.networkloadbalancer.com

Windows

C:\> nslookup example.networkloadbalancer.com

O load balancer tem registros DNS para seus nós de load balancer. Você pode usar nomes DNS com a seguinte sintaxe para determinar os endereços IP dos nós do balanceador de carga: az. nome - id .elb. região .amazonaws.com.

Linux ou Mac

$ dig +short us-east-2b.my-load-balancer-1234567890abcdef.elb.us-east-2.amazonaws.com

Windows

C:\> nslookup us-east-2b.my-load-balancer-1234567890abcdef.elb.us-east-2.amazonaws.com