Proxies de destino para o Traffic Director

Ao configurar o Traffic Director, um dos recursos que você configurar será o proxy de destino.

No contexto do Traffic Director, os proxies de destino servem a dois propósitos principais:

  1. Eles têm um tipo específico. Esse tipo é usado para que os clientes do Traffic Director saibam qual protocolo usar ao abrir uma conexão aos back-ends/endpoints associados a um serviço.

  2. Eles combinam com outros recursos (por exemplo, regra de encaminhamento e mapas de URL) para criar um mapa de regras de roteamento. O mapa de regras de roteamento fornece recursos adicionais, como regras de roteamento, dependendo do tipo de proxy de destino. Geralmente, as seleções inválidas ficam ocultas na interface do usuário ou são rejeitadas pela API.

Proxies TCP de destino só podem ser configurados usando gcloud ou a API.

Os tipos de proxy de destino correspondem a diferentes protocolos de solicitação

O Traffic Director gera configurações diferentes para os clientes com base no tipo de proxy de destino que você configura. Quando você configura um tipo de proxy de destino diferente, o cliente usa um protocolo de solicitação específico.

  • Proxies HTTPS de destino: os clientes do Traffic Director iniciam conexões HTTPS
  • Proxies HTTP de destino: os clientes do Traffic Director iniciarão conexões HTTP
  • Proxies gRPC de destino: os clientes do Traffic Director iniciarão conexões gRPC
  • Proxies TCP de destino: os clientes do Traffic Director iniciarão conexões TCP

Você não precisa selecionar apenas um tipo. Por exemplo, o aplicativo pode usar HTTP ao abordar alguns serviços, mas usar TCP ao abordar outros serviços. Para esse caso de uso, você precisaria criar um proxy HTTP de destino e um proxy TCP de destino.

Combinações de recursos válidas em um mapa de regras de roteamento

Para evitar erros de configuração, o Traffic Director permite criar mapas de regra de roteamento que se pareçam com o seguinte:

  • Regra de encaminhamento -> proxy HTTPS de destino global -> Mapa de URL -> um ou mais serviços de back-end
  • Regra de encaminhamento -> Proxy HTTP de destino global -> Mapa de URL -> (um ou mais serviços de back-end)
  • Regra de encaminhamento -> Proxy gRPC de destino global -> Mapa de URL -> (um ou mais serviços de back-end)
  • Regra de encaminhamento -> Proxy TCP de destino global -> (um serviço de back-end)

As verificações de integridade e os back-ends não são mostrados acima.

Se você estiver usando o Console do Cloud para configurar um proxy HTTP de destino, esse proxy será definido implicitamente como parte da configuração do mapa de regras de roteamento. A configuração do proxy TCP ainda não é compatível com o Console do Cloud.

Se você estiver usando a interface de linha de comando gcloud ou as APIs, será necessário configurar o proxy de destino explicitamente.

Processamento de tráfego ao usar um proxy HTTP ou HTTPS de destino

Quando você configura serviços baseados em HTTP ou HTTPS, cada instância de serviço geralmente tem um proxy Envoy implantado com ela. Esse proxy do Envoy é configurado pelo Traffic Director. Ele faz parte do seu plano de dados da malha de serviço e lida com o tráfego da maneira a seguir.

O proxy Envoy recebe a solicitação de saída e compara o IP e a porta de destino da solicitação com o IP e a porta configurados em cada regra de encaminhamento que faz referência a um proxy HTTPs ou HTTP e destino. Se uma correspondência for encontrada, o proxy Envoy avaliará a solicitação de acordo com o mapa de URL correspondente do proxy de destino.

Processamento de tráfego ao usar um proxy TCP de destino

Quando você configura serviços baseados em TCP, cada instância de serviço geralmente tem um proxy Envoy implantado junto com ela. Esse proxy do Envoy é configurado pelo Traffic Director. Ele faz parte do seu plano de dados da malha de serviço e lida com o tráfego da maneira a seguir.

O proxy Envoy recebe a solicitação de saída e compara o IP e a porta de destino da solicitação com o IP e a porta configurados em cada regra de encaminhamento que referir-se a um proxy TCP de destino. Cada regra de encaminhamento roteia o tráfego TCP para um proxy de destino, que aponta para um serviço de back-end padrão, que especifica uma verificação de integridade e determina o back-end apropriado.

Processamento de tráfego ao usar o gRPC de destino

Quando você configura serviços baseados em gRPC, geralmente suas instâncias de serviço não têm proxies Envoy. Em vez disso, a biblioteca gRPC é configurada pelo Traffic Director. A biblioteca faz parte do plano de dados da malha de serviço e processa o tráfego da seguinte maneira:

A biblioteca do gRPC compara o hostname[:port] especificado no URI com as regras de host em todos os mapas de URL referenciados por um proxy gRPC de destino. Se uma correspondência for encontrada, a biblioteca gRPC avalia a solicitação de acordo com as regras de caminho associadas à regra de host correspondente.

Recursos de proxy de destino

Para adicionar, excluir, listar e receber informações sobre proxies de destino, use a API REST ou o SDK gcloud.

No entanto, é possível usar os comandos gcloud a seguir para receber informações sobre um proxy de destino:

gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies ] list
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies ] describe target-proxy-name

APIs

Para descrições das propriedades e dos métodos disponíveis ao trabalhar com proxies de destino por meio da API REST, consulte as seguintes páginas:

Somente os recursos TargetHttpsProxies,TargetHttpProxies, TargetTcpProxies, e TargetGrpcProxies são compatíveis com o Traffic Director.

gcloud SDK

Para a ferramenta de linha de comando gcloud, consulte as seguintes páginas:

A seguir

Para mais informações sobre como implantar o Traffic Director, consulte a documentação de implantação do Traffic Director.