Dépanner l'équilibrage de charge HTTP(S) interne

Ce guide explique comment résoudre des problèmes de configuration d'un équilibreur de charge HTTP(S) interne de Google Cloud. Avant de suivre ce guide, familiarisez-vous avec les points suivants :

Dépannage

Le trafic à équilibrage de charge n'a pas l'adresse source du client d'origine

Ce comportement est normal. L'équilibrage de charge HTTP(S) interne fonctionne comme un proxy inverse (passerelle) HTTP(S). Lorsqu'un programme client ouvre une connexion à l'adresse IP d'une règle de transfert INTERNAL_MANAGED, la connexion se termine au niveau d'un proxy. Le proxy traite les requêtes qui arrivent sur cette connexion. Pour chaque requête, le proxy sélectionne un backend pour recevoir la requête en fonction du mappage d'URL et d'autres facteurs. Le proxy envoie ensuite la requête au backend sélectionné. Par conséquent, du point de vue du backend, la source d'un paquet entrant est une adresse IP issue du sous-réseau proxy réservé de la région.

Les requêtes sont rejetées par l'équilibreur de charge

Pour chaque requête, le proxy sélectionne un backend pour recevoir la requête en fonction d'un outil de mise en correspondance des chemins d'accès dans le mappage d'URL de l'équilibreur de charge. Si le mappage d'URL ne comporte pas d'outil de mise en correspondance des chemins d'accès défini pour une requête, il ne peut pas sélectionner de service de backend. Il renvoie donc un code de réponse HTTP 404 (Introuvable).

L'équilibreur de charge ne se connecte pas aux backends

Les pare-feu protégeant vos serveurs backend doivent être configurés pour autoriser le trafic entrant provenant des proxys de la plage de sous-réseaux proxy réservés alloués à la région de votre équilibreur de charge HTTP(S) interne.

Les proxys se connectent aux backends à l'aide des paramètres de connexion spécifiés par la configuration de votre service de backend. Si ces valeurs ne correspondent pas à la configuration des serveurs exécutés sur vos backends, le proxy ne peut pas transférer les requêtes aux backends.

Les vérifications d'état ne peuvent pas atteindre les backends

Pour vérifier que le trafic associé aux vérifications d'état atteint vos VM de backend, activez la journalisation des vérifications d'état et recherchez les entrées de journal ayant réussi.

Les clients ne peuvent pas se connecter à l'équilibreur de charge

Les proxys écoutent les connexions à l'adresse IP et au port configurés dans la règle de transfert (par exemple, 10.1.2.3:80) pour l'équilibreur de charge, avec le protocole spécifié dans la règle de transfert (HTTP ou HTTPS). Si vos clients ne parviennent pas à se connecter, vérifiez qu'ils utilisent la bonne adresse, le bon port et le bon protocole.

Assurez-vous qu'aucun pare-feu ne bloque le trafic entre vos instances clientes et l'adresse IP à équilibrage de charge.

Vérifiez que les clients se trouvent dans la même région que l'équilibreur de charge. L'équilibrage de charge HTTP(S) interne est un produit régional. Par conséquent, tous les clients (et backends) doivent se trouver dans la même région que la ressource d'équilibreur de charge.

Restriction relative aux règles d'administration pour les VPC partagés

Si vous utilisez un VPC partagé et que vous ne pouvez pas créer un équilibreur de charge HTTP(S) interne dans un sous-réseau particulier, une règle d'administration en est peut-être la cause. Dans la règle d'administration, ajoutez le sous-réseau à la liste des sous-réseaux autorisés ou contactez l'administrateur de votre organisation. Pour en savoir plus, consultez la section concernant constraints/compute.restrictSharedVpcSubnetworks.

Limites

Si vous rencontrez des difficultés pour utiliser l'équilibrage de charge HTTP(S) interne avec d'autres fonctionnalités de mise en réseau Google Cloud, notez les limites de compatibilité actuelles.