Grupos de destino para seus Application 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 seus Application Load Balancers

Cada grupo de destino é usado para rotear solicitações para um ou mais destinos registrados. Ao criar cada regra do listener, especifique um grupo de destino e condições. Quando uma condição da regra é atendida, o tráfego é encaminhado para o grupo de destino correspondente. 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 Application 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.

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 são compatíveis com os seguintes protocolos e portas:

  • Protocolos: HTTP, HTTPS

  • Portas: 1-65535

Se um grupo de destino for configurado com o protocolo HTTPS ou usar as verificações de integridade do HTTPS, as conexões TLS com os destinos usarão as configurações de segurança daELBSecurityPolicy-2016-08política. O load balancer estabelece 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 load balancer está em uma nuvem privada virtual (VPC), o tráfego entre o load balancer e os destinos é autenticado no nível do pacote e, portanto, não corre o risco de ataques man-in-the-middle ou de falsificações mesmo que os certificados nos destinos não sejam válidos.

Target type

Durante a criação de um grupo de destino, você especifica seu tipo de destino, que determina o tipo de destino especificado ao registrar destinos com esse grupo de destino. Depois de criar um grupo de destino, você não pode mudar o seu 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 endereços IP.

lambda

O destino é uma função Lambda.

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/8 (RFC 1918)

  • 100.64.0/10 (RFC 6598)

  • 172.16.0.0/12 (RFC 1918)

  • 192.168.0.0/16 (RFC 1918)

Esses blocos CIDR suportados permitem que você registre o seguinte com um grupo de destino: Instâncias ClassicLink, instâncias em uma VPC emparelhada à VPC do load balancer (mesma região ou região diferente),AWSRecursos endereçáveis por endereço IP e porta (por exemplo, bancos de dados) e recursos no local vinculados aAWSatravés doAWS Direct ConnectOu uma conexão Site-to-Site VPN.

Importante

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

Se você especificar destinos usando um ID de instância, o tráfego é roteado para instâncias usando o endereço IP privado especificado na interface de rede principal para a instância. 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. Cada interface de rede pode ter seu próprio security group.

Se o tipo de destino do seu grupo de destino for lambda, você poderá registrar uma única função Lambda. Quando o load balancer recebe uma solicitação para a função Lambda, ele invoca a função Lambda. Para obter mais informações, consulte Funções Lambda como destinos.

Versão do protocolo

Por padrão, os Application Load Balancers enviam solicitações para destinos usando HTTP/1.1. Você pode usar a versão do protocolo para enviar solicitações para destinos usando HTTP/2 ou gRPC.

A tabela a seguir resume o resultado das combinações de protocolo de solicitação e versão do protocolo do grupo de destino.

Protocolo de solicitação Versão do protocolo Result
HTTP/1.1 HTTP/1.1 Bem-sucedida
HTTP/2 HTTP/1.1 Bem-sucedida
gRPC HTTP/1.1 Erro
HTTP/1.1 HTTP/2 Erro
HTTP/2 HTTP/2 Bem-sucedida
gRPC HTTP/2 Sucesso se os alvos suportarem gRPC
HTTP/1.1 gRPC Erro
HTTP/2 gRPC Sucesso se uma solicitação POST
gRPC gRPC Bem-sucedida

Considerações para a versão do protocolo gRPC

  • O único protocolo de ouvinte suportado é HTTPS.

  • O único tipo de ação suportado para regras de ouvinte éforward.

  • Os únicos tipos de destino suportados sãoinstanceeip.

  • O balanceador de carga analisa solicitações gRPC e roteia as chamadas gRPC para os grupos de destino apropriados com base no pacote, serviço e método.

  • O balanceador de carga suporta streaming unário, do lado do cliente, streaming do lado do servidor e streaming bidirecional.

  • Você deve fornecer um método de verificação de integridade personalizado com o formato/package.service/method.

  • Você deve especificar os códigos de status gRPC a serem usados ao verificar uma resposta bem-sucedida de um destino.

  • Não é possível usar as funções Lambda como destinos.

Considerações para a versão do protocolo HTTP/2

  • O único protocolo de ouvinte suportado é HTTPS.

  • O único tipo de ação suportado para regras de ouvinte éforward.

  • Os únicos tipos de destino suportados sãoinstanceeip.

  • O balanceador de carga suporta streaming de clientes. O load balancer não oferece suporte a streaming para os destinos.

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. 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 as solicitações de roteamento para um destino recém-registrado assim que o processo de registro é concluído e o destino passa pelas verificações de integridade iniciais.

Se a demanda na seu aplicativo diminuir, ou se você precisar fazer manutenção nos seus destinos, você pode cancelar o registro dos destinos dos seus 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 as solicitações de roteamento ao destino assim que o registro dele for 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 de solicitações.

Se você estiver registrando destinos por ID de instância, poderá usar o seu load balancer com um grupo do Auto Scaling. Após anexar um grupo de destino a um grupo Auto Scaling, o Auto Scaling registrará seus destinos no grupo de destino para você quando ele for iniciado. Para obter mais informações, consulteAnexar um load balancer ao seu grupo do Auto ScalingnoGuia do usuário do Amazon EC2 Auto Scaling.

Limits

  • Não é possível registrar os endereços IP de outro Application Load Balancer na mesma VPC. Se o outro Application Load Balancer estiver em uma VPC emparelhada com a VPC do load balancer, você poderá registrar os endereços IP.

Atributos do grupo de destino

Os seguintes atributos do grupo de destino são compatíveis se o tipo de grupo de destino for instance ou ip:

deregistration_delay.timeout_seconds

A quantidade de tempo para o Elastic Load Balancing esperar antes de cancelar o registro de um destino. O intervalo é de 0 a 3.600 segundos. O valor de padrão é de 300 segundos.

load_balancing.algorithm.type

O algoritmo de balanceamento de carga determina como o load balancer seleciona os destinos ao rotear as solicitações. O valor é round_robin ou least_outstanding_requests. O padrão é round_robin.

slow_start.duration_seconds

O período, em segundos, durante o qual o load balancer envia a um destino recém-registrado uma parcela de tráfego com aumento linear ao grupo de destino. O intervalo é de 30 a 900 segundos (15 minutos). O padrão é 0 segundos (desativado).

stickiness.enabled

Indica se sticky sessions estão habilitadas. O valor é true ou false. O padrão é false.

stickiness.app_cookie.cookie_name

O nome do cookie de aplicativo. O nome do cookie do aplicativo não pode ter os seguintes prefixos:AWSALB,AWSALBAPP, ouAWSALBTG; eles são reservados para uso pelo load balancer.

stickiness.app_cookie.duration_seconds

O período de expiração do cookie baseado na aplicação, em segundos. Após esse período, o cookie será considerado antigo. O valor mínimo é 1 segundo e o valor máximo é 7 dias (604.800 segundos). O valor padrão é de 1 dia (86.400 segundos).

stickiness.lb_cookie.duration_seconds

O período de expiração do cookie baseado na duração, em segundos. Após esse período, o cookie será considerado antigo. O valor mínimo é 1 segundo e o valor máximo é 7 dias (604.800 segundos). O valor padrão é de 1 dia (86.400 segundos).

stickiness.type

O tipo de perdurabilidade. Os valores possíveis são lb_cookie e app_cookie.

O seguinte atributo do grupo de destino é compatível se o tipo de grupo de destino for lambda:

lambda.multi_value_headers.enabled

Indica se os cabeçalhos da solicitação e resposta trocados entre o load balancer e a função Lambda incluem matrizes de valores ou strings. Os valores possíveis são true ou false. O valor padrão é false. Para obter mais informações, consulte Cabeçalhos de vários valores.

Algoritoritmo

Por padrão, o algoritmo de roteamento de ida e volta é usado para rotear solicitações no nível do grupo de destino. Em vez disso, você pode especificar o algoritmo de roteamento de solicitações menos pendentes.

Pense em usar solicitações menos pendentes quando as solicitações ao seu aplicativo variarem em complexidade ou seus destinos variarem em capacidade de processamento. O algoritmo de ida e volta é uma boa opção quando as solicitações e os destinos são semelhantes ou quando você precisa distribuir as solicitações igualmente entre os destinos. Você pode comparar o efeito do algoritmo de ida e volta e o efeito das solicitações menos pendentes usando as seguintes métricas do CloudWatch: RequestCount,TargetConnectionErrorCount, eTargetResponseTime.

Considerations

  • Não é possível habilitar as solicitações menos pendentes e o modo de início lento.

  • Se você habilitar sticky sessions, o algoritmo de roteamento do grupo de destino será substituído após a seleção inicial de destino.

  • Com HTTP/2, o load balancer converte a solicitação em várias solicitações HTTP/1.1; portanto, a solicitação menos pendente trata cada solicitação HTTP/2 como várias solicitações.

  • Quando você usa solicitações menos pendentes com o WebSockets, o destino é selecionado usando solicitações menos pendentes. O load balancer cria uma conexão com esse destino e envia todas as mensagens por essa conexão.

New console

Para modificar o algoritmo de roteamento usando o novo console

  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 details.

  4. NoDetalhes do grupo do, na guiaAtributos., selecioneEdite.

  5. NoEditar atributos, paraAlgoritmo de load, escolhaRound robinouSolicitações menos pendentes.

  6. Selecione Save changes.

Old console

Para modificar o algoritmo de roteamento usando o console antigo

  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. Na guia Descrição, selecione Editar atributos.

  5. Na página Edit attributes (Editar atributos), em Load balancing algorithm (Algoritmo de balanceamento de carga), escolha Round robin (Ida e volta) ou Least outstanding requests (Solicitações menos pendentes) e, em seguida, Save (Salvar).

Para modificar o algoritmo de roteamento usando a AWS CLI

Use o comando modify-target-group-attributes com o atributo load_balancing.algorithm.type.

Atraso do cancelamento do registro

O Elastic Load Balancing interrompe o envio de solicitações aos destinos cujo registro está sendo cancelado. Por padrão, o Elastic Load Balancing aguarda 300 segundos antes de concluir o processo de cancelamento do registro, o que pode ajudar a solicitações em andamento para o destino a serem concluídas. Para alterar a quantidade de tempo que o Elastic Load Balancing aguarda, atualize o valor de retardo de cancelamento do registro.

O estado inicial de um destino que terá o registro cancelado é draining. Depois de decorrido o retardo de cancelamento do registro, processo será concluído e o estado do destino será unused. Se o destino for parte de um grupo do Auto Scaling, ele poderá ser encerrado e substituído.

Se um destino cujo registro estiver sendo cancelado não tiver solicitações em andamento nem conexões ativas, o Elastic Load Balancing concluirá imediatamente o processo de cancelamento de registro, sem aguardar o tempo de espera transcorrer. No entanto, mesmo que o cancelamento do registro de destino seja concluído, o status do destino será exibido comodrainingaté que o tempo limite de atraso de cancelamento do registro expire. Depois que o tempo limite expirar, o destino faz a transição para umunusedestado.

Se cancelar o registro de um destino encerrar a conexão antes de o retardo de cancelamento do registro passar, o cliente receberá uma resposta de erro de nível 500.

New console

Para atualizar o valor de retardo de cancelamento do registro usando o novo console

  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 details.

  4. NoDetalhes do grupo do, na guiaAtributos., selecioneEdite.

  5. NoEditar atributos, altere o valor deAtraso do cancelamento do registroconforme necessário.

  6. Selecione Save changes.

Old console

Para atualizar o valor de retardo de cancelamento do registro usando o console antigo

  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. Na guia Descrição, selecione Editar atributos.

  5. Na página Editar atributos, altere o valor do Atraso no cancelamento do registro conforme o necessário e, em seguida, selecione Salvar.

Para atualizar o valor de atraso de cancelamento do registro usando a AWS CLI

Use o comando modify-target-group-attributes com o atributo deregistration_delay.timeout_seconds.

Modo de iniciação lenta

Por padrão, um destino começa a receber toda sua parte de solicitações assim que for registrado com um grupo de destino e enviar uma verificação de integridade inicial. Usar o modo de iniciação lenta oferece tempo para que os destinos aqueçam antes que o load balancer envie toda a parte de solicitações.

Com a iniciação lenta habilitada para um grupo de destino, os destinos entrarão no modo de iniciação lenta quando forem considerados íntegros pelo grupo de destino. Um destino sai do modo de iniciação lenta quando a duração da iniciação lenta configurada expira ou o destino se torna não íntegro. O load balancer aumenta linearmente o número de solicitações enviadas a um destino no modo de iniciação lenta. Assim que um destino íntegro sai do modo de iniciação lenta, o load balancer pode enviar uma parte total de solicitações.

Considerations

  • Quando você habilita a iniciação lenta para um grupo de destino, os destinos íntegros que já estão registrados no grupo não entram no modo de iniciação lenta.

  • Ao habilitar a iniciação lenta para um grupo de destino vazio e registrar destinos usando uma única operação de registro, esses destinos não entram no modo de iniciação rápida. Os destinos recém-registrados entram no modo de iniciação lenta somente quando há pelo menos um destino íntegro que não esteja no modo de iniciação lenta.

  • Se você cancelar o registro de um destino no modo de iniciação lenta, o destino sai do modo. Se você registrar o mesmo destino novamente, ele entrará no modo de iniciação lenta quando for considerado íntegro pelo grupo de destino.

  • Se um destino no modo de iniciação lenta se tornar não íntegro, o destino sairá do modo de iniciação lenta. Quando o destino se tornar íntegro, ele entrará novamente no modo de iniciação lenta.

  • Não é possível habilitar o modo de início lento e as solicitações menos pendentes.

New console

Para atualizar o valor de duração da iniciação lenta usando o novo console

  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 details.

  4. NoDetalhes do grupo do, na guiaAtributos., selecioneEdite.

  5. NoEditar atributos, altere o valor deDuração do inícioconforme necessário. Para desativar o modo de iniciação lenta, defina a duração para 0.

  6. Selecione Save changes.

Old console

Para atualizar o valor de duração da iniciação lenta usando o console antigo

  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. Na guia Descrição, selecione Editar atributos.

  5. Na página Editar atributos, altere o valor da Duração da iniciação lenta conforme o necessário e, em seguida, selecione Salvar. Para desativar o modo de iniciação lenta, defina a duração para 0.

Para atualizar o valor de duração da iniciação lenta usando a AWS CLI

Use o comando modify-target-group-attributes com o atributo slow_start.duration_seconds.