Grupos de destino para 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á.

Grupos de destino para Network Load Balancers

Cada grupo de destino é usado para rotear solicitações para um ou mais destinos registrados. Ao criar um listener, especifique um grupo de destino para a ação padrão dele. O tráfego é encaminhado para o grupo de destino especificado na regra do listener. Você pode criar grupos de destino diferentes para tipos de solicitações diferentes. Por exemplo, você pode criar um grupo de destino para solicitações gerais e outros grupos de destino para solicitações para os microsserviços do aplicativo. Para ter mais informações, consulte Componentes do Network Load Balancer.

Você define as configurações de verificação de integridade para seu load balancer por grupo de destino. Cada grupo de destino usa as configurações de verificação de integridade padrão, a menos que você as substitua ao criar o grupo de destino ou as modifique posteriormente. Após especificar um grupo de destino em uma regra para um listener, o load balancer monitora continuamente a integridade de todos os destinos registrados com o grupo de destino que estiverem em uma Zona de disponibilidade habilitada para o load balancer. O load balancer roteia solicitações para os destinos registrados que são íntegros. Para ter mais informações, consulte Verificações de integridade para os grupos de destino.

Configuração de roteamento

Por padrão, um load balancer roteia solicitações para seus destinos usando o protocolo e o número da porta que você especificou ao criar o grupo de destino. Como alternativa, você pode substituir a porta usada para rotear o tráfego para um destino quando registrá-lo no grupo de destino.

Os grupos de destino para Network Load Balancers são compatíveis com os seguintes protocolos e portas:

  • Protocols (Protocolos): TCP, TLS, UDP, TCP_UDP

  • Ports (Portas): 1-65535

Se um grupo de destino estiver configurado com o protocolo TLS, o load balancer estabelecerá conexões TLS com os destinos usando certificados instalados nos destinos. O load balancer não valida esses certificados. Portanto, é possível usar certificados autoassinados ou certificados que tenham expirado. Como o balanceador de carga está em uma nuvem privada virtual (VPC), o tráfego entre o balanceador de carga e os destinos é autenticado no nível do pacote, portanto, ele não corre o risco man-in-the-middle de ataques ou falsificação, mesmo que os certificados nos destinos não sejam válidos.

A tabela a seguir resume as combinações compatíveis das configurações do protocolo do listener e do grupo de destino.

Protocolo do listener Protocolo do grupo de destino Tipo de grupo de destino Health check protocol (Protocolo da verificação de integridade)

TCP

TCP | TCP_UDP

instância | ip

HTTP | HTTPS | TCP

TCP

TCP

alb

HTTP | HTTPS

TLS

TCP | TLS

instância | ip

HTTP | HTTPS | TCP

UDP

UDP | TCP_UDP

instância | ip

HTTP | HTTPS | TCP

TCP_UDP

TCP_UDP

instância | ip

HTTP | HTTPS | TCP

Target type

Quando você cria um grupo de destino, você especifica o tipo de destino, que determina como você especifica seus destinos. Depois de criar um grupo de destino, você não pode mudar o tipo de destino dele.

Os possíveis tipos de destino são os seguintes:

instance

Os destinos são especificados por ID de instância.

ip

Os destinos são especificados por endereço IP.

alb

O destino é um Application Load Balancer.

Quando o tipo de destino é ip, você pode especificar os endereços IP de um dos seguintes blocos CIDR:

  • As sub-redes da VPC para o grupo de destino

  • 10.0.0.0/8 (RFC 1918)

  • 100.64.0.0/10 (RFC 6598)

  • 172.16.0.0/12 (RFC 1918)

  • 192.168.0.0/16 (RFC 1918)

Importante

Você não pode especificar publicamente endereços IP roteáveis.

Todos os blocos CIDR compatíveis permitem que você registre os seguintes destinos em um grupo de destino:

  • AWS recursos que são endereçáveis por endereço IP e porta (por exemplo, bancos de dados).

  • Recursos locais vinculados AWS por meio AWS Direct Connect de uma conexão VPN Site-to-Site.

Quando a preservação do IP do cliente está desabilitada para seus grupos de destino, o balanceador de carga pode suportar aproximadamente 55 mil conexões por minuto para cada combinação de endereço IP do Network Load Balancer e destino exclusivo (endereço IP e porta). Se você exceder essas conexões, há uma chance maior de erros de alocação de porta. Se você receber erros de alocação de porta, adicione mais destinos ao grupo de destino.

Ao iniciar um Network Load Balancer em uma Amazon VPC compartilhada (como participante), você só pode registrar destinos em sub-redes que foram compartilhadas com você.

Quando o tipo de destino é alb, você pode registrar um único Application Load Balancer como destino. Para ter mais informações, consulte Application Load Balancers como destinos.

Os Network Load Balancers não são compatíveis com o tipo de destino lambda. Os Application Load Balancers são os únicos balanceadores de carga compatíveis com o tipo de destino lambda. Para obter mais informações, consulte Lambda functions as targets no Guia do usuário de Application Load Balancers.

Se você tiver microsserviços em instâncias registradas em um Network Load Balancer, não poderá usar o balanceador de carga para possibilitar a comunicação entre eles, a menos que o balanceador de carga esteja voltado para a Internet ou as instâncias estejam registradas por endereço IP. Para ter mais informações, consulte As conexões expiram para solicitações de um destino para o load balancer.

Roteamento de solicitações e endereços IP

Se você especificar destinos usando um ID de instância, o tráfego será roteado para instâncias usando o endereço IP primário privado especificado na interface de rede primária para a instância. O load balancer grava novamente o endereço IP de destino do pacote de dados antes de encaminhá-lo para a instância de destino.

Se você especificar destinos usando endereços IP, você pode rotear o tráfego para uma instância com qualquer endereço IP privado de uma ou mais interfaces de rede. Isso permite que vários aplicativos em uma instância usem a mesma porta. Observe que cada interface de rede pode ter seu próprio security group. O load balancer grava novamente o endereço IP de destino antes de encaminhá-lo para o destino.

Para obter mais informações sobre permissão de tráfego para suas instâncias, consulte Grupos de segurança de destino.

Recursos on-premises como destinos

Recursos locais vinculados por meio AWS Direct Connect de uma conexão VPN Site-to-Site podem servir como destino, quando o tipo de destino for. ip


                    Conecte um Network Load Balancer com servidores locais usando ou. AWS Direct Connect  AWS Site-to-Site VPN

Ao usar recursos on-premises, os endereços IP desses destinos ainda devem vir de um dos seguintes blocos CIDR:

  • 10.0.0.0/8 (RFC 1918)

  • 100.64.0.0/10 (RFC 6598)

  • 172.16.0.0/12 (RFC 1918)

  • 192.168.0.0/16 (RFC 1918)

Para obter mais informações sobre AWS Direct Connect, consulte O que é AWS Direct Connect?

Para obter mais informações sobre AWS Site-to-Site VPN, consulte O que é AWS Site-to-Site VPN?

Tipo de endereço IP

Ao criar um novo grupo de destino, você pode selecionar o tipo de endereço IP dele. Isso controla a versão do IP usada para comunicação com os destinos e para a verificação do status de integridade deles.

Network Load Balancers são compatíveis com grupos de destino IPv4 e IPv6. A seleção padrão é IPv4. Os grupos de destino IPv6 só podem ser associados a Network Load Balancers dualstack.

Considerações
  • Todos os endereços IP de um grupo de destino devem ter o mesmo tipo de endereço IP. Por exemplo, você não pode registrar um destino IPv4 com um grupo de destino IPv6.

  • Os grupos de destino IPv6 só podem ser usados com balanceadores de carga dualstack com receptores TCP ou TLS.

  • Os grupos de destino IPv6 oferecem suporte a destinos de tipo de IP e de instância.

Destinos registrados

O seu load balancer serve como um ponto único de contato para clientes e distribui o tráfego de entrada nos destinos íntegros registrados. Cada grupo de destino deve ter pelo menos um destino registrado em cada zona de disponibilidade que é habilitada para o load balancer. Você pode registrar cada destino com um ou mais grupos de destino.

Se a demanda da seu aplicativo aumentar, você pode registrar destinos adicionais com um ou mais grupos de destino, a fim de dar conta da demanda. O load balancer inicia o roteamento do tráfego para um destino recém-registrado assim que o processo de registro é concluído.

Se a demanda na aplicação diminuir ou se você precisar fazer manutenção nos destinos, poderá cancelar o registro dos destinos nos grupos de destino. Cancelar o registro de um destino o remove do seu grupo de destino, mas não afeta o destino de outra forma. O load balancer interrompe o roteamento do tráfego para um destino assim que o registro dele é cancelado. O destino entra no estado draining até que as solicitações em andamento tenham sido concluídas. Você pode registrar o destino com o grupo de destino novamente quando estiver pronto para retomar o recebimento do tráfego.

Se você estiver registrando destinos por ID de instância, poderá usar o balanceador de carga com um grupo do Auto Scaling. Depois que você anexar um grupo de destino a um grupo do Auto Scaling, o Auto Scaling registrará os destinos no grupo de destino para você quando ele os iniciar. Para obter mais informações, consulte Anexar um balanceador de carga ao seu grupo do Auto Scaling no Guia do usuário do Amazon EC2 Auto Scaling.

Requisitos e considerações
  • Você não pode registrar instâncias por ID de instância se for usado um dos seguintes tipos de instância: C1, CC1, CC2, CG1, CG2, CR1, G1, G2, HI1, HS1, M1, M2, M3 ou T1.

  • Ao registrar destinos por ID de instância para um grupo de destino IPv6, os destinos devem ter um endereço IPv6 primário atribuído. Para saber mais, consulte Endereços IPv6 no Guia do usuário do Amazon EC2 para instâncias do Linux

  • Ao registrar destinos por ID de instância, as instâncias devem estar na mesma Amazon VPC que o Network Load Balancer. Não será possível registrar instâncias por ID de instância se elas estiverem em uma VPC emparelhada com a VPC do balanceador de carga (mesma região ou região diferente). Você poderá registrar essas instâncias pelo endereço IP.

  • Se você registrar um destino por endereço IP e o endereço IP estiver na mesma VPC que o load balancer, o load balancer verificará se ele é de uma sub-rede que ele possa acessar.

  • O balanceador de carga direciona o tráfego para destinos localizados somente em zonas de disponibilidade habilitadas. Destinos em zonas não habilitadas não são usados.

  • Para grupos de destino UDP e TCP_UDP, não registre instâncias por endereço IP se elas residirem fora da VPC do balanceador de carga ou se usarem um dos seguintes tipos de instância: C1, CC1, CC2, CG1, CG2, CR1, G1, G2, HI1, HS1, M1, M2, M3 ou T1. Destinos que residem fora da VPC do balanceador de carga ou que usam um tipo de instância incompatível podem receber tráfego do balanceador de carga, mas não conseguem responder.

Atributos do grupo de destino

Os seguintes atributos de grupo de destino são compatíveis. Você só pode modificar esses atributos quando o tipo de grupo de destino é instance ou ip. Se o tipo de grupo de destino for alb, esses atributos sempre usarão os valores padrão.

deregistration_delay.timeout_seconds

A quantidade de tempo que o Elastic Load Balancing deve aguardar antes de alterar o estado de um destino que terá o registro cancelado de draining para unused. O intervalo é 0-3600 segundos. O valor de padrão é de 300 segundos.

deregistration_delay.connection_termination.enabled

Indica se o balanceador de carga encerra as conexões no final do tempo limite de cancelamento do registro. O valor é true ou false. Para novos grupos de destino UDP/TCP_UDP, o padrão é true. Caso contrário, o padrão é false.

load_balancing.cross_zone.enabled

Indica se o balanceamento de carga entre zonas está habilitado. O valor é true, false ou use_load_balancer_configuration. O padrão é use_load_balancer_configuration.

preserve_client_ip.enabled

Indica se a preservação do IP do cliente está habilitada. O valor é true ou false. O padrão é desativado se o tipo de grupo de destino for endereço IP e o protocolo do grupo de destino for TCP ou TLS. Caso contrário, o padrão é habilitado. A preservação do IP do cliente não pode ser desabilitada para grupos de destino UDP e TCP_UDP.

proxy_protocol_v2.enabled

Indica se o Proxy Protocol versão 2 está habilitado. Por padrão, o Proxy Protocol está desabilitado.

stickiness.enabled

Indica se sticky sessions estão habilitadas.

stickiness.type

O tipo de perdurabilidade. O valor possível é source_ip.

target_group_health.dns_failover.minimum_healthy_targets.count

O número mínimo de destinos que devem ser íntegros. Se o número de destinos íntegros for menor do que esse valor, marque a zona como não íntegra no DNS, para que o tráfego seja roteado somente para zonas íntegras. Os valores possíveis são off ou um número inteiro de 1 até o número máximo de destinos. Quando off, a falha de DNS inativo estará desabilitada, o que significa que cada grupo de destino contribuirá de modo independente para o failover de DNS. O padrão é um.

target_group_health.dns_failover.minimum_healthy_targets.percentage

A porcentagem mínima de destinos que devem ser íntegros. Se a porcentagem de destinos íntegros for menor do que esse valor, marque a zona como não íntegra no DNS, para que o tráfego seja roteado somente para zonas íntegras. Os valores possíveis são off ou um número inteiro de 1 a 100. Quando off, a falha de DNS é desabilitada, o que significa que cada grupo de destino contribui de forma independente para o failover de DNS. O padrão é um.

target_group_health.unhealthy_state_routing.minimum_healthy_targets.count

O número mínimo de destinos que devem estar íntegros. Se o número de destinos íntegros for menor do que desse valor, envie tráfego para todos os alvos, incluindo alvos não íntegros. O intervalo é de 1 ao número máximo de destinos. O padrão é um.

target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage

O percentual mínimo de destinos que devem estar íntegros. Se a porcentagem de destinos íntegros for menor do que valor, envie tráfego para todos os destinos, incluindo destinos não íntegros. Os valores possíveis são off ou um número inteiro de 1 a 100. O padrão é off.

target_health_state.unhealthy.connection_termination.enabled

Indica se o balanceador de carga encerra as conexões com destinos não íntegros. O valor é true ou false. O padrão é true.

target_health_state.unhealthy.draining_interval_seconds

A quantidade de tempo que o Elastic Load Balancing deve esperar antes de alterar o estado de um alvo não íntegro de para. unhealthy.draining unhealthy O intervalo é de 0 a 360000 segundos. O valor de padrão é 0 segundos.

Nota: Esse atributo só pode ser configurado quando target_health_state.unhealthy.connection_termination.enabled éfalse.

Preservação do IP do cliente

Os Network Load Balancers podem preservar o endereço IP de origem dos clientes ao rotear solicitações para destinos de back-end. Quando você desabilita a preservação do IP do cliente, o endereço IP privado do Network Load Balancer torna-se o endereço IP do cliente para todo o tráfego de entrada.

Por padrão, a preservação do IP do cliente é habilitada (e não pode ser desabilitada) para grupos de destino de tipo de instância e de IP com os protocolos UDP e TCP_UDP. No entanto, você pode habilitar ou desabilitar a preservação do IP do cliente para grupos de destino TCP e TLS usando o atributo do grupo de destino preserve_client_ip.enabled.

Configurações padrão
  • Grupos de destino de tipo de instância: habilitados

  • Grupos de destino de tipo IP (UDP, TCP_UDP): habilitados

  • Grupos de destino do tipo IP (TCP, TLS): desabilitados

Requisitos e considerações
  • Quando a preservação do IP do cliente está habilitada, os destinos devem estar na mesma VPC que o Network Load Balancer e o tráfego deve fluir diretamente do Network Load Balancer para o destino.

  • Não há suporte para a preservação de IP quando é usado um endpoint do Gateway Load Balancer para inspecionar o tráfego entre o Network Load Balancer e o destino (instância ou IP), mesmo que o destino esteja na mesma Amazon VPC que o Network Load Balancer.

  • Os seguintes tipos de instância não oferecem suporte à preservação do IP do cliente: C1, CC1, CC2, CG1, CG2, CR1, G1, G2, HI1, HS1, M1, M2, M3 e T1. Recomendamos que você registre esses tipos de instância como endereços IP, com a preservação do IP do cliente desabilitada.

  • A preservação do IP do cliente não afeta o tráfego de entrada de AWS PrivateLink. O IP de origem do AWS PrivateLink tráfego é sempre o endereço IP privado do Network Load Balancer.

  • A preservação do IP do cliente não é compatível quando um grupo de destino contém ENIs do AWS PrivateLink ou a ENI de outro Network Load Balancer. Isso causará perda de comunicação com esses destinos.

  • A preservação do IP do cliente não afeta o tráfego convertido de IPv6 para IPv4. O IP de origem desse tipo de tráfego é sempre o endereço IP privado do Network Load Balancer.

  • Quando você especifica destinos por tipo de Application Load Balancer, o IP do cliente de todo o tráfego de entrada é preservado pelo Network Load Balancer e enviado ao Application Load Balancer. Em seguida, o Application Load Balancer anexa o IP do cliente ao cabeçalho de solicitação X-Forwarded-For antes de enviá-lo ao destino.

  • As alterações da preservação do IP do cliente só entram em vigor para novas conexões TCP.

  • O loopback NAT, também conhecido como hairpinning, não é compatível quando a preservação do IP do cliente está habilitada. Quando habilitada, você pode encontrar limitações de conexão TCP/IP relacionadas à reutilização observada de soquetes nos destinos. Essas limitações de conexão podem ocorrer quando um cliente ou um dispositivo NAT na frente do cliente usa o mesmo endereço IP de origem e porta de origem ao se conectar a vários nós do balanceador de carga simultaneamente. Se o balanceador de carga rotear essas conexões para o mesmo destino, as conexões aparecerão no destino como se viessem do mesmo soquete de origem, o que resultará em erros de conexão. Se isso acontecer, os clientes poderão tentar novamente (se a conexão falhar) ou se reconectar (se a conexão for interrompida). Você pode reduzir esse tipo de erro de conexão aumentando o número de portas temporárias de origem ou aumentando o número de destinos para o balanceador de carga. Você pode evitar esse tipo de erro de conexão desabilitando a preservação do IP do cliente ou desabilitando o balanceamento de carga entre zonas.

  • Quando a preservação do IP do cliente está desabilitada, o Network Load Balancer pode oferecer suporte a 55 mil conexões simultâneas ou a cerca de 55 mil conexões por minuto para cada destino exclusivo (endereço IP e porta). Se você exceder essas conexões, existirá uma probabilidade maior de erros de alocação de porta, resultando em falhas para o estabelecimento de novas conexões. Os erros na alocação de portas podem ser rastreados por meio da métrica PortAllocationErrorCount. Para corrigir erros na alocação de portas, adicione mais destinos ao grupo de destino. Para ter mais informações, consulte CloudWatch métricas para seu Network Load Balancer.

New EC2 experience
Configurar a preservação do IP do cliente usando a nova experiência do EC2
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em Load Balancing (Balanceamento de carga), escolha Grupos de destino.

  3. Escolha o nome do grupo de destino para abrir sua página de detalhes.

  4. Na guia Atributos, escolha Editar.

  5. Para habilitar a preservação do IP do cliente, ative Preservar endereços IP do cliente. Para desabilitar a preservação do IP do cliente, desative Preservar endereços IP do cliente.

  6. Escolha Salvar alterações.

Old EC2 experience
Configurar a preservação do IP do cliente usando a antiga experiência do EC2
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, selecione Grupos de destino.

  3. Selecione o grupo de destino e escolha Descrição, Editar atributos.

  4. Para habilitar a preservação do IP do cliente, selecione Preservar endereços IP do cliente. Para desabilitar a preservação do IP do cliente, desmarque Preservar endereços IP do cliente.

  5. Escolha Salvar.

Para ativar ou desativar a preservação do IP do cliente usando o AWS CLI

Use o modify-target-group-attributescomando com o preserve_client_ip.enabled atributo.

Por exemplo, use o comando a seguir para desabilitar a preservação do IP do cliente.

aws elbv2 modify-target-group-attributes --attributes Key=preserve_client_ip.enabled,Value=false --target-group-arn ARN

Sua saída deve ser similar ao exemplo a seguir.

{ "Attributes": [ { "Key": "proxy_protocol_v2.enabled", "Value": "false" }, { "Key": "preserve_client_ip.enabled", "Value": "false" }, { "Key": "deregistration_delay.timeout_seconds", "Value": "300" } ] }

Atraso do cancelamento do registro

Quando você cancela o registro de um destino, o balanceador de carga interrompe a criação de novas conexões com o destino. O load balancer usa a diminuição de conexão para garantir que o tráfego em trânsito seja concluído nas conexões existentes. Se o destino com o registro cancelado permanecer íntegro e uma conexão existente não estiver ociosa, o balanceador de carga poderá continuar enviando tráfego para o destino. Para garantir que essas conexões existentes sejam fechadas, você pode executar uma das ações a seguir: habilitar o atributo do grupo de destino para encerramento de conexões, garantir que a instância não esteja íntegra antes de cancelar o registro dela ou fechar periodicamente conexões de clientes.

O estado inicial de um destino que terá o registro cancelado é draining. Por padrão, o load balancer altera o estado de um destino que terá o registro cancelado para unused após 300 segundos. Para alterar a quantidade de tempo que o load balancer aguarda antes de alterar o estado de um destino que terá o registro cancelado para unused, atualize o valor de atraso do cancelamento do registro. Recomendamos que você especifique um valor de, pelo menos, 120 segundos para garantir que as solicitações sejam concluídas.

Se você habilitar o atributo do grupo de destino para encerramento de conexões, as conexões com destinos com registros cancelados serão fechadas logo após o final do tempo limite de cancelamento do registro.

New EC2 experience
Atualizar os atributos de cancelamento do registro usando a nova experiência do EC2
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, selecione Grupos de destino.

  3. Escolha o nome do grupo de destino para abrir sua página de detalhes.

  4. Na guia Atributos, escolha Editar.

  5. Para alterar o tempo limite de cancelamento do registro, insira um novo valor para Atraso do cancelamento de registro. Para garantir que as conexões existentes sejam fechadas após o cancelamento do registro dos destinos, selecione Encerrar conexões no cancelamento do registro.

  6. Escolha Salvar alterações.

Old EC2 experience
Atualizar os atributos de cancelamento do registro usando a antiga experiência do EC2
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, selecione Grupos de destino.

  3. Selecione o grupo de destino e escolha Descrição, Editar atributos.

  4. Para alterar o tempo limite de cancelamento do registro, insira um novo valor para Atraso do cancelamento de registro. Para garantir que as conexões existentes sejam fechadas após o cancelamento do registro dos destinos, selecione Encerramento de conexões no cancelamento do registro.

  5. Escolha Salvar.

Para atualizar os atributos de cancelamento de registro usando o AWS CLI

Use o comando modify-target-group-attributes.

Protocolo de proxy

Os Network Load Balancers usam o protocolo de proxy versão 2 para enviar informações de conexão adicionais, como a origem e o destino. O Proxy Protocol versão 2 oferece uma codificação binária do cabeçalho do Proxy Protocol. Com receptores de TCP, o balanceador de carga acrescenta um cabeçalho do protocolo de proxy aos dados de TCP. Ele não descarta nem substitui os dados existentes, inclusive cabeçalhos do protocolo de proxy enviados pelo cliente ou quaisquer outros proxies, balanceadores de carga ou servidores no caminho da rede. Portanto, é possível receber mais de um cabeçalho do Proxy Protocol. Além disso, se houver outro caminho de rede para os destinos fora do Network Load Balancer, o primeiro cabeçalho do protocolo de proxy pode não ser do seu Network Load Balancer.

Se você especificar destinos por endereço IP, os endereços IP de origem fornecidos às suas aplicações dependerão do protocolo do grupo de destino, da seguinte forma:

  • TCP e TLS: os endereços IP de origem são os endereços IP privados dos nós do balanceador de carga. Se você precisa dos endereços IP dos clientes, habilite o Proxy Protocol e obtenha os endereços IP dos clientes no cabeçalho do Proxy Protocol.

  • UDP e TCP_UDP: os endereços IP de origem são os endereços IP dos clientes.

Se você especificar destinos por ID de instância, os endereços IP de origem fornecidos aos aplicativos serão os endereços IP dos clientes. No entanto, se preferir, você poderá ativar o Proxy Protocol e obter os endereços IP dos clientes que se encontram no cabeçalho do Proxy Protocol.

nota

Os receptores TLS não oferecem suporte a conexões de entrada com cabeçalhos de protocolo de proxy enviados pelo cliente ou por quaisquer outros proxies.

Conexões de verificação de integridade

Depois que habilitar o Proxy Protocol, o cabeçalho do Proxy Protocol também será incluído nas conexões de verificação de integridade do load balancer. No entanto, com conexões de verificação de integridade, as informações de conexão do cliente não serão enviadas no cabeçalho do Proxy Protocol.

Serviços do VPC endpoint

Para o tráfego oriundo dos consumidores de serviço por meio de um serviço do VPC endpoint, os endereços IP de origem fornecidos aos seus aplicativos são os endereços IP privados dos nós do load balancer. Se os seus aplicativos precisam dos endereços IP dos consumidores de serviço, habilite o Proxy Protocol e obtenha os endereços IP no cabeçalho do Proxy Protocol.

O cabeçalho do Proxy Protocol também inclui o ID do endpoint. Essas informações são codificadas usando um vetor TLV (Type-Length-Value) personalizado, conforme mostrado a seguir.

Campo Comprimento (em octetos) Descrição

Tipo

1

PP2_TYPE_AWS (0xEA)

Length

2

O comprimento do valor

Valor

1

PP2_SUBTYPE_AWS_VPCE_ID (0x01)

variável (comprimento do valor menos 1) O ID do endpoint

Para obter um exemplo que analisa o tipo de TLV 0xEA, consulte https://github.com/aws/ /tree/master/proprot. elastic-load-balancing-tools

Habilitar o Proxy Protocol

Antes de habilitar o Proxy Protocol em um grupo de destino, certifique-se de que os aplicativos esperem e possam analisar o cabeçalho do Proxy Protocol v2. Caso contrário, poderá haver falha neles. Para obter mais informações, consulte o Proxy Protocol versões 1 e 2.

New EC2 experience
Habilitar o protocolo de proxy v2 usando a nova experiência do EC2
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, selecione Grupos de destino.

  3. Escolha o nome do grupo de destino para abrir a página de detalhes dele.

  4. Na guia Atributos, escolha Editar.

  5. Na página Editar atributos, selecione Protocolo de proxy v2.

  6. Escolha Salvar alterações.

Old EC2 experience
Habilitar o protocolo de proxy v2 usando a antiga experiência do EC2
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, selecione Grupos de destino.

  3. Selecione o grupo de destino.

  4. Escolha Descrição, Editar atributos.

  5. Em Proxy Protocol v2, escolha Habilitar.

  6. Escolha Salvar.

Para habilitar o protocolo proxy v2 usando o AWS CLI

Use o comando modify-target-group-attributes.

Sessões persistentes

As sticky sessions são um mecanismo para rotear tráfego de clientes para o mesmo destino em um grupo de destino. Isso é útil para servidores que mantêm as informações de estado em ordem para fornecer uma experiência contínua aos clientes.

Considerações
  • O uso de sticky sessions pode levar a uma distribuição desigual de conexões e de fluxos, o que pode afetar a disponibilidade dos destinos. Por exemplo, todos os clientes atrás do mesmo dispositivo NAT têm o mesmo endereço IP de origem. Portanto, todo o tráfego desses clientes é roteado para o mesmo destino.

  • O load balancer poderá redefinir as sticky sessions de um grupo de destino se o estado de integridade de qualquer um de seus destinos mudar ou se você registrar ou cancelar o registro de destinos com o grupo de destino.

  • Quando o atributo de aderência é ativado para um grupo-alvo, as verificações passivas de saúde não são suportadas. Para obter mais informações, consulte Verificações de saúde para seus grupos-alvo.

  • Sessões persistentes não são compatíveis com receptores TLS.

New EC2 experience
Habilitar sessões persistentes usando a nova experiência do EC2
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, selecione Grupos de destino.

  3. Escolha o nome do grupo de destino para abrir sua página de detalhes.

  4. Na guia Atributos, escolha Editar.

  5. Em Configuração da seleção do destino, ative Perdurabilidade.

  6. Escolha Salvar alterações.

Old EC2 experience
Habilitar sessões persistentes usando a antiga experiência do EC2
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, selecione Grupos de destino.

  3. Selecione o grupo de destino.

  4. Escolha Descrição, Editar atributos.

  5. Em Perdurabilidade, selecione Habilitar.

  6. Escolha Salvar.

Para ativar sessões fixas usando o AWS CLI

Use o modify-target-group-attributescomando com o stickiness.enabled atributo.