Présentation de l'équilibrage de charge hybride

Cloud Load Balancing prend en charge le trafic d'équilibrage de charge vers des points de terminaison qui vont au-delà de Google Cloud, tels que des centres de données sur site et d'autres clouds publics que vous pouvez atteindre en utilisant la connectivité hybride.

Une stratégie hybride est une solution pragmatique qui vous permet de vous adapter aux exigences changeantes du marché et de moderniser progressivement vos applications. Il peut s'agir d'un déploiement hybride temporaire permettant la migration vers une solution cloud moderne ou d'un dispositif permanent de l'infrastructure informatique de votre organisation.

La configuration de l'équilibrage de charge hybride vous permet également de bénéficier des avantages des fonctionnalités réseau de Cloud Load Balancing pour les services exécutés sur votre infrastructure existante en dehors de Google Cloud.

L'équilibrage de charge hybride est compatible avec les équilibreurs de charge Google Cloud suivants :

Cas d'utilisation : routage du trafic vers un emplacement sur site ou un autre cloud

Le cas d'utilisation le plus simple pour cette fonctionnalité consiste à acheminer le trafic d'un équilibreur de charge Google Cloud vers Google Cloud, un emplacement sur site ou un autre cloud. Les clients peuvent générer du trafic à partir de l'Internet public, de Google Cloud ou d'un client sur site.

Clients publics

Vous pouvez utiliser l'équilibrage de charge HTTP(S) pour acheminer le trafic de clients externes vers un backend situé dans Google Cloud, sur site ou dans un autre cloud. L'équilibrage de charge HTTP(S) vous permet également d'activer des fonctionnalités de mise en réseau à valeur ajoutée pour vos services sur site. Vous pouvez :

  • Utiliser l'infrastructure périphérique mondiale de Google pour interrompre les connexions utilisateur les plus proches de l'utilisateur, ce qui réduit la latence.
  • Protéger votre service avec Google Cloud Armor, un produit de sécurité WAF/défense contre les attaques DDoS de périphérie disponible pour tous les services accessibles via un équilibreur de charge HTTP(S) externe.
  • Activer votre service pour optimiser la diffusion à l'aide de Cloud CDN. Grâce à celui-ci, vous pouvez mettre en cache du contenu à proximité de vos utilisateurs. Cloud CDN offre des fonctionnalités telles que l'invalidation de cache et des URL signées Cloud CDN.
  • Utiliser des certificats SSL gérés par Google. Vous pouvez réutiliser des certificats et des clés privées que vous utilisez déjà pour d'autres produits Google Cloud. Cela évite d'avoir à gérer des certificats distincts.

Le schéma suivant illustre un déploiement hybride avec un équilibreur de charge HTTP(S) externe.

Connectivité hybride avec équilibrage de charge HTTP(S) (cliquez pour agrandir)
Connectivité hybride avec équilibrage de charge HTTP(S) externe (cliquez pour agrandir)

Dans ce schéma, le trafic des clients situés sur le réseau Internet public entre dans votre réseau privé sur site ou cloud via un équilibreur de charge Google Cloud, tel que l'équilibreur de charge HTTP(S) externe. Lorsque le trafic atteint l'équilibreur de charge, vous pouvez appliquer des services de périphérie du réseau tels que la protection DDoS avec Google Cloud Armor ou l'authentification des utilisateurs avec Identity-Aware Proxy (IAP).

Le mode de routage de la requête (vers un backend Google Cloud ou un point de terminaison sur site/cloud) dépend de la configuration de votre mappage d'URL. En fonction de votre mappage d'URL, l'équilibreur de charge sélectionne un service de backend pour la requête. Si le service de backend sélectionné a été configuré avec un NEG de connectivité hybride (utilisé uniquement pour les points de terminaison autres que Google Cloud), l'équilibreur de charge transfère le trafic via Cloud VPN ou Cloud Interconnect à sa destination prévue.

Clients internes (dans Google Cloud ou sur site)

Vous pouvez également configurer un déploiement hybride pour les clients internes à Google Cloud. Dans ce cas, le trafic client provient du réseau VPC Google Cloud, de votre réseau sur site ou d'un autre cloud, et est acheminé vers des points de terminaison qui peuvent se trouver dans Google Cloud, sur site, ou dans un autre cloud. Notez que l'équilibrage de charge HTTP(S) interne est un équilibreur de charge régional, ce qui signifie qu'il ne peut acheminer le trafic que vers des points de terminaison dans la même zone ou région GCP que les ressources de l'équilibreur de charge.

Le schéma suivant illustre un déploiement hybride avec un équilibreur de charge HTTP(S) interne.

Connectivité hybride avec équilibrage de charge HTTP(S) interne (cliquez pour agrandir)
Connectivité hybride avec équilibrage de charge HTTP(S) interne (cliquez pour agrandir)

Cas d'utilisation : migrer vers le cloud

La migration d'un service existant vers le cloud vous permet de libérer la capacité sur site et de réduire la charge de travail et les coûts liés à la maintenance d'une infrastructure sur site. Vous pouvez configurer temporairement un déploiement hybride qui vous permet d'acheminer le trafic vers votre service sur site actuel et vers un point de terminaison de service Google Cloud correspondant.

Le schéma suivant illustre cette configuration avec l'équilibrage de charge HTTP(S) interne.

Migrer vers Google Cloud (cliquez pour agrandir)
Migrer vers Google Cloud (cliquez pour agrandir)

Si vous utilisez l'équilibrage de charge HTTP(S) interne pour gérer des clients internes, vous pouvez configurer l'équilibreur de charge Google Cloud pour utiliser la répartition du trafic en fonction d'une pondération pour répartir le trafic entre les deux services. La répartition du trafic vous permet de commencer par envoyer 0 % du trafic au service Google Cloud et 100 % au service sur site. Vous pouvez ensuite augmenter progressivement la proportion du trafic envoyée au service Google Cloud. Une fois que l'intégralité du trafic est envoyée vers le service Google Cloud, vous pouvez supprimer le service sur site.

Architecture hybride

Cette section décrit l'architecture d'équilibrage de charge et les ressources nécessaires pour configurer un déploiement d'équilibrage de charge hybride.

Les services sur site ou sur d'autres cloud sont traités comme n'importe quel autre backend du service Cloud Load Balancing. La principale différence est que vous utilisez un NEG de connectivité hybride pour configurer les points de terminaison de ces backends. Les points de terminaison doivent être des combinaisons IP:port valides que vos clients peuvent atteindre via une connectivité hybride (Cloud VPN ou Cloud Interconnect par exemple).

Le schéma suivant présente les ressources Google Cloud requises pour activer l'équilibrage de charge hybride pour l'équilibrage de charge HTTP(S) externe.

Ressources de l'équilibreur de charge HTTP(S) externe pour la connectivité hybride (cliquez pour agrandir)
Ressources de l'équilibreur de charge HTTP(S) externe pour la connectivité hybride (cliquez pour agrandir)

Le schéma suivant présente les ressources Google Cloud requises pour activer l'équilibrage de charge hybride pour l'équilibrage de charge HTTP(S) interne.

Ressources de l'équilibreur de charge HTTP(S) interne pour la connectivité hybride (cliquez pour agrandir)
Ressources de l'équilibreur de charge HTTP(S) interne pour la connectivité hybride (cliquez pour agrandir)

Comparaison régional/global

Le routage Cloud Load Balancing dépend du champ d'application de l'équilibreur de charge configuré :

Équilibrage de charge HTTP(S) externe Pour le trafic provenant d'Internet, l'équilibreur de charge HTTP(S) externe peut être configuré pour un routage global ou régional en fonction du niveau de réseau utilisé. Vous devez créer le backend de NEG hybride de l'équilibreur de charge dans la même région que celle où la connectivité hybride a été configurée. Les points de terminaison autres que Google Cloud doivent également être configurés en conséquence pour tirer parti de l'équilibrage de charge basé sur la proximité.

Équilibrage de charge HTTP(S) interne. Pour le trafic provenant de clients internes, l'équilibreur de charge HTTP(S) interne est un équilibreur de charge régional. Autrement dit, il ne peut acheminer le trafic que vers des points de terminaison situés dans la même région que l'équilibreur de charge. Les composants de l'équilibreur de charge HTTP(S) interne doivent être configurés dans la même région que la connectivité hybride. L'équilibrage de charge HTTP(S) interne n'étant pas compatible avec l'accès mondial, les clients accédant à l'équilibreur de charge doivent également se trouver dans la même région.

Par exemple, si la passerelle Cloud VPN ou le rattachement de VLAN Cloud Interconnect a été configuré dans us-central1, les ressources requises par l'équilibreur de charge HTTP(S) interne (service de backend, NEG hybride, règle de transfert, etc.) doit être créé dans la région us-central1. Les clients accédant à l'équilibreur de charge doivent également se trouver dans la région us-central1.

Connectivité réseau requise

Avant de configurer un déploiement d'équilibrage de charge hybride, vous devez disposer des ressources suivantes :

  • Réseau VPC Google Cloud. Un réseau VPC configuré dans Google Cloud. Il s'agit du réseau sur lequel les ressources d'équilibrage de charge hybride (règle de transfert, proxy cible, service de backend, etc.) seront créées. Les adresses IP de sous-réseau Google Cloud et les plages d'adresses IP sur site et d'autres clouds ne doivent pas se chevaucher. Lorsque les adresses IP se chevauchent, les routes de sous-réseau sont prioritaires sur la connectivité à distance.
  • Connectivité hybride. Votre environnement Google Cloud et vos environnements sur site ou dans le cloud doivent être connectés via une connectivité hybride à l'aide d'un rattachement de VLAN Cloud Interconnect ou de tunnels Cloud VPN avec Cloud Router. Nous vous recommandons d'utiliser une connexion à haute disponibilité. Lorsque le routage dynamique global est activé, le routeur Cloud Router apprend le point de terminaison spécifique par l'intermédiaire de BGP et le programme dans votre réseau VPC Google Cloud. Le routage dynamique régional n'est pas pris en charge. De même, les routes statiques ne sont pas prises en charge.

    Cloud Interconnect/Cloud VPN et Cloud Router doivent être configurés dans le même réseau VPC à utiliser pour le déploiement d'équilibrage de charge hybride. Le routeur Cloud Router doit également annoncer les routes suivantes vers votre environnement sur site :
    • Plages utilisées par les vérifications d'état de Google : 35.191.0.0/16 et 130.211.0.0/22.
    • Pour l'équilibrage de charge HTTP(S) interne uniquement, la plage du sous-réseau proxy réservé de la région.
  • Points de terminaison du réseau (IP:Port) situés sur site ou sur un autre cloud. Un ou plusieurs points de terminaison du réseau IP:Port configurés dans votre environnement sur site ou dans d'autres environnements cloud et qui peuvent être routés via Cloud Interconnect ou Cloud VPN. S'il existe plusieurs chemins d'accès au point de terminaison IP, le routage suit le comportement décrit dans la présentation des routes VPC et la présentation de Cloud Router.
  • Règles de pare-feu de vos environnements situés sur site ou sur d'autres cloud. Les règles de pare-feu suivantes doivent être créées dans vos environnements situés sur site ou sur d'autres cloud :
    • Règles de pare-feu d'entrée autorisant le trafic en provenance des vérifications d'état de Google et à destination de vos points de terminaison. Pour les équilibreurs de charge HTTP(S) externes, HTTP(S) internes, proxy TCP et proxy SSL, les plages à autoriser sont : 35.191.0.0/16 et 130.211.0.0/22. Notez que ces plages doivent également être annoncées par Cloud Router sur votre réseau sur site. Pour plus de détails, consultez la section plages d'adresses IP de vérification et règles de pare-feu.
    • Règles d'autorisation du pare-feu d'entrée permettant au trafic qui fait l'objet d'un équilibrage de charge d'atteindre les points de terminaison.
    • Pour l'équilibrage de charge HTTP(S) interne, vous devez également créer une règle de pare-feu pour autoriser le trafic provenant du sous-réseau proxy réservé de la région à atteindre les points de terminaison.

Composants de l'équilibreur de charge

Selon le type d'équilibreur de charge, vous pouvez configurer un déploiement d'équilibrage de charge hybride à l'aide des niveaux de service réseau Standard ou Premium.

Un équilibreur de charge hybride nécessite une configuration spéciale uniquement pour le service de backend. La configuration de frontend est identique à celle de n'importe quel autre équilibreur de charge. De plus, les équilibreurs de charge HTTP(S) internes nécessitent un sous-réseau proxy réservé pour exécuter des proxys Envoy en votre nom.

Configuration du frontend

Aucune configuration de frontend spéciale n'est requise pour l'équilibrage de charge hybride. Les règles de transfert permettent d'acheminer le trafic vers un proxy cible sur la base de l'adresse IP, du port et du protocole. Le proxy cible met ensuite fin aux connexions des clients.

Les mappages d'URL sont utilisés par les équilibreurs de charge HTTP(S) pour configurer le routage basé sur l'URL des requêtes vers les services de backend appropriés.

Pour en savoir plus sur chacun de ces composants, consultez les sections d'architecture des présentations spécifiques de l'équilibreur de charge :

Service backend

Les services de backend fournissent des informations de configuration à l'équilibreur de charge. Les équilibreurs de charge utilisent les informations d'un service de backend pour rediriger le trafic entrant vers un ou plusieurs backends associés.

Pour configurer un déploiement d'équilibrage de charge hybride, vous devez configurer l'équilibreur de charge avec des backends situés à la fois dans Google Cloud et en dehors de Google Cloud.

  • Backends autres que Google Cloud (sur site ou sur d'autres cloud)

    Toute destination accessible à l'aide des produits de connectivité hybride de Google (Cloud VPN ou Cloud Interconnect) et accessible via une combinaison IP:Port valide peut être configurée en tant que point de terminaison pour l'équilibreur de charge.

    Configurez vos backends autres que Google Cloud comme suit :

    1. Ajoutez la combinaison IP:Port de chaque point de terminaison du réseau situé en dehors de Google Cloud à un groupe de points de terminaison du réseau (NEG) de connectivité hybride. Assurez-vous que cette adresse IP et ce port sont accessibles depuis Google Cloud par l'intermédiaire d'une connectivité hybride (Cloud VPN ou Cloud Interconnect). Pour les NEG de connectivité hybride, définissez le type de point de terminaison du réseau sur NON_GCP_PRIVATE_IP_PORT.
    2. Lors de la création du NEG, spécifiez une zone Google Cloud qui réduit la distance géographique entre Google Cloud et votre environnement sur site ou un autre environnement cloud. Par exemple, si vous hébergez un service dans un environnement sur site à Francfort, en Allemagne, vous pouvez spécifier la zone Google Cloud europe-west3-a lorsque vous créez le NEG.
    3. Ajoutez ce NEG de connectivité hybride en tant que backend pour le service de backend.
  • Backends Google Cloud

    Configurez vos points de terminaison Google Cloud comme suit :

    1. Créez un service de backend distinct pour les backends Google Cloud.
    2. Configurez plusieurs backends (NEG zonaux ou groupes d'instances) dans la même région que celle où vous avez configuré la connectivité hybride.

Autres points à prendre en compte :

  • Chaque NEG de connectivité hybride ne peut contenir que des points de terminaison réseau du même type (NON_GCP_PRIVATE_IP_PORT).

  • Le service de backend ne peut pas utiliser d'autres types de NEG ou de groupes d'instances comme backends. Tous les backends d'un service de backend doivent être du même type. Si vous disposez de backends sur Google Cloud, vous devez créer un service de backend distinct pour ces services. En effet, les backends Google Cloud utilisent un type de backend différent (groupe d'instances ou NEG zonal) et les services de backend avec des types de backends mixtes ne sont pas acceptés.

  • Le schéma d'équilibrage de charge du service de backend doit être EXTERNAL_MANAGED pour l'équilibreur de charge HTTP(S) externe global, EXTERNAL pour l'équilibreur de charge HTTP(S) externe global (classique), l'équilibreur de charge proxy TCP et l'équilibreur de charge proxy SSL, ou INTERNAL_MANAGED pour les équilibreurs de charge HTTP(S) internes. INTERNAL_SELF_MANAGED est compatible avec les déploiements multi-environnements de Traffic Director incluant des NEG de connectivité hybride.

  • Le protocole du service de backend doit être l'un des protocoles suivants : HTTP, HTTPS ou HTTP2 pour les équilibreurs de charge HTTP(S), et TCP ou SSL pour l'équilibreur de charge proxy TCP et l'équilibreur de charge proxy SSL. Pour obtenir la liste des protocoles de service de backend compatibles avec chaque équilibreur de charge, consultez la section Protocoles de communication de l'équilibreur de charge vers le backend.

  • Le mode d'équilibrage du backend doit être RATE pour l'équilibrage de charge HTTP(S) externe et interne, et CONNECTION pour l'équilibrage de charge proxy TCP/SSL. Pour en savoir plus sur les modes d'équilibrage, consultez la page Présentation des services de backend.

  • Pour ajouter d'autres points de terminaison du réseau, mettez à jour les backends associés à votre service de backend.

Vérifications d'état

Chaque service de backend doit être associé à une vérification d'état qui vérifie l'état des backends. Pour que les tests de vérification d'état fonctionnent correctement, vous devez créer des règles de pare-feu autorisant le trafic provenant des plages d'adresses IP de vérification de Google (130.211.0.0/22 et 35.191.0.0/16) pour atteindre vos points de terminaison.

Pour les backends extérieurs à Google Cloud, créez des règles de pare-feu sur vos réseaux situés sur site ou sur d'autres cloud. Pour cela, contactez votre administrateur réseau. Le routeur Cloud Router utilisé pour la connectivité hybride doit également annoncer les plages utilisées par les vérifications d'état de Google. Les plages à annoncer sont : 35.191.0.0/16 et 130.211.0.0/22.

Pour les backends hébergés dans Google Cloud, créez des règles de pare-feu sur Google Cloud comme dans cet exemple.

Limites

  • Les NEG de connectivité hybride ne sont pas compatibles avec Google Cloud Console. Pour créer, supprimer ou gérer des NEG de connectivité hybride, vous devez utiliser Google Cloud CLI ou l'API REST.
  • Le routage dynamique global doit être activé sur le routeur Cloud Router utilisé pour la connectivité hybride. Le routage dynamique régional et les routes statiques ne sont pas pris en charge.
  • L'équilibrage de charge HTTP(S) interne et la connectivité hybride doivent être configurés dans la même région. S'ils sont configurés dans différentes régions, les backends sembleront opérationnels mais les requêtes des clients ne leurs seront pas transférées.
  • Les considérations concernant les connexions chiffrées de l'équilibreur de charge vers les backends faites ici s'appliquent également aux points de terminaison de backend autres que Google Cloud, configurés dans le NEG de connectivité hybride.

    Veillez également à vérifier les paramètres de sécurité de votre configuration de connectivité hybride. Actuellement, les connexions Cloud VPN haute disponibilité sont chiffrées par défaut (IPSec). Les connexions Cloud Interconnect ne sont pas chiffrées par défaut. Pour en savoir plus, consultez le livre blanc Chiffrement en transit sur Google Cloud.

Logging

Les requêtes envoyées par proxy à un point de terminaison d'un NEG hybride sont consignées dans Cloud Logging de la même manière que celles concernant d'autres backends d'équilibrage de charge HTTP(S). Pour en savoir plus, consultez la page Journalisation et surveillance de l'équilibrage de charge HTTP(S).

Si vous activez Cloud CDN pour votre équilibreur de charge, les succès de cache sont également consignés.

Quota

Vous pouvez configurer autant de NEG hybrides avec points de terminaison de réseau que votre quota de groupes de points de terminaison de réseau existant le permet. Pour plus d'informations, consultez les sections Backends et Points de terminaison par NEG.

Étape suivante