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-alvo para seus balanceadores de carga de rede
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 obter mais informações, consulte Componentes 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 obter mais informações, consulte Verificações de integridade para os grupos de destino.
Índice
- Configuração de roteamento
- Target type
- Tipo de endereço IP
- Destinos registrados
- Atributos do grupo de destino
- Preservação do IP do cliente
- Atraso do cancelamento do registro
- Proxy Protocol
- Sticky sessions
- Crie um grupo de destino para o Network Load Balancer
- Verificações de integridade para os grupos de destino
- Balanceamento de carga entre zonas para grupos de destino
- Saúde do grupo de destino
- Registrar destinos com o grupo de destino
- Balanceadores de carga de aplicativos como alvos
- Tags para o grupo de destino
- Excluir um grupo 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-alvo dos balanceadores de carga de rede oferecem suporte aos 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, não corre o risco de man-in-the-middle ataques ou falsificação, mesmo que os certificados nos alvos 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 |
laboratório |
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, não é necessário alterar o tipo de destino.
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:
Você não pode especificar publicamente endereços IP roteáveis.
Todos os blocos CIDR suportados permitem que você registre os seguintes alvos em um grupo-alvo:
-
ClassicLink instâncias. Para obter mais informações ClassicLink, consulte o Guia do usuário do Amazon EC2 para instâncias do Linux.
-
AWSrecursos endereçáveis por endereço IP e porta (por exemplo, bancos de dados).
-
Recursos locais vinculadosAWS aAWS Direct Connect uma conexão do Site-to-Site VPN.
Quando a preservação de IP do cliente está desativada para seus grupos de destino, o balanceador de carga pode suportar aproximadamente 55.000 conexões por minuto para cada combinação de endereço IP do Network Load Balancer. 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 alvos 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 obter mais informações, consulte Balanceadores de carga de aplicativos como alvos.
Os balanceadores de carga de rede não oferecem suporte ao tipo delambda
destino. Os Application Load Balancers são os únicos balanceadores de carga que oferecem suporte ao tipo delambda
destino. Para obter mais informações, consulte Funções do Lambda como destinos no Guia do usuário para 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 fornecer comunicação entre elas, a menos que o balanceador de carga esteja voltado para a Internet ou as instâncias estejam registradas por endereço IP. Para obter 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 as instâncias usando o endereço IP privado primário especificado na interface de rede primária da 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 como permitir tráfego para suas instâncias, consulteGrupos de segurança de destino.
Tipo de endereço IP
Ao criar um novo grupo-alvo, você pode selecionar o tipo de endereço IP do seu grupo-alvo. Isso controla a versão IP usada para se comunicar com os alvos e verificar seu estado de saúde.
Os Network Load Balancers são compatíveis com os grupos de destino IPv4 e IPv6. A seleção padrão é IPv4. Grupos de destino IPv6 só podem ser associados a balanceadores de carga de rede de pilha dupla.
Considerações
-
Todos os endereços IP dentro de um grupo-alvo 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.
-
Grupos de destino IPv6 só podem ser usados com balanceadores de
dualstack
carga com ouvintes TCP ou TLS. -
Os grupos de destino IPv6 só oferecem suporte a destinos do tipo IP.
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 por seu aplicativo diminuir ou se você precisar atender às suas metas, você poderá cancelar o registro de alvos de seus grupos-alvo. 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 alvos por ID de instância, poderá usar seu balanceador de carga com um grupo de Auto Scaling. Depois de anexar um grupo-alvo a um grupo de Auto Scaling, o Auto Scaling registra seus alvos com o grupo-alvo para você quando os inicia. Para obter mais informações, consulte Associar 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 elas usarem um dos seguintes tipos de instância: CGG, GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
-
Você não pode registrar instâncias por ID de instância se elas estiverem em uma VPC vinculada à 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 somente nas zonas de disponibilidade que estão habilitadas. Os alvos em zonas que não estã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: CG, GGGGG. GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG Os alvos que residem fora da VPC do balanceador de carga ou usam um tipo de instância sem suporte podem receber tráfego do balanceador de carga, mas não conseguirem responder.
Atributos do grupo de destino
A seguir estão os atributos do grupo de destino:
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
paraunused
. 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
oufalse
. O padrão éfalse
. load_balancing.cross_zone.enabled
-
Indica se o balanceamento de carga entre zonas está habilitado. O valor é
true
,false
ouuse_load_balancer_configuration
. O padrão éuse_load_balancer_configuration
. preserve_client_ip.enabled
-
Indica se a preservação do IP do cliente está ativada. O valor é
true
oufalse
. 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 de IP do cliente não pode ser desativada 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 alvos que devem ser saudáveis. Se o número de alvos íntegros estiver abaixo desse valor, marque a zona como não íntegra no DNS, para que o tráfego seja roteado somente para zonas saudáveis. Os valores possíveis são
off
ou um número inteiro de 1 até o número máximo de alvos. O padrão éoff
. target_group_health.dns_failover.minimum_healthy_targets.percentage
-
A porcentagem mínima de metas que devem ser saudáveis. Se a porcentagem de alvos saudáveis estiver abaixo desse valor, marque a zona como não íntegra no DNS, para que o tráfego seja roteado somente para zonas saudáveis. Os valores possíveis são
off
ou um número inteiro de 1 a 100. O padrão éoff
. target_group_health.unhealthy_state_routing.minimum_healthy_targets.count
-
O número mínimo de alvos que devem ser saudáveis. Se o número de alvos saudáveis estiver abaixo desse valor, envie tráfego para todos os alvos, incluindo alvos não saudáveis. O intervalo é de 1 até o número máximo de alvos. O padrão é 1.
target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage
-
A porcentagem mínima de metas que devem ser saudáveis. Se a porcentagem de alvos saudáveis estiver abaixo desse valor, envie tráfego para todos os alvos, incluindo alvos não saudáveis. Os valores possíveis são
off
ou um número inteiro de 1 a 100. O padrão éoff
.
Preservação do IP do cliente
Os balanceadores de carga de rede podem preservar o endereço IP de origem dos clientes ao rotear solicitações para destinos de back-end. Quando você desativa a preservação do IP do cliente, o endereço IP privado do Network Load Balancer se torna o endereço IP do cliente para todo o tráfego de entrada.
Por padrão, a preservação do IP do cliente está habilitada (e não pode ser desativada) para grupos alvo de exemplo e tipo de IP com protocolos UDP e TCP_UDP. No entanto, você pode ativar ou desativar a preservação do IP do cliente para grupos-alvo TCP e TLS usando o atributo de grupopreserve_client_ip.enabled
alvo.
Configurações padrão
-
Grupos-alvo do tipo de instância: Habilitado
-
Grupos de destino do tipo IP (UDP, TCP_UDP): habilitado
-
Grupos de destino do tipo IP (TCP, TLS): desativado
Requisitos e considerações
-
Quando a preservação de 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.
-
Não há suporte para a preservação de IP do cliente quando o tráfego é encaminhado por meio de um endpoint do Gateway Load Balancer, mesmo que o destino esteja na mesma VPC que o Network Load Balancer.
-
Os seguintes tipos de instância não oferecem suporte para a preservação de IP do cliente: CG Recomendamos que você registre esses tipos de instância como endereços IP com a preservação do IP do cliente desativada.
-
A preservação do IP do cliente não afeta o tráfego de entrada deAWS PrivateLink. O IP de origem doAWS PrivateLink tráfego é sempre o endereço IP privado do Network Load Balancer.
-
A preservação do IP do cliente não é suportada quando um grupo-alvo contémAWS PrivateLink ENIs ou a ENI de outro Network Load Balancer. Isso causará perda de comunicação com esses alvos.
-
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 alvos 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 da
X-Forwarded-For
solicitação antes de enviá-lo ao destino. -
As alterações na preservação do IP do cliente entram em vigor somente para novas conexões TCP.
-
Quando a preservação do IP do cliente está ativada, você pode encontrar limitações de conexão TCP/IP relacionadas à reutilização observada de soquetes nos alvos. 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 fossem 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 efêmeras de origem ou aumentando o número de alvos para o balanceador de carga. Você pode evitar esse tipo de erro de conexão desativando a preservação do IP do cliente ou desativando o balanceamento de carga entre zonas.
-
Seu Network Load Balancer suporta 55.000 conexões simultâneas ou aproximadamente 55.000 conexões por minuto para cada destino exclusivo (porta e endereço IP). Se você exceder essas conexões, há uma chance maior de erros de alocação de porta, resultando em falhas no estabelecimento de novas conexões. Os erros de alocação de portas podem ser rastreados usando a
PortAllocationErrorCount
métrica. Para corrigir erros de alocação de porta, adicione mais destinos ao grupo de destino. Para obter mais informações, consulte CloudWatch métricas para o Network Load Balancer.
Para ativar ou desativar a preservação do IP do cliente usando oAWS CLI
Use o modify-target-group-attributescomando com opreserve_client_ip.enabled
atributo.
Por exemplo, use o comando a seguir para desabilitar a preservação de IP do cliente.
aws elbv2 modify-target-group-attributes --attributes Key=preserve_client_ip.enabled,Value=
false
--target-group-arnARN
Sua saída deve ser similar ao seguinte exemplo.
{
"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 para de criar 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 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 as conexões existentes sejam fechadas, você pode fazer o seguinte: habilitar o atributo do grupo de destino para o encerramento da conexão, garantir que a instância não esteja íntegra antes de cancelar o registro ou fechar periodicamente as conexões do cliente.
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 de grupo de destino para o encerramento da conexão, as conexões com destinos cancelados serão encerradas logo após o término do tempo limite de cancelamento do registro.
Para atualizar os atributos de cancelamento de registro usando oAWS CLI
Use o comando modify-target-group-attributes.
Proxy Protocol
Os Network Load Balancers usam o protocolo proxy versão 2 para enviar informações adicionais de conexão, como origem e destino. O Proxy Protocol versão 2 oferece uma codificação binária do cabeçalho do Proxy Protocol. O load balancer acrescenta um cabeçalho do Proxy Protocol aos dados TCP. Ele não descarta ou substitui os dados existentes, incluindo os cabeçalhos do Proxy Protocol enviados pelo cliente ou quaisquer outros proxies, load balancers 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 seus destinos fora do Network Load Balancer, o primeiro cabeçalho do protocolo proxy pode não ser o do seu Network Load Balancer.
Se você especificar destinos por endereço IP, os endereços IP de origem fornecidos aos seus aplicativos 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.
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 |
---|---|---|
Type |
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 ver um exemplo que analisa o tipo TLV 0xEA, consulte https://github.com/aws/elastic-load-balancing-tools /tree/master/proprot
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
Como habilitar o Proxy Protocol v2 usando a AWS CLI
Use o comando modify-target-group-attributes.
Sticky sessions
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.
-
As sticky sessions não são compatíveis com listeners TLS nem com grupos de destino TLS.
Para habilitar sticky sessions usando a AWS CLI
Use o modify-target-group-attributescomando com ostickiness.enabled
atributo.