Limites de Traffic Director avec Envoy

Ce document décrit les limites applicables à Traffic Director, y compris les limites en matière de gestion avancée du trafic. Pour en savoir plus sur les limites, consultez la page Quotas et limites.

Limites générales

Traffic Director présente les limites suivantes:

  • Traffic Director n'est compatible qu'avec les API Google Cloud. Traffic Director n'est pas compatible avec les API Istio.
  • Traffic Director vous permet de configurer les protocoles de requête suivants : HTTP (HTTP/1.1 ou HTTP/2), HTTPS, TCP et gRPC.
  • Lorsque vous utilisez Envoy comme proxy de plan de données, la valeur stream_idle_timeout est de 5 minutes par défaut. Cette opération n'est pas configurable via Traffic Director.
  • Lorsque vous configurez le protocole de requête TCP à l'aide de la ressource de proxy TCP cible, vous ne pouvez pas utiliser les fonctionnalités avancées de gestion du trafic. La gestion avancée du trafic n'est disponible que lorsque vous configurez le plan de données pour gérer les requêtes HTTP ou gRPC.
  • Traffic Director est compatible avec le VPC partagé. Veuillez noter les points suivants :

    • Avec les API d'équilibrage de charge, une règle de transfert et son proxy cible, son mappage d'URL, son service de backend et son backend doivent se trouver dans un seul projet, qui peut être un projet hôte ou de service. Si vous avez plusieurs projets de service, chacun d'eux peut disposer de son propre ensemble de ces ressources.
    • Avec les API d'équilibrage de charge, par défaut, une règle de transfert faisant référence à un réseau VPC partagé est annoncée à tous les proxys Envoy des projets hôte et de service associés au projet hôte, à condition que ces proxys spécifient le réseau VPC partagé dans leurs fichiers bootstrap/sidecar.env. Pour personnaliser ce comportement, utilisez le filtrage de configuration.
    • Vous ne pouvez accéder à Traffic Director que par les comptes de service des projets disposant d'au moins une règle de transfert avec le schéma d'équilibrage de charge INTERNAL_SELF_MANAGED associé au réseau VPC partagé.
  • Traffic Director est compatible avec l'appairage de réseaux VPC avec les API de routage de services, mais pas avec les API d'équilibrage de charge.

  • Traffic Director n'est pas compatible avec les protocoles serveur.

  • Vous ne pouvez pas utiliser Traffic Director avec des services exécutés dans Knative ou dans l'informatique sans serveur Google Cloud.

  • Ce document présente les proxys Envoy, mais vous pouvez utiliser n'importe quel proxy d'API standard Open Source (xDS) avec Traffic Director. Cependant, Google a testé Traffic Director uniquement avec le proxy Envoy.

  • Pour travailler avec Traffic Director, utilisez Envoy 1.9.1 ou version ultérieure.

  • Pour utiliser une expression régulière, utilisez Envoy version 1.12.0 ou ultérieure. Les versions Envoy antérieures à 1.12.0 ne sont pas compatibles avec les expressions régulières.

  • Pour vous assurer que toutes les failles de sécurité connues sont atténuées, nous vous recommandons d'utiliser la dernière version d'Envoy. Pour plus d'informations sur les conseils de sécurité Envoy, consultez la page Conseils de sécurité Envoy.

  • Google Cloud Console n'est pas compatible avec les groupes de points de terminaison du réseau (NEG) de connectivité hybride. Pour créer ou supprimer des NEG de connectivité hybride, utilisez Google Cloud CLI.

  • Étant donné que votre plan de données gère les vérifications d'état, vous ne pouvez pas utiliser la console Google Cloud, l'API ou gcloud CLI pour récupérer l'état de cette vérification.

  • Vérifiez que iptables est correctement configuré. Pour en savoir plus sur la configuration de iptables, consultez les notes d'Envoy sur la configuration du filtrage HTTP.

    • Si vous utilisez la console Google Cloud pour créer des instances de machines virtuelles (VM), certains modules associés à ipv6 ne sont pas installés et disponibles avant un redémarrage. Par conséquent, iptables.sh échoue en raison de dépendances manquantes. Dans ce cas, redémarrez la VM et réexécutez le script run.sh.
    • Si vous utilisez gcloud CLI pour créer des VM Compute Engine, ce problème ne devrait pas se produire.

Limites de la gestion du trafic avancée

La gestion avancée du trafic comprend les limites suivantes:

  • Si la valeur de BackendService.sessionAffinity n'est pas NONE et que BackendService.localityLbPolicy est défini sur une règle d'équilibrage de charge autre que MAGLEV ou RING_HASH, les paramètres d'affinité de session ne prendront pas effet.
  • La commande gcloud import ne supprime pas les champs de premier niveau de la ressource, tels que le service de backend et le mappage d'URL. Par exemple, si un service de backend est créé avec des paramètres pour circuitBreakers, vous pouvez exécuter une commande gcloud import ultérieure pour mettre à jour ces paramètres. Toutefois, vous ne pouvez pas supprimer ces paramètres du service de backend. Vous pouvez supprimer et recréer la ressource sans les paramètres circuitBreakers.
  • L'importation pour les règles de transfert ne fonctionne pas correctement. vous ne pouvez pas réimporter un fichier YAML exporté. La solution consiste à exporter le fichier de configuration, à apporter des modifications, à supprimer la règle de transfert et à importer le fichier de configuration.

Limites avec l'Annuaire des services

  • L'Annuaire des services et Traffic Director ne garantissent pas la joignabilité du réseau pour les clients.
  • Un service de backend ne peut faire référence qu'à l'un des éléments suivants :

    • Groupe d'instances géré ou groupe d'instances non géré
    • Groupe de points de terminaison du réseau
    • Liaisons de service
  • Les services de l'Annuaire des services ne peuvent être utilisés qu'avec des services de backend globaux avec load-balancing-scheme=INTERNAL_SELF_MANAGED.

  • Un service de l'Annuaire des services référencé par une liaison de service peut être supprimé. Si le service de l'Annuaire des services sous-jacent auquel le service de backend est associé est supprimé, les applications qui utilisent Traffic Director ne peuvent pas envoyer de trafic vers ce service. Par conséquent, les requêtes échouent. Consultez la page Observabilité et débogage pour connaître les bonnes pratiques.

Vérifications d'état

Lorsque vous liez un service de l'Annuaire des services à un service de backend, vous ne pouvez pas configurer de vérification d'état sur le service de backend.

Étapes suivantes