L'équilibreur de charge réseau proxy interne régional est un équilibreur de charge régional de couche 4 basé sur un proxy qui vous permet d'exécuter et d'effectuer le scaling de votre trafic de service TCP derrière une adresse IP interne accessible uniquement aux clients situés dans le même réseau cloud privé virtuel (VPC) ou aux clients connectés à votre réseau VPC. Si vous souhaitez que le service soit disponible pour les clients d'autres réseaux VPC, vous pouvez utiliser Private Service Connect pour publier le service.
Cette page explique comment configurer un équilibreur de charge réseau proxy interne afin d'équilibrer la charge du trafic vers les backends 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.
Présentation
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 les éléments suivants :
L'équilibreur de charge réseau proxy interne régional est un équilibreur de charge régional. Tous les composants de l'équilibreur de charge (groupes 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
- Autorisations permettant d'établir une connectivité hybride entre Google Cloud et votre environnement sur site ou d'autres environnements cloud. Pour obtenir la liste des autorisations nécessaires, consultez la documentation du produit de Connectivité réseau correspondant.
- Autorisations permettant de créer un NEG de connectivité hybride et l'équilibreur de charge.
Le rôle d'administrateur de l'équilibreur de charge Compute (
roles/compute.loadBalancerAdmin
) contient les autorisations requises pour effectuer les tâches décrites dans ce guide.
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.
- 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
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.
Annoncer des routes
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 :
Dans la console Google Cloud, accédez à la page Réseaux VPC.
Accédez au réseau utilisé pour configurer la connectivité hybride entre les environnements.
Cliquez sur Ajouter un sous-réseau.
Saisissez un Nom : PROXY_ONLY_SUBNET_NAME.
Sélectionnez une Région : REGION.
Définissez le champ Objectif sur Proxy géré régional.
Saisissez une plage d'adresses IP : PROXY_ONLY_SUBNET_RANGE.
Cliquez sur Ajouter.
gcloud
Créez le sous-réseau proxy réservé à l'aide de la commande gcloud compute networks subnets
create
.
gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \ --purpose=REGIONAL_MANAGED_PROXY \ --role=ACTIVE \ --region=REGION \ --network=NETWORK \ --range=PROXY_ONLY_SUBNET_RANGE
Réserver l'adresse IP de l'équilibreur de charge
Par défaut, une adresse IP est utilisée pour chaque règle de transfert. Vous pouvez réserver une adresse IPv4 partagée, ce qui vous permet d'utiliser la même adresse IPv4 avec plusieurs règles de transfert. Toutefois, si vous souhaitez publier un équilibreur de charge à l'aide de Private Service Connect, n'utilisez pas d'adresse IPv4 partagée pour la règle de transfert.
Pour réserver une adresse IPv4 interne statique pour votre équilibreur de charge, consultez la page Réserver une nouvelle adresse interne statique IPv4 ou IPv6.
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 utilisée pour créer le NEG doit se trouver dans la même région dans laquelle le tunnel Cloud VPN ou le rattachement de VLAN Cloud Interconnect ont été configurés pour la connectivité hybride.
Pour connaître les régions et les zones disponibles, consultez la documentation Compute Engine : Régions et zones disponibles.
Console
Pour créer un NEG de connectivité hybride :
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
Cliquez sur Créer un groupe de points de terminaison du réseau.
Saisissez un nom pour le NEG hybride. Appelé HYBRID_NEG_NAME dans cette procédure.
Sélectionnez le type de groupe de points de terminaison du réseau : Groupe de points de terminaison du réseau de connectivité hybride (zonal).
Sélectionnez le réseau : NETWORK.
Sélectionnez le sous-réseau : LB_SUBNET.
Sélectionnez la zone : HYBRID_NEG_ZONE.
Saisissez le port par défaut.
Cliquez sur Créer.
Ajoutez des points de terminaison au NEG de connectivité hybride :
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
Cliquez sur le nom du groupe de points de terminaison du réseau créé à l'étape précédente (HYBRID_NEG_NAME). La page Détails du groupe de points de terminaison du réseau s'affiche.
Dans la section Points de terminaison du réseau de ce groupe, cliquez sur Ajouter un point de terminaison du réseau. La page Ajouter un point de terminaison du réseau s'affiche.
Saisissez l'adresse IP du nouveau point de terminaison du réseau.
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.
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.
Après avoir ajouté tous les points de terminaison autres que Google Cloud, cliquez sur Créer.
gcloud
Créez un NEG de connectivité hybride à l'aide de 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
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
Dans Google Cloud Console, accédez à la page Équilibrage de charge.
- Cliquez sur Créer un équilibreur de charge.
- Sous Type d'équilibreur de charge, sélectionnez Équilibreur de charge réseau (TCP/UDP/SSL), puis cliquez sur Suivant.
- Pour Proxy ou passthrough, sélectionnez Équilibreur de charge proxy, puis cliquez sur Suivant.
- Pour Public ou interne, sélectionnez Interne, puis cliquez sur Suivant.
- Pour Déploiement interrégional ou dans une seule région, sélectionnez Recommandé pour les charges de travail régionales, puis cliquez sur Suivant.
- Cliquez sur Configurer.
Configuration de base
- Dans le champ Name (Nom), saisissez le nom de l'équilibreur de charge.
- Sélectionnez la région : REGION.
- Sélectionnez le réseau : NETWORK.
Réserver un sous-réseau proxy réservé
Pour réserver un sous-réseau proxy réservé :
- Cliquez sur Réserver un sous-réseau.
- Saisissez lenom : PROXY_ONLY_SUBNET_NAME.
- Saisissez une plage d'adresses IP : PROXY_ONLY_SUBNET_RANGE.
- Cliquez sur Ajouter.
Configuration du backend
- Cliquez sur Configuration du backend.
- Pour le type de backend, sélectionnez Groupe de points de terminaison du réseau de connectivité hybride (zonal).
- Dans le champ Protocole, sélectionnez TCP.
- Sous Nouveau backend, sélectionnez le NEG hybride 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.
- Conservez les valeurs par défaut restantes, puis cliquez sur OK.
- Configurez la vérification d'état :
- Sous Vérification d'état, sélectionnez Créer une vérification d'état.
- Dans le champ Name (Nom), saisissez le nom de la vérification d'état.
- Dans le champ Protocole, sélectionnez TCP.
- Dans la section Port, saisissez
80
.
- Conservez les valeurs par défaut restantes, puis cliquez sur Enregistrer.
- 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é.
Configuration du frontend
- Cliquez sur Configuration de l'interface.
- Saisissez un nom pour la règle de transfert.
- Pour Sous-réseau, sélectionnez LB_SUBNET.
- Pour Adresse IP, sélectionnez LB_IP_ADDRESS.
- 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.
- 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.
- Cliquez sur OK.
- 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
- Cliquez sur Vérification et finalisation.
- Vérifiez vos paramètres.
- Cliquez sur Créer.
gcloud
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
Les vérifications d'état des backends de NEG hybrides proviennent des proxys Envoy du sous-réseau proxy réservé.
Créez un service de backend.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=TCP \ --region=REGION \ --health-checks=TCP_HEALTH_CHECK_NAME \ --health-checks-region=REGION
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.Créez le proxy TCP cible.
gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \ --backend-service=BACKEND_SERVICE_NAME \ --region=REGION
Créez la règle de transfert.
Créez la règle de transfert à l'aide de 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=INTERNAL_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 l'équilibreur de charge
Pour tester l'équilibreur de charge, créez une VM cliente dans la même région que l'équilibreur de charge. Envoyez ensuite du trafic depuis le client vers l'équilibreur de charge.
Créer une VM cliente
Créez une VM cliente (client-vm
) dans la même région que l'équilibreur de charge.
Console
Dans la console Google Cloud, accédez à la page Instances de VM.
Cliquez sur Créer une instance.
Pour Nom, définissez
client-vm
.Définissez le champ Zone sur CLIENT_VM_ZONE.
Cliquez sur Options avancées.
Cliquez sur Mise en réseau et configurez les champs suivants :
- Pour Tags réseau, saisissez
allow-ssh
. - Pour Interfaces réseau, sélectionnez l'option suivante :
- Réseau : NETWORK
- Sous-réseau : LB_SUBNET
- Pour Tags réseau, saisissez
Cliquez sur Créer.
gcloud
La VM cliente doit se trouver dans le même réseau VPC et dans la même région que l'équilibreur de charge. Elle ne doit pas nécessairement se trouver dans le même sous-réseau ou la même zone. Le client utilise le même sous-réseau que les VM de backend.
gcloud compute instances create client-vm \ --zone=CLIENT_VM_ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh \ --subnet=LB_SUBNET
Autoriser le trafic SSH vers la VM de test
Dans cet exemple, vous devez créer la règle de pare-feu suivante :
fw-allow-ssh
: règle d'entrée qui autorise la connectivité SSH entrante sur le port TCP 22 à partir de n'importe quelle adresse. Vous pouvez choisir une plage d'adresses IP sources plus restrictive pour cette règle. Par exemple, vous pouvez spécifier uniquement les plages d'adresses IP du système à partir duquel vous souhaitez lancer des sessions SSH. Cet exemple utilise le tag cibleallow-ssh
pour identifier la VM cliente de test à laquelle elle doit s'appliquer.
Console
- Dans la console Google Cloud, accédez à la page Règles d'administration. Accéder aux stratégies de pare-feu
- Cliquez de nouveau sur Créer une règle de pare-feu pour créer la règle autorisant les connexions SSH entrantes :
- Nom :
fw-allow-ssh
- Réseau : NETWORK
- Priorité :
1000
- Sens du trafic : entrée
- Action en cas de correspondance : autoriser
- Cibles : tags cibles spécifiés
- Tags cibles :
allow-ssh
- Filtre source : Plages IPv4
- Plages IPv4 sources :
0.0.0.0/0
- Protocoles et ports : sélectionnez Protocoles et ports spécifiés, puis saisissez
tcp:22
. - Cliquez sur Créer.
- Nom :
gcloud
Créez la règle de pare-feu
fw-allow-ssh
pour autoriser la connectivité SSH aux VM avec le tag réseauallow-ssh
.gcloud compute firewall-rules create fw-allow-ssh \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
Envoyer du trafic vers l'équilibreur de charge
Maintenant que vous avez configuré votre équilibreur de charge, vous pouvez commencer à envoyer du trafic vers son adresse IP.
Connectez-vous à l'instance cliente via SSH.
gcloud compute ssh client-vm \ --zone=CLIENT_VM_ZONE
Vérifiez que l'équilibreur de charge diffuse les noms d'hôte de backend comme prévu.
Utilisez la commande
compute addresses describe
pour afficher l'adresse IP de l'équilibreur de charge :gcloud compute addresses describe LB_IP_ADDRESS \ --region=REGION
Notez l'adresse IP.
Envoyez du trafic à l'équilibreur de charge sur l'adresse IP et le port spécifiés lors de la création de la règle de transfert de l'équilibreur de charge. Le fait que les backends de NEG hybride répondent aux requêtes dépend du service qui s'exécute sur les points de terminaison autres que Google Cloud.
Facultatif : Publier le service à l'aide de Private Service Connect
Un équilibreur de charge réseau proxy interne régional avec connectivité hybride vous permet de rendre un service hébergé sur site ou dans d'autres environnements cloud disponibles pour les clients de votre réseau VPC.
Si vous souhaitez que le service hybride soit disponible dans d'autres réseaux VPC, vous pouvez utiliser Private Service Connect pour publier le service. En plaçant un rattachement de service devant votre équilibreur de charge réseau proxy interne régional, vous pouvez permettre aux clients d'autres réseaux VPC d'atteindre les services hybrides exécutés dans des environnements sur site ou dans le cloud.
Étapes suivantes
- Pour configurer la surveillance de votre équilibreur de charge réseau proxy interne régional, consultez la page Utiliser la surveillance.
- Pour savoir comment fonctionne un équilibreur de charge réseau proxy interne, consultez la page Présentation de l'équilibreur de charge réseau proxy interne régional.
- Nettoyez la configuration de l'équilibreur de charge.