Como usar regras de encaminhamento para o Traffic Director

O Traffic Director usa a regra de encaminhamento para determinar o proxy de destino para o qual o tráfego na malha é roteado.

Cada regra de encaminhamento fornece um único endereço IPv4 global para um serviço. É possível usar esse endereço para criar registros DNS internos para seu serviço (por exemplo, usando uma zona privada gerenciada do Cloud DNS). Os filtros de metadados na regra de encaminhamento especificam os critérios para os quais um proxy secundário compatível com xDS recebe a configuração.

Para o plano de controle do Traffic Director, a regra de encaminhamento interna, autogerenciada e global encaminha o tráfego por endereço IP, porta e protocolo para um proxy de destino, que aponta para um mapa de URL que contém regras que determinam o destino do tráfego. O mapa de URL também especifica o serviço de back-end padrão, que especifica uma verificação de integridade e determina o back-end apropriado, como um grupo de instâncias gerenciadas contendo instâncias de máquina virtual ou um grupo de endpoints da rede contendo pods de back-end do GKE.

Regra de encaminhamento do Traffic Director destacada (clique para ampliar)
Regra de encaminhamento do Traffic Director destacada (clique para ampliar)

O diagrama mostra como uma regra de encaminhamento se encaixa na arquitetura do Traffic Director.

Propriedades da regra de encaminhamento

Um recurso de regra de encaminhamento contém as seguintes propriedades que se aplicam ao Traffic Director. O tráfego que corresponde ao endereço IP, ao protocolo e ao número da porta de destino é processado pela regra de encaminhamento.

Um endereço IP 0.0.0.0 em uma regra de encaminhamento é uma das opções com o Traffic Director. Um endereço IP 0.0.0.0 significa qualquer endereço IP.

  • Com uma implantação de proxy, isso permite que um proxy corresponda a qualquer tráfego de entrada se nenhuma outra correspondência específica for encontrada.
  • Com uma implantação sem proxy, isso fornece uma maneira de especificar que um endereço IP não é necessário. Veja mais detalhes abaixo sobre os endereços IP 0.0.0.0 com um proxy gRPC de destino.
name
[Obrigatório] Nome da regra de encaminhamento. O nome de uma regra precisa ser exclusivo no projeto, ter de 1 a 63 caracteres e coincidir com a expressão regular [a-z]([-a-z0-9]*[a-z0-9])?. Isso significa que o primeiro caractere precisa ser uma letra minúscula, e todos os seguintes precisam ser hífen, letra minúscula ou dígito, exceto o último, que não pode ser um hífen.
IPAddress
[Obrigatório:] precisa ser um dos seguintes: 0.0.0.0, 127.0.0.1 ou qualquer endereço RFC 1918. Os endereços IP das regras de encaminhamento do Traffic Director não precisam corresponder aos intervalos de endereços IP de sub-redes na rede VPC. Para uma determinada rede VPC, endereço IP e porta, você pode ter apenas uma regra de encaminhamento interna e autogerenciada. Por exemplo, na mesma rede VPC, não é possível criar duas regras de encaminhamento que usem o endereço IP 0.0.0.0 e a porta 80.
IPAddress com um proxy gRPC de destino
Uma regra de encaminhamento que referencie um proxy gRPC de destino com o campo validateForProxyless definido como TRUE precisa ter o endereço IP definido como 0.0.0.0. Um cliente gRPC que usa o esquema xds não realiza uma busca DNS para resolver o nome do host no URI do canal. Em vez disso, esse cliente resolve o nome do host [:port] no URI de destino enviando uma solicitação LDS (em inglês) para o Traffic Director. Não há busca de DNS envolvida, e uma entrada DNS do nome do host não é necessária. Como resultado, o Traffic Director usa o endereço IP 0.0.0.0 e a porta (padrão 80) especificada no URI para procurar a regra de encaminhamento. Em seguida, o Traffic Director procura uma regra de host correspondente no mapa de URLs do proxy de destino referenciado pela regra de encaminhamento.
target
[Obrigatório:] o proxy de destino para o qual esta regra de encaminhamento direciona o tráfego. O Traffic Director é compatível apenas com target-http-proxy. Quando você usa o Console do GCP para configurar a regra de encaminhamento, o proxy de destino é configurado automaticamente. Quando você usa gcloud ou a API, o proxy de destino precisa existir antes de criar a regra de encaminhamento. É possível usar mais de uma regra de encaminhamento com um determinado proxy.
IPProtocol
[Obrigatório] o tipo de protocolo correspondente a essa regra de encaminhamento. O único valor aceito é TCP.
loadBalancingScheme
[Obrigatório:] especifica como a regra de encaminhamento é usada. O valor válido para o Traffic Director é INTERNAL_SELF_MANAGED.
portRange

[Obrigatório:] uma porta ou um intervalo de portas mesclado por um traço. Os pacotes do protocolo especificado enviados para essas portas são encaminhados ao back-end apropriado. Você pode especificar um único número de um intervalo. Por exemplo, 80 ou 80-8080. Para uma determinada rede VPC, endereço IP e porta, você pode ter apenas uma regra de encaminhamento interna e autogerenciada. Por exemplo, na mesma rede VPC, não é possível criar duas regras de encaminhamento que usem o endereço IP 0.0.0.0 e a porta 80.

Nos serviços do gRPC sem proxy, a porta na regra de encaminhamento é correspondida à porta especificada no URI que um aplicativo gRPC usa para se conectar a um serviço. Se uma porta não for especificada no URI, 80 será a porta padrão.

network

[Obrigatório:] especifica a VPC em que as VMs do Google Cloud que executam proxies do Envoy estão localizadas. Os proxies Envoy leem a configuração do Traffic Director definida para a mesma rede em que os proxies são implantados. É possível usar a rede VPC denominada default ou uma rede personalizada.

O Traffic Director é compatível com o balanceamento de carga dos clientes somente na rede do Google Cloud, e você especifica o nome da rede na regra de encaminhamento. O peering de VPC não é compatível.

Como adicionar uma regra de encaminhamento global

Para saber como configurar uma regra de encaminhamento na configuração geral do Traffic Director, consulte:

A seguir