Editar atributos para o Network Load Balancer - 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á.

Editar atributos para o Network Load Balancer

Após criar um Network Load Balancer, você poderá editar seus atributos.

Proteção contra exclusão

Para evitar que seu Network Load Balancer seja excluído acidentalmente, é possível ativar a proteção contra exclusão. Por padrão, a proteção contra exclusão é desabilitada para seu Network Load Balancer.

Se você habilitar a proteção contra exclusão para o Network Load Balancer, deverá desabilitá-la antes de excluir o Network Load Balancer.

Console
Ativar a proteção contra exclusão
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione Load Balancers.

  3. Selecione o nome do Network Load Balancer para abrir a página de detalhes dele.

  4. Na guia Atributos, escolha Editar.

  5. Em Proteção, ative a Proteção contra exclusão.

  6. Escolha Salvar alterações.

AWS CLI
Ativar a proteção contra exclusão

Use o comando modify-load-balancer-attributes com o atributo deletion_protection.enabled.

aws elbv2 modify-load-balancer-attributes \ --load-balancer-arn load-balancer-arn \ --attributes "Key=deletion_protection.enabled,Value=true"
CloudFormation
Ativar a proteção contra exclusão

Atualize o AWS::ElasticLoadBalancingV2::LoadBalancerrecurso para incluir o deletion_protection.enabled atributo.

Resources: myLoadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: Name: my-nlb Type: network Scheme: internal Subnets: - !Ref subnet-AZ1 - !Ref subnet-AZ2 SecurityGroups: - !Ref mySecurityGroup LoadBalancerAttributes: - Key: "deletion_protection.enabled" Value: "true"

Balanceamento de carga entre zonas

Com Network Load Balancers, o balanceamento de carga entre zonas é desativado por padrão no nível do balanceador de carga, mas você pode ativá-lo a qualquer momento. Para grupos de destino, o padrão é usar a configuração do balanceador de carga, mas você pode substituir o padrão ativando ou desativando explicitamente o balanceamento de carga entre zonas em nível de grupo de destino. Para obter mais informações, consulte Balanceamento de carga entre zonas para grupos de destino.

Console
Para habilitar o balanceamento de carga entre zonas para um balanceador de carga
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em Load Balancing, selecione Load Balancers.

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

  4. Na guia Atributos, escolha Editar.

  5. Na página Editar atributos do balanceador de carga, ative ou desative Balanceamento de carga entre zonas.

  6. Escolha Salvar alterações.

AWS CLI
Para habilitar o balanceamento de carga entre zonas para um balanceador de carga

Use o comando modify-load-balancer-attributes com o atributo load_balancing.cross_zone.enabled.

aws elbv2 modify-load-balancer-attributes \ --load-balancer-arn load-balancer-arn \ --attributes "Key=load_balancing.cross_zone.enabled,Value=true"
CloudFormation
Para habilitar o balanceamento de carga entre zonas para um balanceador de carga

Atualize o AWS::ElasticLoadBalancingV2::LoadBalancer recurso para incluir o load_balancing.cross_zone.enabled atributo.

Resources: myLoadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: Name: my-nlb Type: network Scheme: internal Subnets: - !Ref subnet-AZ1 - !Ref subnet-AZ2 SecurityGroups: - !Ref mySecurityGroup LoadBalancerAttributes: - Key: "load_balancing.cross_zone.enabled" Value: "true"

Afinidade de DNS de zona de disponibilidade

Ao usar a política padrão de roteamento de cliente, as solicitações enviadas para o nome de DNS do Network Load Balancer receberão todos os endereços IP íntegros do Network Load Balancer. Isso leva à distribuição das conexões de clientes entre as zonas de disponibilidade do Network Load Balancer. Com as políticas de roteamento de afinidade de zona de disponibilidade, as consultas ao DNS do cliente favorecem os endereços IP do Network Load Balancer na sua própria zona de disponibilidade. Isso ajuda a melhorar a latência e a resiliência, pois os clientes não precisam cruzar os limites de zona de disponibilidade ao se conectarem aos destinos.

As políticas de roteamento de afinidade de zona de disponibilidade se aplicam somente aos clientes que resolvem o nome de DNS de Network Load Balancers usando o Route 53 Resolver. Para obter mais informações, consulte O que é Amazon Route 53 Resolver? no Guia do desenvolvedor do Amazon Route 53

Políticas de roteamento de clientes disponíveis para Network Load Balancers usando o Route 53 Resolver:
  • Afinidade de zona de disponibilidade: 100% de afinidade zonal

    As consultas ao DNS do cliente favorecerão o endereço IP do Network Load Balancer na sua própria zona de disponibilidade. As consultas poderão ser resolvidas para outras zonas se não houver endereços IP de Network Load Balancer íntegros na sua própria zona.

  • Afinidade de zona de disponibilidade parcial: 85% de afinidade zonal

    85% das consultas ao DNS do cliente favorecerão os endereços IP do Network Load Balancer na sua própria zona de disponibilidade, enquanto as consultas restantes serão resolvidas para qualquer zona íntegra. As consultas podem ser resolvidas para outras zonas saudáveis se não houver nenhuma integridade IPs em sua zona. Quando não há integridade IPs em nenhuma zona, as consultas são resolvidas em qualquer zona.

  • Qualquer zona de disponibilidade (padrão):0% de afinidade zonal

    As consultas ao DNS do cliente são resolvidas entre endereços IP íntegros do Network Load Balancer em todas as zonas de disponibilidade do Network Load Balancer.

A afinidade de zona de disponibilidade ajuda a rotear solicitações do cliente para o Network Load Balancer, enquanto o balanceamento de carga entre zonas é usado para ajudar a rotear solicitações do Network Load Balancer para os destinos. Ao usar a afinidade de zona de disponibilidade, o balanceamento de carga entre zonas deve ser desativado para que o Network Load Balancer direcione o tráfego do cliente somente para destinos dentro da sua própria zona de disponibilidade. Com essa configuração, o tráfego do cliente é enviado para a mesma zona de disponibilidade do Network Load Balancer. Portanto, é recomendável configurar a aplicação para escalar de forma independente em cada zona de disponibilidade. Essa é uma consideração importante quando o número de clientes por zona de disponibilidade ou o tráfego por zona de disponibilidade não são os mesmos. Para obter mais informações, consulte Balanceamento de carga entre zonas para grupos de destino.

Quando uma zona de disponibilidade for considerada não íntegra ou quando uma mudança de zona for iniciada, o endereço IP zonal será considerado não íntegro e não será retornado aos clientes, a menos que uma falha na abertura esteja efetiva. A afinidade de zona de disponibilidade é mantida quando o registro de DNS apresenta falha na abertura. Isso ajuda a manter as zonas de disponibilidade independentes e evitar possíveis falhas entre zonas.

Ao usar a afinidade de zona de disponibilidade, são esperados tempos de desequilíbrio entre as zonas de disponibilidade. É recomendável garantir que os destinos sejam escalados em nível zonal para suportar a workload de cada zona de disponibilidade. Nos casos em que esses desequilíbrios são significativos, é recomendável desativar a afinidade de zona de disponibilidade. Isso permite uma distribuição uniforme das conexões do cliente entre todas as zonas de disponibilidade dos Network Load Balancers em 60 segundos ou o TTL do DNS.

Antes de usar afinidade de zona de disponibilidade, considere o seguinte:
  • A afinidade de zona de disponibilidade causa alterações em todos os clientes dos Network Load Balancers que estão usando o Route 53 Resolver.

    • Os clientes não conseguem decidir entre as resoluções de DNS da zona local e de várias zonas. A afinidade de zona de disponibilidade decide por eles.

    • Os clientes não têm um método confiável para determinar quando estão sendo afetados pela afinidade de zona de disponibilidade ou para saber qual endereço IP está em qual zona de disponibilidade.

  • Ao usar a afinidade da Zona de Disponibilidade com balanceadores de carga de rede e o Resolvedor do Route 53, recomendamos que os clientes usem o endpoint de entrada do Resolvedor do Route 53 em sua própria zona de disponibilidade.

  • Os clientes permanecerão atribuídos ao endereço IP da zona local até que ele seja considerado totalmente não íntegro, de acordo com as verificações de integridade do DNS, e seja removido do DNS.

  • Usar a afinidade de zona de disponibilidade com o balanceamento de carga entre zonas ativado pode levar a uma distribuição desequilibrada das conexões do cliente entre as zonas de disponibilidade. É recomendável configurar sua pilha de aplicações para escalar de forma independente em cada zona de disponibilidade, garantindo que ela possa suportar o tráfego de clientes zonais.

  • Se o balanceamento de carga entre zonas estiver ativado, o Network Load Balancer estará sujeito ao impacto entre zonas.

  • A carga em cada uma das zonas de disponibilidade do Network Load Balancer será proporcional às localizações zonais das solicitações dos clientes. Se você não configurar quantos clientes estão em execução em cada zona de disponibilidade, terá que escalar de forma independente cada zona de disponibilidade, reativamente.

Monitoramento

Recomenda-se rastrear a distribuição das conexões entre as zonas de disponibilidade usando as métricas zonais do Network Load Balancer. Você pode usar métricas para visualizar o número de conexões novas e ativas por zona.

Recomendamos rastrear o seguinte:

  • ActiveFlowCount: o número total de fluxos (ou conexões) simultâneos dos clientes para os destinos.

  • NewFlowCount: o número total de novos fluxos (ou conexões) estabelecidos dos clientes para os destinos no período.

  • HealthyHostCount: o número de destinos considerados íntegros.

  • UnHealthyHostCount: o número de destinos considerados não íntegros.

Para obter mais informações, consulte CloudWatch métricas para seu Network Load Balancer.

Ativar afinidade com a zona de disponibilidade

Console
Para ativar a afinidade com a Zona de Disponibilidade
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione Load Balancers.

  3. Selecione o nome do Network Load Balancer para abrir a página de detalhes dele.

  4. Na guia Atributos, escolha Editar.

  5. Em Configuração de roteamento da zona de disponibilidade, Política de roteamento do cliente (registro de DNS), selecione Afinidade de zona de disponibilidade ou Afinidade de zona de disponibilidade parcial.

  6. Escolha Salvar alterações.

AWS CLI
Para ativar a afinidade com a Zona de Disponibilidade

Use o comando modify-load-balancer-attributes com o atributo dns_record.client_routing_policy.

aws elbv2 modify-load-balancer-attributes \ --load-balancer-arn load-balancer-arn \ --attributes "Key=dns_record.client_routing_policy,Value=partial_availability_zone_affinity"
CloudFormation
Para ativar a afinidade com a Zona de Disponibilidade

Atualize o AWS::ElasticLoadBalancingV2::LoadBalancerrecurso para incluir o dns_record.client_routing_policy atributo.

Resources: myLoadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: Name: my-nlb Type: network Scheme: internal Subnets: - !Ref subnet-AZ1 - !Ref subnet-AZ2 SecurityGroups: - !Ref mySecurityGroup LoadBalancerAttributes: - Key: "dns_record.client_routing_policy" Value: "partial_availability_zone_affinity"

Endereços IP secundários

Se você tiver erros de alocação de portas e não conseguir adicionar destinos ao grupo de destino para resolvê-los, poderá adicionar endereços IP secundários às interfaces de rede do balanceador de carga. Para cada zona em que o balanceador de carga está ativado, selecionamos IPv4 endereços da sub-rede do balanceador de carga e os atribuímos à interface de rede correspondente. Esses endereços IP secundários são usados para estabelecer conexões com destinos. Eles também são usados para verificação de integridade do tráfego. Recomendamos que você adicione um endereço IP secundário para começar, monitore a PortAllocationErrors métrica e adicione outro endereço IP secundário somente se os erros de alocação de portas não forem resolvidos.

Atenção

Depois de adicionar endereços IP secundários, você não poderá removê-los. A única maneira de liberar os endereços IP secundários é excluir o balanceador de carga. Antes de adicionar endereços IP secundários, verifique se há IPv4 endereços disponíveis suficientes nas sub-redes do balanceador de carga.

Console
Para adicionar um endereço IP secundário
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione Load Balancers.

  3. Selecione o nome do Network Load Balancer para abrir a página de detalhes dele.

  4. Na guia Atributos, escolha Editar.

  5. Expanda Atributos de casos especiais, desbloqueie os endereços IP secundários atribuídos automaticamente por atributo de sub-rede e escolha o número de endereços IP secundários.

  6. Escolha Salvar alterações.

AWS CLI
Para adicionar um endereço IP secundário

Use o comando modify-load-balancer-attributes com o atributo secondary_ips.auto_assigned.per_subnet.

aws elbv2 modify-load-balancer-attributes \ --load-balancer-arn load-balancer-arn \ --attributes "Key=secondary_ips.auto_assigned.per_subnet,Value=1"

Você pode usar o describe-network-interfacescomando para obter os IPv4 endereços das interfaces de rede do balanceador de carga. O --filters parâmetro direciona os resultados para as interfaces de rede para balanceadores de carga de rede e o --query parâmetro define ainda mais os resultados para o balanceador de carga com o nome especificado e exibe somente os campos especificados. Você pode incluir campos adicionais conforme necessário.

aws elbv2 describe-network-interfaces \ --filters "Name=interface-type,Values=network_load_balancer" \ --query "NetworkInterfaces[?contains(Description,'my-nlb')].{ID:NetworkInterfaceId,AZ:AvailabilityZone,Addresses:PrivateIpAddresses[*]}"
CloudFormation
Para adicionar um endereço IP secundário

Atualize o AWS::ElasticLoadBalancingV2::LoadBalancerrecurso para incluir o secondary_ips.auto_assigned.per_subnet atributo.

Resources: myLoadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: Name: my-nlb Type: network Scheme: internal Subnets: - !Ref subnet-AZ1 - !Ref subnet-AZ2 SecurityGroups: - !Ref mySecurityGroup LoadBalancerAttributes: - Key: "secondary_ips.auto_assigned.per_subnet" Value: "1"