Proxies de destino para Traffic Director

Este documento solo se aplica a Traffic Director con las APIs de balanceo de cargas. Te recomendamos que uses las APIs de enrutamiento de servicios o las APIs de Google Kubernetes Engine Gateway para implementar Traffic Director.

Cuando configuras Traffic Director, el proxy de destino es uno de los recursos que configuras. En el contexto de Traffic Director, los proxies de destino tienen dos propósitos principales:

  • Definir el protocolo que usan los clientes de Traffic Director cuando abren una conexión hacia los backends o extremos asociados con un servicio.

  • Trabajar con reglas de reenvío y mapas de URL para crear un mapa de reglas de enrutamiento. El mapa de reglas de enrutamiento proporciona funciones adicionales, como reglas de enrutamiento, según el tipo de proxy de destino. Las selecciones no válidas se ocultan en la interfaz de usuario o la API las rechaza.

Tipos de proxy de destino y protocolos de solicitud

Traffic Director genera diferentes opciones de configuración para sus clientes en función del tipo de proxy de destino que configures. Cuando configuras un tipo de proxy de destino, el cliente de Traffic Director usa un protocolo de solicitud específico.

Proxy de destino Protocolo de solicitud
HTTPS Los clientes inician conexiones HTTPS
HTTP Los clientes inician conexiones HTTP
gRPC Los clientes inician conexiones de gRPC
TCP Los clientes inician conexiones TCP

No estás restringido a elegir un solo tipo. Por ejemplo, tu aplicación podría querer usar HTTP cuando se direcciona a algunos servicios, pero usa TCP cuando se direcciona a otros servicios. Para este caso de uso, debes crear un proxy HTTP de destino y un proxy TCP de destino.

Combinaciones de recursos válidas en un mapa de reglas de enrutamiento

Para evitar opciones de configuración incorrectas, Traffic Director solo te permite crear mapas de reglas de enrutamiento que se vean de la siguiente manera:

  • Regla de reenvío > Proxy HTTPS de destino global > Mapa de URL > uno o más servicios de backend
  • Regla de reenvío > Proxy HTTP de destino global > Mapa de URL > uno o más servicios de backend
  • Regla de reenvío > Proxy de gRPC de destino global > Mapa de URL > uno o más servicios de backend
  • Regla de reenvío > Proxy TCP de destino global > un servicio de backend

Si usas la consola de Google Cloud para configurar un proxy HTTP de destino, el proxy de destino se configura de forma implícita como parte de la configuración del mapa de reglas de enrutamiento. Aún no se admite la configuración del proxy TCP en la consola de Google Cloud.

Si usas la CLI de Google Cloud o las API, debes configurar el proxy de destino de forma explícita.

Control del tráfico

En las siguientes secciones, se describen las formas de manejar el tráfico según el tipo de proxy de destino que uses.

Usa un proxy HTTP o HTTPS de destino

Cuando configuras servicios basados en HTTP o HTTPS, por lo general, cada instancia de servicio tiene un proxy de Envoy implementado junto a él. Traffic Director configura este proxy de Envoy. Es parte de tu plano de datos de malla de servicios y controla el tráfico de la siguiente manera.

El proxy de Envoy recibe la solicitud saliente. Luego, compara la dirección IP y el puerto de destino de la solicitud con la dirección IP y el puerto que se configura en cada regla de reenvío que hace referencia a un proxy HTTP o HTTPS de destino. Si se encuentra una coincidencia, el proxy de Envoy evalúa la solicitud según el mapa de URL correspondiente del proxy de destino.

Usa un proxy TCP de destino

Cuando configuras servicios basados en TCP, por lo general, cada instancia de servicio tiene un proxy de Envoy implementado junto a él. Traffic Director configura este proxy de Envoy. Es parte de tu plano de datos de malla de servicios y controla el tráfico de la siguiente manera.

El proxy de Envoy recibe la solicitud saliente. Luego, compara la dirección IP y el puerto de destino de la solicitud con la dirección IP y el puerto configurados en cada regla de reenvío que hace referencia a un proxy TCP de destino. Cada regla de reenvío enruta el tráfico de TCP a un proxy de destino que apunta a un servicio de backend predeterminado. El servicio de backend especifica una verificación de estado y determina el backend adecuado.

Usa un proxy de gRPC de destino

Cuando configuras servicios basados en gRPC, por lo general, las instancias de servicio, no tienen proxies de Envoy implementados junto con ellas. En su lugar, Traffic Director configura la biblioteca de gRPC. La biblioteca es parte del plano de datos de la malla de servicios y controla el tráfico de la siguiente manera.

La biblioteca de gRPC compara el hostname[:port] especificado en el URI con las reglas de host en todos los mapas de URL a los que hace referencia un proxy de gRPC de destino. Si se encuentra una coincidencia, la biblioteca de gRPC evaluará la solicitud según las reglas de ruta de acceso asociadas a la regla de host correspondiente.

Recursos del proxy de destino

Para agregar, borrar, enumerar y obtener información sobre los proxies de destino, puedes usar la API de REST o la CLI de gcloud.

Además, para obtener información sobre un proxy de destino, puedes usar los siguientes comandos de gcloud:

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 obtener descripciones de las propiedades y los métodos disponibles cuando trabajas con proxies de destino mediante la API de REST, consulta los siguientes recursos que admite Traffic Director:

CLI de gcloud

Para obtener más información sobre la CLI de Google Cloud, consulta los siguientes recursos:

¿Qué sigue?