Proxies de destino para Traffic Director

Cuando configuras Traffic Director, el proxy de destino es uno de los recursos que configuras. Si usas Google Cloud Console, el proxy de destino se configura de forma implícita como parte de la configuración del mapa de reglas de enrutamiento.

En el contexto de Traffic Director, los proxies de destino tienen dos propósitos principales:

  1. Estos asocian una regla de reenvío, que proporciona una IP:port, con un mapa de URL, que proporciona reglas de enrutamiento. Esto permite que tu malla de servicios determine qué reglas de enrutamiento usar cuando se controla una solicitud en particular.
  2. Tienen un tipo específico: son el proxy HTTP de destino o el proxy de gRPC de destino. El tipo garantiza que no configures campos que no sean relevantes para los tipos de tráfico específicos. También determina el comportamiento del proxy de destino.
Regla de reenvío de Traffic Director destacada (haz clic para ampliar)
Proxy de destino de Traffic Director destacado (haz clic para ampliar)

En el diagrama, se muestra cómo un proxy de destino se ajusta a la arquitectura de Traffic Director.

Compara el proxy HTTP de destino para alcanzar el proxy de gRPC

Si configuras servicios basados en HTTP, debes elegir un proxy HTTP de destino. Si configuras servicios basados en gRPC, debes elegir un proxy de gRPC de destino.

Controla el tráfico cuando uses un proxy HTTP de destino

Cuando configuras servicios basados en HTTP, por lo general, cada instancia de servicio tendrá un proxy Envoy implementado junto a él. Este proxy se configura mediante Traffic Director, es parte del plano de datos de la malla de servicios y controla el tráfico de la siguiente manera.

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

Controla el tráfico cuando uses un proxy de gRPC de destino

Cuando configuras servicios basados en gRPC, por lo general, las instancias de servicio, no tienen proxies Envoy implementados junto con ellas. En cambio, la biblioteca de gRPC se configura con Traffic Director, es parte del plano de datos de la malla de servicios y maneja 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.

Configura la intercepción del tráfico de la puerta de enlace y los proxies intermedios

Por lo general, en una malla de servicios, tienes lo siguiente:

  • Las instancias de servicio tienen un proxy de archivo adicional Envoy o una biblioteca de gRPC dedicada.
    • Si usas Envoy, las instancias de servicio están configuradas para interceptar y redireccionar solicitudes salientes al proxy de Envoy.
  • El proxy Envoy o la biblioteca de gRPC controlan las solicitudes salientes.

Sin embargo, también puedes usar Traffic Director para configurar una puerta de enlace o un proxy intermedio. En esta configuración, el proxy de Envoy está separado de tus instancias de servicio. Detecta las solicitudes entrantes en un puerto y maneja las solicitudes cuando las recibe.

Para este tipo de configuración, no necesitas configurar la intercepción ni el redireccionamiento. En su lugar, puedes simplemente habilitar la marca --proxy-bind en el proxy HTTP de destino. Esto configura la intercepción de tráfico entrante y hace que el proxy de Envoy detecte las solicitudes entrantes en la dirección IP y el puerto (configurados en la regla de reenvío).

Recuerda que la regla de reenvío hace referencia a un proxy de destino. Entonces, si habilitas --proxy-bind en un proxy HTTP de destino, el proxy escucha en la dirección IP y el puerto de la regla de reenvío que hace referencia a este proxy HTTP de destino.

Ten en cuenta lo siguiente:

  • Si usas Traffic Director para una malla de servicios, no necesitas usar --proxy-bind, ya que los proxy de sidecar suelen recibir y reenviar el tráfico saliente.
  • La marca --proxy-bind no está disponible para los proxies de gRPC de destino.

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 el SDK de gcloud.

Cuando creas un mapa de reglas de enrutamiento mediante Google Cloud Console, la regla de reenvío, el proxy de destino y el mapa de URL se crean de forma automática para ti. Debes proporcionar información explícita sobre la regla de reenvío. Debido a que Cloud Console no requiere que configures el proxy de destino de forma explícita, no hay ninguna página en la que puedas obtener información sobre un proxy de destino configurado para Traffic Director.

Sin embargo, puedes usar los siguientes comandos de gcloud para obtener información sobre un proxy de destino:

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

API

Para obtener descripciones de las propiedades y los métodos disponibles cuando trabajas con proxies de destino a través de la API de REST, consulta las siguientes páginas:

SDK de gcloud

Para obtener información sobre la herramienta de línea de comandos de gcloud, consulta las siguientes páginas:

Próximos pasos

Para obtener más información, consulte: