Editar atributos para o Network Load Balancer - Elastic Load Balancing

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
Para habilitar ou desabilitar a proteção contra exclusão
  1. Abra o console do Amazon EC2 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 ou desative a Proteção contra exclusão.

  6. Escolha Salvar alterações.

AWS CLI
Para habilitar ou desabilitar 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
Para habilitar ou desabilitar a proteção contra exclusão

Atualize o recurso AWS::ElasticLoadBalingV2::LoadBalancer para incluir o atributo deletion_protection.enabled.

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 ou desabilitar o balanceamento de carga entre zonas para o balanceador de carga.
  1. Abra o console do Amazon EC2 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 ou desabilitar o balanceamento de carga entre zonas para o 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 ou desabilitar o balanceamento de carga entre zonas para o balanceador de carga.

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

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 em outras zonas íntegras se não houver endereços IP íntegros na própria zona. Quando não há endereços IP íntegros 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 Network Load Balancers 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 . Métricas do CloudWatch para o Network Load Balancer

Habilitar a afinidade da zona de disponibilidade

Console
Para habilitar a afinidade da zona de disponibilidade
  1. Abra o console do Amazon EC2 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 habilitar a afinidade da 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 habilitar a afinidade da zona de disponibilidade

Atualize o recurso AWS::ElasticLoadBalingV2::LoadBalancer para incluir o atributo dns_record.client_routing_policy.

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 ocorrerem erros de alocação de porta e você não puder adicionar destinos ao grupo de destino para solucioná-los, você pode adicionar endereços IP secundários às interfaces de rede do balanceador de carga. Para cada zona em que o balanceador de carga estiver habilitado, selecionaremos endereços IPv4 da sub-rede do balanceador de carga e os atribuiremos à interface de rede correspondente. Esses endereços IP secundários são usados para estabelecer conexões com os destinos. Eles também são usados para o tráfego de verificação de integridade. Recomendamos que você adicione um endereço IP secundário para começar, monitore a métrica de PortAllocationErrors e adicione outro endereço IP secundário somente se os erros de alocação de porta não forem resolvidos.

Atenção

Após 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á endereços IPv4 suficientes disponíveis nas sub-redes do balanceador de carga.

Console
Para adicionar um endereço IP secundário
  1. Abra o console do Amazon EC2 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 o atributo Endereços IP secundários atribuídos automaticamente por sub-rede e escolha o número dos 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 comando describe-network-interfaces para obter os endereços IPv4 para as interfaces de rede do balanceador de carga. O parâmetro --filters direciona os resultados das interfaces de rede para os Network Load Balancers de rede e o parâmetro --query direciona ainda mais os resultados para o balanceador de carga com o nome especificado e exibe somente os campos especificados. É possível 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 recurso AWS::ElasticLoadBalingV2::LoadBalancer para incluir o atributo secondary_ips.auto_assigned.per_subnet.

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"