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.
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
- 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_A
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_A
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.
Dans le champ Nom, saisissez
proxy-only-subnet
.Pour Région, sélectionnez
REGION_A
.Définissez le champ Objectif sur Proxy géré régional.
Dans Plage d'adresses IP, saisissez
10.129.0.0/23
.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=REGION_A \ --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
Dans la console Google Cloud, accédez à la page Réserver une adresse statique.
Choisissez un nom pour la nouvelle adresse.
Définissez le Niveau de service réseau sur Standard.
Pour Version IP, sélectionnez IPv4. Les adresses IPv6 ne sont pas compatibles.
Pour le Type, sélectionnez Régional.
Pour Région, sélectionnez
REGION_A
.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.
Cliquez sur Réserver pour réserver l'adresse IP.
gcloud
Pour réserver une adresse IP externe statique, utilisez la commande
gcloud compute addresses create
:gcloud compute addresses create ADDRESS_NAME \ --region=REGION_A \ --network-tier=STANDARD
Remplacez
ADDRESS_NAME
par le nom que vous souhaitez donner à cette adresse.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 de la documentation Compute Engine.
Console
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.
Dans le champ Nom, saisissez
HYBRID_NEG_NAME
.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).
Pour Réseau, sélectionnez
NETWORK
.Pour Sous-réseau, sélectionnez
LB_SUBNET
.Pour Zone, sélectionnez
HYBRID_NEG_ZONE
.Pour Port par défaut, conservez la valeur par défaut.
Dans le champ Nombre maximal de connexions, saisissez
2
.Cliquez sur Créer.
Ajouter 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 que vous avez créé à l'étape précédente (
HYBRID_NEG_NAME
).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.
Sur la page Ajouter un point de terminaison du réseau, 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
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
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 Public (externe), puis cliquez sur Suivant.
- Pour Déploiement mondial 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 Nom, saisissez le nom de l'équilibreur de charge.
- Pour Région, sélectionnez
REGION_A
. - Pour Réseau, sélectionnez
NETWORK
.
Réserver un sous-réseau proxy réservé
- Cliquez sur Réserver un sous-réseau.
- Dans le champ Nom, saisissez
proxy-only-subnet
. - Dans Plage d'adresses IP, saisissez
10.129.0.0/23
. - Cliquez sur Ajouter.
Configurer le 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.
- 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. - Conservez les valeurs par défaut restantes, puis cliquez sur OK.
- 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
.
- 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é.
Configurer l'interface
- Cliquez sur Configuration de l'interface.
- Dans le champ Nom, saisissez un nom pour la règle de transfert.
- Définissez le Niveau de service réseau sur Standard.
- 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 la console Google Cloud, 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_A \ --use-serving-port
Créez un service de backend :
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=TCP \ --region=REGION_A \ --health-checks=TCP_HEALTH_CHECK_NAME \ --health-checks-region=REGION_A
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_A \ --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_A
Créez la règle de transfert. Utilisez la commande
gcloud compute forwarding-rules create
. RemplacezFWD_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 \ --network-tier=STANDARD \ --address=LB_IP_ADDRESS \ --ports=FWD_RULE_PORT \ --region=REGION_A \ --target-tcp-proxy=TARGET_TCP_PROXY_NAME \ --target-tcp-proxy-region=REGION_A
Tester votre équilibreur de charge
Maintenant que vous avez configuré votre équilibreur de charge, vous pouvez commencer à envoyer du trafic vers son adresse IP.
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
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
- Pour en savoir plus sur le fonctionnement des équilibreurs de charge réseau proxy externes, consultez la page Présentation de l'équilibreur de charge réseau proxy externe.
- Pour configurer la journalisation et la surveillance de votre équilibreur de charge, consultez la page Journalisation et surveillance de l'équilibreur de charge réseau proxy.
- Pour supprimer les ressources que vous avez créées afin qu'elles ne vous soient plus facturées à l'avenir, consultez la section Nettoyer la configuration de l'équilibreur de charge.