Configurer un équilibreur de charge réseau proxy régional externe avec une connectivité hybride

Un équilibreur de charge réseau proxy externe régional est un équilibreur de charge régional de couche 4, basé sur un proxy, qui vous permet d'exécuter un service basé sur TCP, et d'effectuer le scaling du trafic associé à celui-ci, dans une seule région derrière une adresse IP régionale externe. Ces équilibreurs de charge distribuent le trafic TCP externe depuis Internet vers les backends de la même région.

Cette page explique comment configurer un équilibreur de charge réseau proxy externe régional pour équilibrer le trafic vers les backends dans des environnements sur site ou dans d'autres environnements cloud connectés via une connectivité hybride. La configuration de la connectivité hybride pour connecter vos réseaux à Google Cloud n'est pas traitée dans cette page.

Avant de commencer, consultez la présentation de l'équilibreur de charge réseau proxy externe.

Dans cet exemple, nous utiliserons l'équilibreur de charge pour répartir le trafic TCP entre les VM de backend situées sur site ou dans d'autres environnements cloud.

Dans cet exemple, vous configurez le déploiement présenté dans le schéma suivant.

Exemple de configuration d'équilibreur de charge réseau proxy externe avec des backends de NEG hybrides.
Exemple de configuration d'un équilibreur de charge réseau proxy externe avec des backends de NEG hybrides

Il s'agit d'un équilibreur de charge régional. Tous les composants de l'équilibreur de charge (groupe d'instances backend, service de backend, proxy cible et règle de transfert) doivent se trouver dans la même région.

Autorisations

Pour configurer l'équilibrage de charge hybride, vous devez disposer des autorisations suivantes :

  • Sur Google Cloud

  • Sur votre environnement sur site ou sur un environnement cloud différent de Google Cloud

    • Autorisation permettant de configurer des points de terminaison du réseau pour accéder depuis Google Cloud aux services situés dans votre environnement sur site ou d'autres environnements cloud, à l'aide d'une combinaison IP:Port. Pour en savoir plus, contactez l'administrateur réseau de votre environnement.
    • Autorisations permettant de créer des règles de pare-feu dans votre environnement sur site ou d'autres environnements cloud afin de permettre aux vérifications d'état de Google d'atteindre les points de terminaison.

En outre, pour suivre les instructions de cette page, vous devez créer un NEG de connectivité hybride, un équilibreur de charge et des NEG zonaux (et leurs points de terminaison), qui vont constituer les backends basés sur Google Cloud pour l'équilibreur de charge.

Vous devez être Propriétaire ou Éditeur du projet, ou disposer des rôles IAM Compute Engine suivants.

Tâche Rôle requis
Créer des réseaux, des sous-réseaux et des composants de l'équilibreur de charge Administrateur de réseaux Compute (roles/compute.networkAdmin)
Ajouter et supprimer des règles de pare-feu Administrateur de sécurité de Compute (roles/compute.securityAdmin)
Créer des instances Administrateur d'instances Compute (roles/compute.instanceAdmin)

Établir une connectivité hybride

Votre environnement Google Cloud, ainsi que votre environnement sur site ou d'autres environnements cloud, doivent être connectés via une connectivité hybride, en utilisant des rattachements de VLAN Cloud Interconnect ou des 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 du protocole Border Gateway Protocol (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.

Le réseau VPC que vous utilisez pour configurer Cloud Interconnect ou Cloud VPN est le même que celui que vous utilisez pour configurer le déploiement de l'équilibrage de charge hybride. Assurez-vous que les plages CIDR de sous-réseau de votre réseau VPC n'entrent pas en conflit avec vos plages CIDR distantes. Lorsque les adresses IP se chevauchent, les routes de sous-réseau sont prioritaires sur la connectivité à distance.

Pour savoir comment procéder, consultez la documentation suivante :

Configurer votre environnement situé en dehors de Google Cloud

Pour configurer l'équilibrage de charge hybride dans votre environnement sur site ou dans un autre environnement cloud, procédez comme suit :

  • Configurez les points de terminaison du réseau pour exposer les services sur site à Google Cloud (IP:Port).
  • Configurez des règles de pare-feu dans votre environnement sur site ou dans un autre environnement cloud.
  • Configurez Cloud Router pour annoncer les routes requises vers votre environnement privé.

Configurer des points de terminaison du réseau

Une fois que vous avez configuré la connectivité hybride, vous configurez un ou plusieurs points de terminaison du réseau dans votre environnement sur site ou dans d'autres environnements cloud accessibles via Cloud Interconnect ou Cloud VPN, en utilisant une combinaison IP:port. Cette combinaison IP:port est configurée comme un ou plusieurs points de terminaison pour le NEG de connectivité hybride qui sera créé ultérieurement dans Google Cloud au cours de cette procédure.

S'il existe plusieurs chemins d'accès au point de terminaison IP, le routage suit le comportement décrit dans la présentation de Cloud Router.

Configurer les règles de pare-feu

Les règles de pare-feu suivantes doivent être créées dans votre environnement sur site ou dans un autre environnement cloud :

  • Créez une règle de pare-feu autorisant le trafic entrant sur site ou dans d'autres environnements cloud pour autoriser le trafic provenant du sous-réseau proxy réservé de la région à atteindre les points de terminaison.
  • L'ajout de plages de vérification de l'état à la liste d'autorisation de Google n'est pas nécessaire pour les NEG hybrides. Toutefois, si vous utilisez à la fois des NEG hybrides et zonaux dans un service de backend, vous devez ajouter les plages de vérification de l'état Google à la liste d'autorisation pour les NEG zonaux.

Configurez Cloud Router pour annoncer les plages d'adresses IP personnalisées suivantes à votre environnement sur site ou à un autre environnement cloud :

  • Plage du sous-réseau proxy réservé de la région.

Configurer votre environnement Google Cloud

Pour les étapes suivantes, assurez-vous d'utiliser le même réseau VPC (appelé NETWORK dans cette procédure) que celui utilisé pour configurer la connectivité hybride entre les environnements. Vous pouvez sélectionner n'importe quel sous-réseau de ce réseau pour réserver l'adresse IP de l'équilibreur de charge et créer l'équilibreur de charge. Ceci est désigné par LB_SUBNET dans cette procédure.

En outre, assurez-vous que la région utilisée (appelée REGION dans cette procédure) est identique à celle utilisée pour créer le tunnel Cloud VPN ou le rattachement de VLAN Cloud Interconnect.

Configurer le sous-réseau proxy réservé

Un sous-réseau proxy réservé fournit un ensemble d'adresses IP utilisées par Google pour exécuter des proxys Envoy en votre nom. Les proxys interrompent les connexions du client et créent de nouvelles connexions vers les backends.

Le sous-réseau proxy réservé est destiné à tous les équilibreurs de charge régionaux basés sur Envoy dans la région REGION du réseau VPC NETWORK.

Il ne peut y avoir qu'un seul sous-réseau proxy réservé actif par région et par réseau VPC. Vous pouvez ignorer cette étape s'il existe déjà un sous-réseau proxy réservé dans cette région.

Console

Si vous utilisez la console Google Cloud, vous pouvez créer le sous-réseau proxy réservé ultérieurement sur la page Équilibrage de charge.

Si vous souhaitez créer le sous-réseau proxy réservé maintenant, procédez comme suit :

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Accédez au réseau utilisé pour configurer la connectivité hybride entre les environnements.

  3. Cliquez sur Ajouter un sous-réseau.

  4. Dans le champ Nom, saisissez proxy-only-subnet.

  5. Pour Région, sélectionnez us-west1.

  6. Définissez le champ Objectif sur Proxy géré régional.

  7. Dans Plage d'adresses IP, saisissez 10.129.0.0/23.

  8. Cliquez sur Ajouter.

gcloud

Pour créer le sous-réseau proxy réservé, utilisez la commande gcloud compute networks subnets create :

gcloud compute networks subnets create proxy-only-subnet \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE \
    --region=us-west1 \
    --network=NETWORK \
    --range=10.129.0.0/23

Réserver l'adresse IP de l'équilibreur de charge

Réservez une adresse IP statique pour l'équilibreur de charge.

Console

  1. Dans la console Google Cloud, accédez à la page Réserver une adresse statique.

    Accédez à la page "Réserver une adresse statique"

  2. Choisissez un nom pour la nouvelle adresse.

  3. Définissez le Niveau de service réseau sur Standard.

  4. Pour Version IP, sélectionnez IPv4. Les adresses IPv6 ne sont pas compatibles.

  5. Pour le Type, sélectionnez Régional.

  6. Pour Région, sélectionnez us-west1.

  7. Laissez l'option Associé à définie sur Aucun. Une fois l'équilibreur de charge créé, cette adresse IP sera associée à la règle de transfert de l'équilibreur de charge.

  8. Cliquez sur Réserver pour réserver l'adresse IP.

gcloud

  1. Pour réserver une adresse IP externe statique, utilisez la commande gcloud compute addresses create :

    gcloud compute addresses create ADDRESS_NAME  \
       --region=us-west1 \
       --network-tier=STANDARD
    

    Remplacez ADDRESS_NAME par le nom que vous souhaitez donner à cette adresse.

  2. Pour afficher le résultat, utilisez la commande gcloud compute addresses describe :

    gcloud compute addresses describe ADDRESS_NAME
    

Configurer le NEG de connectivité hybride

Lorsque vous créez le NEG, utilisez une ZONE qui réduit la distance géographique entre Google Cloud et votre environnement sur site ou 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.

De plus, la zone que vous utilisez pour créer le NEG doit se trouver dans la même région que le tunnel Cloud VPN ou le rattachement de VLAN Cloud Interconnect pour la connectivité hybride.

Pour connaître les régions et les zones disponibles, consultez la section Régions et zones disponibles dans la documentation Compute Engine.

Console

Créer un NEG de connectivité hybride

  1. Dans la console Google Cloud, accédez à la page Groupes de points de terminaison du réseau.

    Accéder à la page Groupes de points de terminaison du réseau

  2. Cliquez sur Créer un groupe de points de terminaison du réseau.

  3. Dans le champ Nom, saisissez HYBRID_NEG_NAME.

  4. Pour le type de groupe de points de terminaison du réseau, sélectionnez Groupe de points de terminaison du réseau de connectivité hybride (zonal).

  5. Pour Réseau, sélectionnez NETWORK.

  6. Pour Sous-réseau, sélectionnez LB_SUBNET.

  7. Pour Zone, sélectionnez HYBRID_NEG_ZONE.

  8. Pour Port par défaut, conservez la valeur par défaut.

  9. Dans le champ Nombre maximal de connexions, saisissez 2.

  10. Cliquez sur Créer.

Ajouter des points de terminaison au NEG de connectivité hybride

  1. Dans la console Google Cloud, accédez à la page Groupes de points de terminaison du réseau.

    Accéder à la page Groupes de points de terminaison du réseau

  2. Cliquez sur le nom du groupe de points de terminaison du réseau que vous avez créé à l'étape précédente (HYBRID_NEG_NAME).

  3. Dans la section Points de terminaison du réseau de ce groupe de la page Détails du groupe de points de terminaison du réseau, cliquez sur Ajouter un point de terminaison du réseau.

  4. Sur la page Ajouter un point de terminaison du réseau, saisissez l'adresse IP du nouveau point de terminaison du réseau.

  5. Sélectionnez le type de port :

    • Si vous sélectionnez Par défaut, le point de terminaison utilise le port par défaut pour tous les points de terminaison du groupe de points de terminaison du réseau.
    • Si vous sélectionnez Personnalisé, vous pouvez saisir un numéro de port différent à utiliser par le point de terminaison.
  6. Pour ajouter d'autres points de terminaison, cliquez sur Ajouter un point de terminaison du réseau, puis répétez les étapes précédentes.

  7. Après avoir ajouté tous les points de terminaison autres que Google Cloud, cliquez sur Créer.

gcloud

  1. Pour créer un NEG de connectivité hybride, utilisez la commande gcloud compute network-endpoint-groups create :

    gcloud compute network-endpoint-groups create HYBRID_NEG_NAME \
        --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
        --zone=HYBRID_NEG_ZONE \
        --network=NETWORK
     
  2. Ajoutez le point de terminaison IP:Port sur site au NEG hybride :

    gcloud compute network-endpoint-groups update HYBRID_NEG_NAME \
        --zone=HYBRID_NEG_ZONE \
        --add-endpoint="ip=ENDPOINT_IP_ADDRESS,port=ENDPOINT_PORT"
    

Vous pouvez utiliser cette commande pour ajouter les points de terminaison du réseau précédemment configurés dans votre environnement situé sur site ou sur un autre cloud. Répétez --add-endpoint autant de fois que nécessaire.

Vous pouvez répéter ces étapes pour créer plusieurs NEG hybrides si nécessaire.

Configurer l'équilibreur de charge

Console

Démarrer la configuration

  1. Dans Google Cloud Console, accédez à la page Équilibrage de charge.

    Accéder à la page "Équilibrage de charge"

  2. Cliquez sur Créer un équilibreur de charge.
  3. Sous Type d'équilibreur de charge, sélectionnez Équilibreur de charge réseau (TCP/UDP/SSL), puis cliquez sur Suivant.
  4. Pour Proxy ou passthrough, sélectionnez Équilibreur de charge proxy, puis cliquez sur Suivant.
  5. Pour Public ou interne, sélectionnez Public (externe), puis cliquez sur Suivant.
  6. Pour Déploiement global ou dans une seule région, sélectionnez Recommandé pour les charges de travail régionales, puis cliquez sur Suivant.
  7. Cliquez sur Configurer.

Configuration de base

  1. Dans le champ Nom, saisissez le nom de l'équilibreur de charge.
  2. Pour Région, sélectionnez REGION.
  3. Pour Réseau, sélectionnez NETWORK.

Réserver un sous-réseau proxy réservé

  1. Cliquez sur Réserver un sous-réseau.
  2. Dans le champ Nom, saisissez proxy-only-subnet.
  3. Dans Plage d'adresses IP, saisissez 10.129.0.0/23.
  4. Cliquez sur Ajouter.

Configurer le backend

  1. Cliquez sur Configuration du backend.
  2. Pour le type de backend, sélectionnez Groupe de points de terminaison du réseau de connectivité hybride (zonal).
  3. Dans le champ Protocole, sélectionnez TCP.
  4. Pour Nouveau backend, sélectionnez le NEG hybride que vous avez créé précédemment (HYBRID_NEG_NAME). Vous pouvez également cliquer sur Créer un groupe de points de terminaison du réseau pour créer le NEG hybride maintenant. Pour obtenir des conseils sur la configuration du NEG, consultez la page Configurer le NEG hybride.
  5. Conservez les valeurs par défaut restantes, puis cliquez sur OK.
  6. Configurez la vérification d'état :
    • Dans la section Health check (Vérification d'état), sélectionnez Create a health check (Créer une vérification d'état).
    • Dans le champ Nom, saisissez le nom de la vérification d'état.
    • Dans le champ Protocole, sélectionnez TCP.
    • Dans la section Port, saisissez 80.
  7. Conservez les valeurs par défaut restantes, puis cliquez sur Enregistrer.
  8. Dans la console Google Cloud, vérifiez qu'une coche apparaît à côté de Configuration du backend. Si ce n'est pas le cas, vérifiez que vous avez bien suivi la procédure ci-dessous dans son intégralité.

Configurer l'interface

  1. Cliquez sur Configuration de l'interface.
  2. Dans le champ Nom, saisissez un nom pour la règle de transfert.
  3. Pour Adresse IP, sélectionnez LB_IP_ADDRESS.
  4. Pour Numéro de port, saisissez un numéro de port compris entre 1 et 65535. La règle de transfert transfère les paquets avec un port de destination correspondant.
  5. N'activez le protocole de proxy que si celui-ci fonctionne avec le service exécuté sur votre point de terminaison sur site ou sur un autre point de terminaison cloud. Par exemple, le protocole PROXY ne fonctionne pas avec le logiciel Apache HTTP Server. Pour en savoir plus, consultez la section Protocole de PROXY.
  6. Cliquez sur OK.
  7. Dans Google Cloud Console, vérifiez qu'une coche apparaît à côté de Configuration du frontend. Dans le cas contraire, vérifiez que vous avez bien suivi la procédure ci-dessus dans son intégralité.

Vérifier et finaliser

  1. Cliquez sur Vérification et finalisation.
  2. Vérifiez vos paramètres.
  3. Cliquez sur Create (Créer).

gcloud

  1. Créez une vérification d'état régionale pour les backends :

    gcloud compute health-checks create tcp TCP_HEALTH_CHECK_NAME \
        --region=REGION \
        --use-serving-port
    
  2. Créez un service de backend :

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=TCP \
       --region=REGION \
       --health-checks=TCP_HEALTH_CHECK_NAME \
       --health-checks-region=REGION
    
  3. Ajoutez le backend de NEG hybride au service de backend :

    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
       --network-endpoint-group=HYBRID_NEG_NAME \
       --network-endpoint-group-zone=HYBRID_NEG_ZONE \
       --region=REGION \
       --balancing-mode=CONNECTION \
       --max-connections=MAX_CONNECTIONS
    

    Pour MAX_CONNECTIONS, saisissez le nombre maximal de connexions simultanées que le backend doit gérer.

  4. Créez le proxy TCP cible :

    gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \
       --backend-service=BACKEND_SERVICE_NAME \
       --region=REGION
    
  5. Créez la règle de transfert. Utilisez la commande gcloud compute forwarding-rules create. Remplacez FWD_RULE_PORT par un numéro de port unique compris entre 1 et 65 535. La règle de transfert transfère les paquets avec un port de destination correspondant.

    gcloud compute forwarding-rules create FORWARDING_RULE \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --network=NETWORK \
       --subnet=LB_SUBNET \
       --address=LB_IP_ADDRESS \
       --ports=FWD_RULE_PORT \
       --region=REGION \
       --target-tcp-proxy=TARGET_TCP_PROXY_NAME \
       --target-tcp-proxy-region=REGION
    

Tester votre équilibreur de charge

Maintenant que vous avez configuré votre équilibreur de charge, vous pouvez commencer à envoyer du trafic vers son adresse IP.

  1. Obtenez l'adresse IP de l'équilibreur de charge.

    Pour obtenir l'adresse IPv4, exécutez la commande suivante :

    gcloud compute addresses describe ADDRESS_NAME
    
  2. Envoyez du trafic à votre équilibreur de charge en exécutant la commande suivante. Remplacez LB_IP_ADDRESS par l'adresse IPv4 de votre équilibreur de charge.

    curl -m1 LB_IP_ADDRESS:FWD_RULE_PORT
    

Étapes suivantes