Ce document présente deux exemples de configuration pour la configuration d'un équilibreur de charge d'application externe régional dans un environnement de VPC partagé :
- Le premier exemple crée tous les composants et les backends de l'équilibreur de charge dans un projet de service.
- Le deuxième exemple crée les composants d'interface et le mappage d'URL de l'équilibreur de charge dans un projet de service, tandis que le service de backend et les backends de l'équilibreur de charge sont créés dans un projet de service différent. Ce type de déploiement, où le mappage d'URL fait référence à un service de backend situé dans un autre projet, est appelé Référence de services inter-projets.
Les deux exemples nécessitent la même configuration initiale pour accorder des autorisations et configurer un VPC partagé avant de pouvoir commencer à créer des équilibreurs de charge.
Ce ne sont pas les seules configurations de VPC partagé compatibles avec l'équilibreur de charge d'application externe régional. Pour découvrir d'autres architectures de VPC partagé valides, consultez la page Architectures de VPC partagé.
Si vous ne souhaitez pas utiliser de réseau VPC partagé, consultez la page Configurer un équilibreur de charge d'application externe régional avec des backends de groupes d'instances de VM.
Avant de commencer
- Consultez la page Présentation du VPC partagé.
- Consultez la page Présentation de l'équilibreur de charge d'application externe, y compris la section Architectures de VPC partagé.
les autorisations requises pour l'extension ;
La configuration d'un équilibreur de charge sur un réseau VPC partagé nécessite une configuration et un provisionnement initiaux par un administrateur. Une fois la configuration initiale terminée, un propriétaire de projet de service peut effectuer l'une des opérations suivantes :
- Déployer tous les composants de l'équilibreur de charge et ses backends dans un projet de service.
- Déployer les composants backend de l'équilibreur de charge (service de backend et backends) dans des projets de service pouvant être référencés par un mappage d'URL dans un autre service ou projet hôte.
Cette section récapitule les autorisations requises pour suivre ce guide afin de configurer un équilibreur de charge sur un réseau VPC partagé.
Configurer un VPC partagé
Les rôles suivants sont requis pour les tâches suivantes :
- effectuer des tâches d'administration ponctuelles, telles que la configuration du VPC partagé et l'activation d'un projet hôte ;
- effectuer des tâches d'administration qui doivent être répétées chaque fois que vous souhaitez intégrer un nouveau projet de service. Cela inclut le rattachement du projet de service, le provisionnement et la configuration des ressources réseau, ainsi que l'attribution de l'autorisation d'accès à l'administrateur du projet de service.
Ces tâches doivent être effectuées dans le projet hôte du VPC partagé. Il est préférable que l'administrateur du VPC partagé soit également le propriétaire du projet hôte du VPC partagé. Les rôles d'administrateur réseau et d'administrateur de sécurité seront ainsi attribués automatiquement.
Tâche | Rôle requis |
---|---|
Configurer le VPC partagé, activer le projet hôte et accorder l'accès aux administrateurs de projet de service | Administrateur de VPC partagé |
Créer des sous-réseaux dans le projet hôte de VPC partagé et accorder l'accès aux administrateurs de projet de service | Administrateur réseau |
Ajouter et supprimer des règles de pare-feu | Administrateur de sécurité |
Une fois les sous-réseaux provisionnés, le propriétaire du projet hôte doit attribuer le rôle d'utilisateur de réseau dans le projet hôte à toute personne (généralement des administrateurs de projet de service, des développeurs ou des comptes de service) ayant besoin d'utiliser ces ressources.
Tâche | Rôle requis |
---|---|
Utiliser des réseaux et sous-réseaux VPC appartenant au projet hôte | Utilisateur du réseau |
Ce rôle peut être attribué au niveau du projet ou pour des sous-réseaux individuels. Nous vous recommandons d'attribuer le rôle pour les sous-réseaux individuels. En effet, l'attribution du rôle au niveau du projet permet d'accéder à tous les sous-réseaux actuels et futurs du réseau VPC du projet hôte.
Déployer un équilibreur de charge et des backends
Les administrateurs de projet de service ont besoin des rôles suivants dans le projet de service pour créer des ressources et des backends d'équilibrage de charge. Ces autorisations sont accordées automatiquement au propriétaire ou à l'éditeur du projet de service.
Tâche | Rôle requis |
---|---|
Créer des composants pour l'équilibreur de charge | Administrateur réseau |
Créer des instances | Administrateur d'instances |
Créer et modifier des certificats SSL | Administrateur de sécurité |
Référencer des services de backend multiprojets
Si votre équilibreur de charge doit référencer des services de backend d'autres projets de service, également appelés références de services multiprojets, les administrateurs de l'équilibreur de charge ont besoin du rôle suivant dans le projet de service dans lequel le service de backend est créé.
Tâche | Rôle requis |
---|---|
Autorisations permettant d'utiliser des services dans d'autres projets | Utilisateur des services d'équilibreur de charge |
Ce rôle peut être attribué au niveau du projet ou pour des services de backend individuels. Pour savoir comment attribuer ce rôle, consultez l'exemple de référence de service multiprojet sur cette page.
Pour plus d'informations sur IAM, consultez les guides suivants :
- Access control (Contrôle des accès)
- Conditions IAM
Prérequis
Dans cette section, vous devez effectuer les étapes suivantes :
- Configurer le réseau et les sous-réseaux dans le projet hôte.
- Configurer un VPC partagé dans le projet hôte.
Il n'est pas nécessaire de suivre les étapes de cette section chaque fois que vous souhaitez créer un équilibreur de charge. Toutefois, vous devez vous assurer que vous avez accès aux ressources décrites ici avant de créer l'équilibreur de charge.
Configurer le réseau et les sous-réseaux dans le projet hôte
Vous avez besoin d'un réseau VPC partagé avec deux sous-réseaux : un pour l'interface et les backends de l'équilibreur de charge, un pour les proxys de l'équilibreur de charge.Cet exemple utilise le réseau, la région et les sous-réseaux suivants :
Réseau Le réseau est nommé
lb-network
.Sous-réseau pour l'interface et les backends de l'équilibreur de charge. Un sous-réseau nommé
lb-frontend-and-backend-subnet
dans la régionus-west1
utilise10.1.2.0/24
pour sa plage d'adresses IP principale.Sous-réseau pour les proxys : un sous-réseau nommé
proxy-only-subnet
dans la régionus-west1
utilise10.129.0.0/23
pour sa plage d'adresses IP principale.
Configurer le sous-réseau pour l'interface et les backends de l'équilibreur de charge
Il n'est pas nécessaire de suivre les étapes de cette section chaque fois que vous souhaitez créer un équilibreur de charge. Vous devez simplement vous assurer que le projet de service a accès à un sous-réseau du réseau VPC partagé (en plus du sous-réseau proxy réservé).Toutes les étapes de cette section doivent être effectuées dans le projet hôte.
Console
- Dans Google Cloud Console, accédez à la page Réseaux VPC.
- Cliquez sur Créer un réseau VPC.
- Dans le champ Nom, saisissez
lb-network
. Dans la section Sous-réseaux :
- Définissez Mode de création du sous-réseau sur Personnalisé.
Dans la section Nouveau sous-réseau, saisissez les informations suivantes :
- Nom :
lb-frontend-and-backend-subnet
Région :
us-west1
Plage d'adresses IP :
10.1.2.0/24
- Nom :
Cliquez sur OK.
Cliquez sur Créer.
gcloud
Créez un réseau VPC à l'aide de la commande
gcloud compute networks create
:gcloud compute networks create lb-network --subnet-mode=custom
Créez un sous-réseau sur le réseau
lb-network
, dans la régionus-west1
:gcloud compute networks subnets create lb-frontend-and-backend-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-west1
Terraform
Créez un réseau VPC :
Créez un sous-réseau dans la région
us-west1
:
Configurer le sous-réseau proxy réservé
Le sous-réseau proxy réservé est utilisé par tous les équilibreurs de charge régionaux basés sur Envoy dans la région us-west1
du réseau VPC lb-network
. Il ne peut y avoir qu'un seul sous-réseau proxy réservé actif par région et par réseau.
N'effectuez pas cette étape s'il existe déjà un sous-réseau proxy réservé dans la région us-west1
de ce réseau.
Toutes les étapes de cette section doivent être effectuées dans le projet hôte.
Console
- Dans Google Cloud Console, accédez à la page Réseaux VPC.
- Cliquez sur le nom du réseau VPC partagé :
lb-network
. - Cliquez sur Ajouter un sous-réseau.
- Dans le champ Nom, saisissez
proxy-only-subnet
. - Pour Région, sélectionnez
us-west1
. - 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
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 \ --purpose=REGIONAL_MANAGED_PROXY \ --role=ACTIVE \ --region=us-west1 \ --network=lb-network \ --range=10.129.0.0/23
Terraform
Créer le sous-réseau proxy réservé :
Autoriser les administrateurs de projet de service à accéder au sous-réseau backend
Les administrateurs de projet de service ont besoin d'accéder au sous-réseaulb-frontend-and-backend-subnet
pour pouvoir provisionner les backends de l'équilibreur de charge.
Un administrateur du VPC partagé doit accorder l'accès au sous-réseau backend aux administrateurs du projet de service (ou aux développeurs qui déploieront des ressources et des backends qui exploitent le sous-réseau). Pour obtenir des instructions, consultez la section Administrateurs de projet de service pour certains sous-réseaux.
Configurer des règles de pare-feu dans le projet hôte
Cet exemple utilise les règles de pare-feu suivantes :fw-allow-health-check
: règle d'entrée, applicable aux instances faisant l'objet d'un équilibrage de charge, qui autorise tout le trafic TCP issu des systèmes de vérification d'état Google Cloud dans130.211.0.0/22
et35.191.0.0/16
. Cet exemple utilise le tag cibleload-balanced-backend
pour identifier les instances auxquelles la règle doit s'appliquer.
fw-allow-proxies
: règle d'entrée applicable aux instances faisant l'objet d'un équilibrage de charge, qui autorise le trafic TCP sur les ports80
,443
et8080
à partir des proxys gérés de l'équilibreur de charge. Cet exemple utilise le tag cibleload-balanced-backend
pour identifier les instances auxquelles la règle doit s'appliquer.
Toutes les étapes de cette section doivent être effectuées dans le projet hôte.
Console
Dans la console Google Cloud, accédez à la page Règles d'administration.
- Cliquez sur Créer une règle de pare-feu pour créer la règle autorisant les vérifications d'état Google Cloud :
- Nom :
fw-allow-health-check
- Réseau :
lb-network
- Sens du trafic : entrée
- Action en cas de correspondance : autoriser
- Cibles : tags cibles spécifiés
- Tags cibles :
load-balanced-backend
- Filtre source : plages IPv4
- Plages IPv4 sources :
130.211.0.0/22
et35.191.0.0/16
- Protocols and ports (Protocoles et ports) :
- Choisissez Protocoles et ports spécifiés.
- Vérifiez TCP et saisissez
80
pour le numéro de port.
Nous vous recommandons de limiter cette règle aux seuls protocoles et ports qui correspondent à ceux utilisés par votre vérification de l'état. Si vous utilisez
tcp:80
pour le protocole et le port, Google Cloud peut contacter vos VM via HTTP sur le port80
, mais pas via HTTPS sur le port443
. - Cliquez sur Créer.
- Cliquez sur Créer une règle de pare-feu pour créer la règle autorisant les vérifications d'état Google Cloud :
- Nom :
fw-allow-proxies
- Réseau :
lb-network
- Sens du trafic : entrée
- Action en cas de correspondance : autoriser
- Cibles : tags cibles spécifiés
- Tags cibles :
load-balanced-backend
- Filtre source : plages IPv4
- Plages IPv4 sources :
10.129.0.0/23
- Protocols and ports (Protocoles et ports) :
- Choisissez Protocoles et ports spécifiés.
- Vérifiez TCP et saisissez
80, 443, 8080
pour les numéros de port.
- Cliquez sur Créer.
gcloud
Créez la règle de pare-feu
fw-allow-health-check
pour autoriser les vérifications d'état Google Cloud. Cet exemple autorise tout le trafic TCP provenant des vérificateurs d'état. Toutefois, vous pouvez configurer un ensemble de ports plus restreint en fonction de vos besoins.gcloud compute firewall-rules create fw-allow-health-check \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=load-balanced-backend \ --rules=tcp
Créez la règle de pare-feu
fw-allow-proxies
pour autoriser le trafic provenant du sous-réseau proxy réservé Envoy à accéder à vos backends.gcloud compute firewall-rules create fw-allow-proxies \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=10.129.0.0/23 \ --target-tags=load-balanced-backend \ --rules=tcp:80,tcp:443,tcp:8080
Terraform
Créez une règle de pare-feu pour autoriser les vérifications d'état Google Cloud.
Créez une règle de pare-feu pour autoriser le trafic provenant du sous-réseau proxy réservé Envoy à atteindre vos backends.
Configurer un VPC partagé dans le projet hôte
Cette étape consiste à activer un projet hôte de VPC partagé, à partager des sous-réseaux du projet hôte et à associer des projets de service au projet hôte afin que ces derniers puissent utiliser le réseau VPC partagé. Pour configurer un VPC partagé dans le projet hôte, consultez les pages suivantes :
Le reste de ces instructions suppose que vous avez déjà configuré un VPC partagé. Cela inclut de configurer des stratégies IAM pour votre organisation et de désigner les projets hôtes et de service.
Ne poursuivez pas tant que vous n'avez pas configuré le VPC partagé et activé les projets hôte et de service.
Configurer un équilibreur de charge dans le projet de service
Cet exemple crée un équilibreur de charge d'application externe régional dans lequel tous les composants d'équilibrage de charge (règle de transfert, proxy cible, mappage d'URL et service de backend) et tous les backends sont créés dans le projet de service.
Les ressources réseau de l'équilibreur de charge d'application externe régional, telles que le sous-réseau proxy réservé et le sous-réseau des instances backend, sont créées dans le projet hôte. Les règles de pare-feu des instances backend sont également créées dans le projet hôte.
Cette section vous explique comment configurer l'équilibreur de charge et les backends. Ces étapes doivent être effectuées par l'administrateur du projet de service (ou un développeur opérant dans le projet de service) et ne nécessitent aucune intervention de l'administrateur du projet hôte. Les étapes de cette section sont très semblables aux étapes standards de configuration des équilibreurs de charge d'application externes régionaux.
L'exemple de cette page définit explicitement une adresse IP réservée pour la règle de transfert de l'équilibreur de charge d'application externe régional au lieu d'autoriser l'allocation d'une adresse IP éphémère. Nous vous recommandons de réserver les adresses IP pour les règles de transfert.
Créer un backend de groupe d'instances géré
Cette section explique comment créer un modèle d'instance et un backend de groupe d'instances géré. Le trafic des clients fait l'objet d'un équilibrage de charge par rapport aux VM de ces groupes d'instances.
Console
Créez un modèle d'instance. Dans Google Cloud Console, accédez à la page Modèles d'instances.
Accéder à la page Modèles d'instances
- Cliquez sur Create instance template (Créer un modèle d'instance).
- Dans le champ Nom, saisissez
l7-xlb-backend-template
. - Assurez-vous que le disque de démarrage est défini sur une image Debian, telle que Debian GNU/Linux 10 (Buster). Ces instructions utilisent des commandes uniquement disponibles dans Debian, comme
apt-get
. Si vous devez modifier le disque de démarrage, cliquez sur Modifier.- Pour Système d'exploitation, sélectionnez Debian.
- Pour Version, sélectionnez l'une des images Debian disponibles, telles que Debian GNU/Linux 10 (Buster).
- Cliquez sur Sélectionner.
- Cliquez sur Options avancées, puis sur Mise en réseau.
- Saisissez les tags réseau suivants :
load-balanced-backend
. - Pour les Interfaces réseau, sélectionnez Réseaux partagés avec moi (depuis le projet hôte : HOST_PROJECT_ID).
- Sélectionnez le sous-réseau
lb-frontend-and-backend-subnet
dans le réseaulb-network
. Cliquez sur Gestion. Pour Gestion, insérez le script suivant dans le champ Script de démarrage.
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2
Cliquez sur Créer.
Créez un groupe d'instances géré. Dans la console Google Cloud, accédez à la page Groupes d'instances.
Accéder à la page "Groupes d'instances"
- Cliquez sur Créer un groupe d'instances.
- Choisissez Nouveau groupe d'instances géré (sans état). Pour des informations plus détaillées, consultez la page Groupes d'instances gérés (MIG) sans état ou avec état.
- Dans le champ Nom, saisissez
l7-xlb-backend-example
. - Pour Emplacement, sélectionnez Zone unique.
- Pour le paramètre Région, sélectionnez us-west1.
- Dans le champ Zone, sélectionnez us-west1-a.
- Pour Modèle d'instance, sélectionnez
l7-xlb-backend-template
. Spécifiez le nombre d'instances que vous souhaitez créer au sein du groupe.
Pour cet exemple, spécifiez les options suivantes sous Autoscaling :
- Dans le champ Mode autoscaling, sélectionnez
Off:do not autoscale
. - Dans le champ Nombre maximal d'instances, saisissez
2
.
Si vous le souhaitez, dans la section Autoscaling, vous pouvez configurer le groupe d'instances de manière à ajouter ou supprimer automatiquement des instances en fonction de l'utilisation du processeur.
- Dans le champ Mode autoscaling, sélectionnez
Cliquez sur Create (Créer).
gcloud
Les instructions gcloud
de ce guide supposent que vous utilisez Cloud Shell ou un autre environnement avec bash installé.
Créez un modèle d'instance de VM avec le serveur HTTP à l'aide de la commande
gcloud compute instance-templates create
.gcloud compute instance-templates create l7-xlb-backend-template \ --region=us-west1 \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --tags=load-balanced-backend \ --image-family=debian-10 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2' \ --project=SERVICE_PROJECT_ID
Créez un groupe d'instances géré dans la zone à l'aide de la commande
gcloud compute instance-groups managed create
.gcloud compute instance-groups managed create l7-xlb-backend-example \ --zone=us-west1-a \ --size=2 \ --template=l7-xlb-backend-template \ --project=SERVICE_PROJECT_ID
Réserver l'adresse IP de l'équilibreur de charge dans le projet de service
Réservez une adresse IP externe statique régionale pour l'équilibreur de charge dans le projet de service.
Toutes les étapes de cette section doivent être effectuées dans le projet de service.
Console
Dans la console Google Cloud, accédez à la page Réserver une adresse statique.
Attribuez 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 peuvent être que globales et ne peuvent être utilisées qu'avec les équilibreurs de charge globaux.
Pour le Type, sélectionnez Régional.
Pour Région, sélectionnez
us-west1
.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.
Pour réserver l'adresse IP, cliquez sur Réserver.
gcloud
Pour réserver une adresse IP externe statique, utilisez la
commande compute addresses create
.
gcloud compute addresses create IP_ADDRESS_NAME \ --region=us-west1 \ --network-tier=STANDARD \ --project=SERVICE_PROJECT_ID
Remplacez les éléments suivants :
IP_ADDRESS_NAME
: nom que vous souhaitez donner à cette adresse.SERVICE_PROJECT_ID
: ID du projet de service dans lequel l'équilibreur de charge est créé.
Configurer l'équilibreur de charge
Cette section vous explique comment créer les ressources suivantes pour l'équilibreur de charge d'application externe régional :
- Vérification d'état HTTP
- Un service de backend avec un groupe d'instances géré en tant que backend
- Un mappage d'URL
- Un certificat SSL (requis uniquement pour HTTPS)
- Un proxy cible
- Une règle de transfert
Disponibilité du proxy
En fonction du nombre de projets de service qui utilisent le même réseau VPC partagé, vous pouvez atteindre des quotas ou des limites plus rapidement que dans le modèle de déploiement réseau où chaque projet Google Cloud héberge son propre réseau.
Parfois, les régions Google Cloud ne disposent pas d'une capacité de proxy suffisante pour un nouvel équilibreur de charge d'application interne. Dans ce cas, la console Google Cloud fournit un message d'avertissement de disponibilité du proxy lors de la création de votre équilibreur de charge. Pour résoudre ce problème, vous pouvez effectuer l'une des opérations suivantes :
- Attendez que le problème de capacité soit résolu.
Contactez l'équipe commerciale Google Cloud pour augmenter ces limites.
Console
Basculer vers le contexte du projet de service
- Dans la console Google Cloud, accédez à la page Tableau de bord.
- Cliquez sur la liste Sélectionner en haut de la page. Dans la fenêtre Sélectionner qui s'affiche, sélectionnez le projet de service dans lequel vous souhaitez créer l'équilibreur de charge.
Démarrer la configuration
Dans Google Cloud Console, accédez à la page Équilibrage de charge.
- Cliquez sur Créer un équilibreur de charge.
- Dans le champ Type d'équilibreur de charge, sélectionnez Équilibreur de charge d'application (HTTP/HTTPS), puis cliquez sur Suivant.
- Pour Public ou interne, sélectionnez Public (externe), puis cliquez sur Suivant.
- Pour Déploiement global 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
- Pour le nom de l'équilibreur de charge, saisissez
l7-xlb-shared-vpc
. - Pour la région, sélectionnez us-west1.
Pour le réseau, sélectionnez lb-network (dans Projet : HOST_PROJECT_ID).
Si le message d'avertissement Sous-réseau proxy réservé obligatoire dans le réseau VPC partagé
proxy-only-subnet
s'affiche, confirmez que l'administrateur du projet hôte a créé l'adresseus-west1
dans la régionlb-network
du réseau VPC partagé . La création de l'équilibreur de charge réussit même si vous ne disposez pas des autorisations nécessaires pour afficher le sous-réseau proxy réservé sur cette page.Laissez la page ouverte pour continuer.
Configurer l'interface
Pour HTTP :
- Cliquez sur Configuration du frontend.
- Cliquez sur Ajouter une adresse IP et un port frontend.
- Définissez le paramètre Nom sur
l7-xlb-forwarding-rule
. - Définissez le paramètre Protocole sur
HTTP
. - Définissez le paramètre Port sur
80
. Sélectionnez l'Adresse IP que vous avez créée dans la section Réserver l'adresse IP de l'équilibreur de charge.
Cliquez sur OK.
Pour HTTPS :
Si vous utilisez HTTPS entre le client et l'équilibreur de charge, vous devez disposer d'une ou de plusieurs ressources de certificat SSL pour configurer le proxy. Pour en savoir plus sur la création de ressources de certificat SSL, consultez la page Certificats SSL. À l'heure actuelle, les certificats gérés par Google ne sont pas compatibles avec les équilibreurs de charge d'application externes régionaux.
- Cliquez sur Configuration de l'interface.
- Cliquez sur Ajouter une adresse IP et un port frontend.
- Dans le champ Nom, saisissez
l7-xlb-forwarding-rule
. - Dans le champ Protocole, sélectionnez
HTTPS (includes HTTP/2)
. - Assurez-vous que le port est défini sur la valeur
443
pour autoriser le trafic HTTPS. - Sélectionnez l'Adresse IP que vous avez créée dans la section Réserver l'adresse IP de l'équilibreur de charge.
- Cliquez sur la liste Certificat.
- Si vous possédez déjà une ressource de certificat SSL autogérée que vous souhaitez utiliser comme certificat SSL principal, sélectionnez-la dans le menu déroulant.
- Sinon, sélectionnez Créer un certificat.
- Pour le nom, indiquez
l7-xlb-cert
. - Dans les champs appropriés, importez vos fichiers au format PEM :
- Certificat de clé publique
- Chaîne de certificats
- Clé privée
- Cliquez sur Create (Créer).
- Pour le nom, indiquez
- Pour ajouter des ressources de certificat en plus de la ressource de certificat SSL principale, procédez comme suit :
- Cliquez sur Ajouter un certificat.
- Sélectionnez un certificat dans la liste Certificats ou cliquez sur Créer un certificat, puis suivez les instructions ci-dessus.
- Cliquez sur OK.
Configurer le backend
- Cliquez sur Configuration du backend.
- Dans le menu Créer ou sélectionner des services de backend, sélectionnez Créer un service de backend.
- Définissez le paramètre Nom du service de backend sur
l7-xlb-backend-service
. - Définissez le Type de backend sur Groupes d'instances.
- Dans la section Nouveau backend :
- Définissez le Groupe d'instances sur
l7-xlb-backend-example
. - Définissez les numéros de port sur
80
. - Définissez le Mode d'équilibrage sur Utilisation.
- Cliquez sur OK.
- Définissez le Groupe d'instances sur
- Dans la section Vérification d'état, sélectionnez Créer une vérification d'état avec les paramètres suivants :
- Nom :
l7-xlb-basic-check
- Protocole :
HTTP
- Port :
80
- Nom :
- Cliquez sur Enregistrer et continuer.
- Cliquez sur Créer.
Configurer les règles de routage
- Cliquez sur Règles de routage. Assurez-vous que
l7-xlb-backend-service
est le seul service de backend pour tous les hôtes et chemins sans correspondance.
Pour en savoir plus sur la gestion du trafic, consultez la page Configurer la gestion du trafic.
Vérifier et finaliser la configuration
- Cliquez sur Créer.
gcloud
Définissez la vérification d'état HTTP à l'aide de la commande
gcloud compute health-checks create http
.gcloud compute health-checks create http l7-xlb-basic-check \ --region=us-west1 \ --use-serving-port \ --project=SERVICE_PROJECT_ID
Définissez le service de backend avec la commande
gcloud compute backend-services create
.gcloud compute backend-services create l7-xlb-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --health-checks=l7-xlb-basic-check \ --health-checks-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_ID
Ajoutez des backends au service de backend à l'aide de la commande
gcloud compute backend-services add-backend
.gcloud compute backend-services add-backend l7-xlb-backend-service \ --balancing-mode=UTILIZATION \ --instance-group=l7-xlb-backend-example \ --instance-group-zone=us-west1-a \ --region=us-west1 \ --project=SERVICE_PROJECT_ID
Créez le mappage d'URL à l'aide de la commande
gcloud compute url-maps create
.gcloud compute url-maps create l7-xlb-map \ --default-service=l7-xlb-backend-service \ --region=us-west1 \ --project=SERVICE_PROJECT_ID
Créez le proxy cible.
Pour HTTP :
Pour un équilibreur de charge HTTP, créez le proxy cible à l'aide de la commande
gcloud compute target-http-proxies create
.gcloud compute target-http-proxies create l7-xlb-proxy \ --url-map=l7-xlb-map \ --url-map-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_ID
Pour HTTPS :
Pour en savoir plus sur la création de ressources de certificat SSL, consultez la page Certificats SSL. À l'heure actuelle, les certificats gérés par Google ne sont pas compatibles avec les équilibreurs de charge d'application externes régionaux.
Attribuez vos chemins de fichiers à des noms de variables.
export LB_CERT=path to PEM-formatted file
export LB_PRIVATE_KEY=path to PEM-formatted file
Créez un certificat SSL régional à l'aide de la commande
gcloud compute ssl-certificates create
.gcloud compute ssl-certificates create l7-xlb-cert \ --certificate=$LB_CERT \ --private-key=$LB_PRIVATE_KEY \ --region=us-west1
Utilisez le certificat SSL régional pour créer le proxy cible à l'aide de la commande
gcloud compute target-https-proxies create
.gcloud compute target-https-proxies create l7-xlb-proxy \ --url-map=l7-xlb-map \ --region=us-west1 \ --ssl-certificates=l7-xlb-cert \ --project=SERVICE_PROJECT_ID
Créez la règle de transfert.
Pour les réseaux personnalisés, vous devez faire référence au sous-réseau dans la règle de transfert.
Pour l'adresse IP de la règle de transfert, utilisez le sous-réseau
lb-frontend-and-backend-subnet
. Si vous essayez d'utiliser le sous-réseau proxy réservé, la création de la règle de transfert échoue.Pour HTTP :
Utilisez la commande
gcloud compute forwarding-rules create
avec les options appropriées.gcloud compute forwarding-rules create l7-xlb-forwarding-rule \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --address=IP_ADDRESS_NAME \ --ports=80 \ --region=us-west1 \ --target-http-proxy=l7-xlb-proxy \ --target-http-proxy-region=us-west1 \ --network-tier=STANDARD \ --project=SERVICE_PROJECT_ID
Pour HTTPS :
Créez la règle de transfert à l'aide de la commande
gcloud compute forwarding-rules create
avec les options appropriées.gcloud compute forwarding-rules create l7-xlb-forwarding-rule \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --address=IP_ADDRESS_NAME \ --ports=443 \ --region=us-west1 \ --target-https-proxy=l7-xlb-proxy \ --target-https-proxy-region=us-west1 \ --network-tier=STANDARD \ --project=SERVICE_PROJECT_ID
Tester l'équilibreur de charge
Une fois que le service d'équilibrage de charge est en cours d'exécution, vous pouvez envoyer le trafic vers la règle de transfert et observer la répartition du trafic entre les différentes instances.
Console
Dans la console Google Cloud, accédez à la page Équilibrage de charge.
- Cliquez sur l'équilibreur de charge que vous venez de créer.
- Notez l'adresse IP de l'équilibreur de charge. Dans les étapes suivantes, cette adresse IP est appelée
LB_IP_ADDRESS
. - Dans la section Backend, vérifiez que les VM sont opérationnelles. La colonne Opérationnelles doit indiquer que les deux VM sont opérationnelles (
2/2
). Si ce n'est pas le cas, commencez par actualiser la page. Il peut s'écouler quelques instants avant que la console Google Cloud n'indique que les VM sont opérationnelles. Si les backends ne semblent toujours pas opérationnels au bout de quelques minutes, vérifiez la configuration du pare-feu et le tag réseau attribué à vos VM de backend. - Une fois que la console Google Cloud indique que les instances backend sont opérationnelles, vous pouvez tester votre équilibreur de charge à l'aide d'un navigateur Web en accédant à
https://LB_IP_ADDRESS
(ouhttp://LB_IP_ADDRESS
). RemplacezLB_IP_ADDRESS
par l'adresse IP de l'équilibreur de charge. - Si vous avez utilisé un certificat autosigné pour les tests HTTPS, votre navigateur affiche un avertissement. Vous devez explicitement lui indiquer d'accepter un certificat autosigné.
- Votre navigateur doit afficher une page dont le contenu indique le nom de l'instance ayant diffusé la page, ainsi que sa zone (par exemple,
Page served from: lb-backend-example-xxxx
). Si ce n'est pas le cas, vérifiez les paramètres de configuration décrits dans ce guide.
gcloud
Notez l'adresse IP réservée :
gcloud compute addresses describe IP_ADDRESS_NAME \ --format="get(address)" \ --region=us-west1
Vous pouvez tester votre équilibreur de charge à l'aide d'un navigateur Web en accédant à https://IP_ADDRESS_NAME
(ou http://IP_ADDRESS_NAME
). Remplacez IP_ADDRESS_NAME
par l'adresse IP de l'équilibreur de charge.
Si vous avez utilisé un certificat autosigné pour les tests HTTPS, votre navigateur affiche un avertissement. Vous devez explicitement lui indiquer d'accepter un certificat autosigné.
Votre navigateur doit afficher une page contenant un minimum d'informations sur l'instance backend. Si votre navigateur n'affiche pas cette page, examinez les paramètres de configuration de ce guide.
Configurer un équilibreur de charge avec un service de backend multiprojet
L'exemple précédent de cette page vous explique comment configurer un déploiement de VPC partagé dans lequel tous les composants de l'équilibreur de charge et ses backends sont créés dans le projet de service.
Les équilibreurs de charge d'application externes régionaux vous permettent également de configurer des déploiements de VPC partagé dans lesquels un mappage d'URL d'un projet hôte ou de service peut faire référence à des services de backend (et à des backends) situés sur plusieurs projets de service dans des environnements VPC partagés. C'est ce que l'on appelle le référencement de services inter-projets.
Vous pouvez utiliser les étapes de cette section comme référence pour configurer l'une des combinaisons compatibles répertoriées ici :
- Règle de transfert, proxy cible et mappage d'URL dans le projet hôte, et service de backend dans un projet de service
- Règle de transfert, proxy cible et mappage d'URL dans un projet de service, et service de backend dans un autre projet de service
Le référencement des services multiprojets peut être utilisé avec des groupes d'instances, des NEG sans serveur ou tout autre type de backend compatible. Si vous utilisez des NEG sans serveur, vous devez créer une VM dans le réseau VPC sur lequel vous souhaitez créer l'interface de l'équilibreur de charge. Pour obtenir un exemple, consultez la section Créer une instance de VM dans un sous-réseau spécifique sur la page Configurer un équilibreur de charge d'application externe régional avec Cloud Run.
Conditions à respecter
Cet exemple configure un exemple d'équilibreur de charge avec son interface et son backend dans deux projets de service différents.
Si vous ne l'avez pas déjà fait, vous devez suivre toutes les étapes préalables pour configurer le VPC partagé ainsi que les réseaux, les sous-réseaux et les règles de pare-feu requis pour cet exemple. Pour obtenir des instructions, consultez les sections suivantes au début de cette page :
Réserver l'adresse IP de l'équilibreur de charge dans le projet de service A
Réservez une adresse IP externe statique régionale pour l'équilibreur de charge dans le projet de service A.
Toutes les étapes de cette section doivent être effectuées dans le projet de service A.
Console
Dans la console Google Cloud, accédez à la page Réserver une adresse statique.
Pour le nouveau nom d'adresse, saisissez
cross-ref-ip-address
.Définissez le Niveau de service réseau sur Standard.
Pour Version IP, sélectionnez IPv4. Les adresses IPv6 ne peuvent être que globales et ne peuvent être utilisées qu'avec les équilibreurs de charge globaux.
Pour le Type, sélectionnez Régional.
Pour Région, sélectionnez
us-west1
.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.
Pour réserver l'adresse IP, cliquez sur Réserver.
gcloud
Pour réserver une adresse IP externe statique, utilisez la
commande compute addresses create
.
gcloud compute addresses create IP_ADDRESS_CROSS_REF \ --region=us-west1 \ --network-tier=STANDARD \ --project=SERVICE_PROJECT_A_ID
Remplacez les éléments suivants :
IP_ADDRESS_CROSS_REF
: nom que vous souhaitez donner à cette adresse IP.SERVICE_PROJECT_A_ID
: ID du projet de service A, dans lequel l'interface de l'équilibreur de charge est créée.
Créer les backends et le service de backend dans le projet de service B
Toutes les étapes de cette section doivent être effectuées dans le projet de service B.
Console
Créez un modèle d'instance. Dans Google Cloud Console, accédez à la page Modèles d'instances.
Accéder à la page Modèles d'instances
- Cliquez sur Créer un modèle d'instance.
- Dans le champ Nom, saisissez le nom du modèle d'instance :
cross-ref-backend-template
. - Assurez-vous que le disque de démarrage est défini sur une image Debian, telle que Debian GNU/Linux 10 (Buster). Ces instructions utilisent des commandes uniquement disponibles dans Debian, comme
apt-get
. Si vous devez modifier le disque de démarrage, cliquez sur Modifier.- Pour Système d'exploitation, sélectionnez Debian.
- Pour Version, sélectionnez l'une des images Debian disponibles, telles que Debian GNU/Linux 10 (Buster).
- Cliquez sur Sélectionner.
- Cliquez sur Options avancées, puis sur Mise en réseau.
- Saisissez les tags réseau suivants :
load-balanced-backend
. - Pour les Interfaces réseau, sélectionnez Réseaux partagés avec moi (depuis le projet hôte : HOST_PROJECT_ID).
- Sélectionnez le sous-réseau
lb-frontend-and-backend-subnet
dans le réseaulb-network
. Cliquez sur Gestion. Pour Gestion, insérez le script suivant dans le champ Script de démarrage :
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2
Cliquez sur Créer.
Créez un groupe d'instances géré. Dans la console Google Cloud, accédez à la page Groupes d'instances.
Accéder à la page "Groupes d'instances"
- Cliquez sur Créer un groupe d'instances.
- Choisissez Nouveau groupe d'instances géré (sans état). Pour plus d'informations, consultez la page Groupes d'instances gérés (MIG) sans état ou avec état.
- Pour le champ Nom, saisissez le nom du groupe d'instances :
cross-ref-ig-backend
. - Pour Emplacement, sélectionnez Zone unique.
- Pour le paramètre Région, sélectionnez us-west1.
- Dans le champ Zone, sélectionnez us-west1-a.
- Pour Modèle d'instance, sélectionnez cross-ref-backend-template.
Spécifiez le nombre d'instances que vous souhaitez créer au sein du groupe.
Pour cet exemple, spécifiez les options suivantes sous Autoscaling :
- Dans le champ Mode autoscaling, sélectionnez
Off:do not autoscale
. - Dans le champ Nombre maximal d'instances, saisissez
2
.
Si vous le souhaitez, dans la section Autoscaling, vous pouvez configurer le groupe d'instances de manière à ajouter ou supprimer automatiquement des instances en fonction de l'utilisation du processeur.
- Dans le champ Mode autoscaling, sélectionnez
Cliquez sur Créer.
Créez un service de backend régional. Dans le cadre de cette étape, nous allons également créer la vérification de l'état et ajouter des backends au service de backend. Dans la console Google Cloud, accédez à la page Backends.
- Cliquez sur Créer un service de backend régional.
- Dans le champ Nom, saisissez le nom du service de backend :
cross-ref-backend-service
. - Pour le paramètre Région, sélectionnez us-west1.
- Pour Type d'équilibreur de charge, sélectionnez Équilibreur de charge d'application externe régional (EXTERNAL_MANAGED).
- Définissez Type de backend sur Groupes d'instances.
- Dans la section Backends, définissez le réseau sur lb-network.
- Cliquez sur Ajouter un backend et définissez les champs suivants :
- Définissez le Groupe d'instances sur cross-ref-ig-backend.
- Définissez le paramètre Numéros de ports sur
80
. - Définissez le Mode d'équilibrage sur Utilisation.
- Cliquez sur OK.
- Dans la section Vérification d'état, sélectionnez Créer une vérification d'état avec les paramètres suivants :
- Nom :
cross-ref-http-health-check
- Protocole :
HTTP
- Port :
80
- Cliquez sur Enregistrer.
- Nom :
Facultatif : dans la section Ajouter des autorisations, saisissez les comptes principaux IAM (généralement une adresse e-mail) des administrateurs de l'équilibreur de charge provenant d'autres projets afin qu'ils puissent utiliser ce service de backend pour les équilibreurs de charge dans leurs propres projets. Sans cette autorisation, vous ne pouvez pas utiliser le référencement des services multiprojets.
Si vous ne disposez pas des autorisations nécessaires pour définir des règles de contrôle des accès pour les services de backend dans ce projet, vous pouvez toujours créer le service de backend et un utilisateur autorisé effectuera cette étape ultérieurement, comme décrit dans la section Accorder des autorisations à l'administrateur de l'équilibreur de charge pour utiliser le service de backend. Cette section explique également comment accorder l'accès à tous les services de backend de ce projet, afin de ne pas avoir à le faire chaque fois que vous créez un service de backend.
Cliquez sur Créer.
gcloud
Créez un modèle d'instance de VM avec un serveur HTTP à l'aide de la commande
gcloud compute instance-templates create
.gcloud compute instance-templates create BACKEND_IG_TEMPLATE \ --region=us-west1 \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --tags=load-balanced-backend \ --image-family=debian-10 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2' \ --project=SERVICE_PROJECT_B_ID
Remplacez les éléments suivants :
BACKEND_IG_TEMPLATE
: nom du modèle de groupe d'instances.SERVICE_PROJECT_B_ID
: ID du projet de service B, dans lequel les backends de l'équilibreur de charge et le service de backend sont créés.HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.
Créez un groupe d'instances géré dans la zone à l'aide de la commande
gcloud compute instance-groups managed create
.gcloud compute instance-groups managed create BACKEND_MIG \ --zone=us-west1-a \ --size=2 \ --template=BACKEND_IG_TEMPLATE \ --project=SERVICE_PROJECT_B_ID
Remplacez les éléments suivants :
BACKEND_MIG
: nom du groupe d'instances backend.
Définissez la vérification d'état HTTP à l'aide de la commande
gcloud compute health-checks create http
.gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --region=us-west1 \ --use-serving-port \ --project=SERVICE_PROJECT_B_ID
Remplacez les éléments suivants :
HTTP_HEALTH_CHECK_NAME
: nom de la vérification d'état HTTP
Définissez le service de backend avec la commande
gcloud compute backend-services create
.gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --health-checks=HTTP_HEALTH_CHECK_NAME \ --health-checks-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_B_ID
Remplacez les éléments suivants :
BACKEND_SERVICE_NAME
: nom du service de backend créé dans le projet de service B.
Ajoutez des backends au service de backend à l'aide de la commande
gcloud compute backend-services add-backend
.gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --balancing-mode=UTILIZATION \ --instance-group=BACKEND_MIG \ --instance-group-zone=us-west1-a \ --region=us-west1 \ --project=SERVICE_PROJECT_B_ID
Créer l'interface et le mappage d'URL de l'équilibreur de charge dans le projet de service A
Toutes les étapes de cette section doivent être effectuées dans le projet de service A.
Console
Démarrer la configuration
Dans Google Cloud Console, accédez à la page Équilibrage de charge.
- Cliquez sur Créer un équilibreur de charge.
- Dans le champ Type d'équilibreur de charge, sélectionnez Équilibreur de charge d'application (HTTP/HTTPS), puis cliquez sur Suivant.
- Pour Public ou interne, sélectionnez Public (externe), puis cliquez sur Suivant.
- Pour Déploiement global ou dans une seule région, sélectionnez Recommandé pour les charges de travail régionales, puis cliquez sur Suivant.
- Cliquez sur Configurer.
Préparer l'équilibreur de charge
- Saisissez le nom de l'équilibreur de charge :
cross-ref-l7-xlb-shared-vpc
. - Pour la région, sélectionnez us-west1.
Pour le réseau, sélectionnez lb-network (dans Projet : HOST_PROJECT_ID).
Si le message d'avertissement Sous-réseau proxy réservé obligatoire dans le réseau VPC partagé s'affiche, confirmez que l'administrateur du projet hôte a créé l'adresse
proxy-only-subnet
dans la régionus-west1
du réseau VPC partagélb-network
. La création de l'équilibreur de charge réussit même si vous ne disposez pas des autorisations nécessaires pour afficher le sous-réseau proxy réservé sur cette page.Laissez la page ouverte pour continuer.
Configurer l'interface
Pour que la référence multiprojet fonctionne, l'interface doit utiliser le même réseau (lb-network
) que celui utilisé pour créer le service de backend.
Pour HTTP :
- Cliquez sur Configuration de l'interface.
- Saisissez un nom pour la règle de transfert :
cross-ref-http-forwarding-rule
. - Définissez le paramètre Protocole sur
HTTP
. Définissez le paramètre Sous-réseau sur
lb-frontend-and-backend-subnet
.Ne sélectionnez pas le sous-réseau proxy réservé pour l'interface, même s'il s'agit d'une option de la liste déroulante.
Sélectionnez l'adresse IP que vous avez créée à la section Réserver l'adresse IP de l'équilibreur de charge, appelée cross-ref-ip-address.
Définissez le paramètre Port sur
80
.Cliquez sur OK.
Pour HTTPS :
Si vous utilisez HTTPS entre le client et l'équilibreur de charge, vous devez disposer d'une ou de plusieurs ressources de certificat SSL pour configurer le proxy. Pour en savoir plus sur la création de ressources de certificat SSL, consultez la page Certificats SSL. À l'heure actuelle, les certificats gérés par Google ne sont pas compatibles avec les équilibreurs de charge d'application externes régionaux.
- Cliquez sur Configuration de l'interface.
- Saisissez un nom pour la règle de transfert :
cross-ref-https-forwarding-rule
. - Dans le champ Protocole, sélectionnez
HTTPS (includes HTTP/2)
. Définissez le paramètre Sous-réseau sur
lb-frontend-and-backend-subnet
.Ne sélectionnez pas le sous-réseau proxy réservé pour l'interface, même s'il s'agit d'une option de la liste déroulante.
Sélectionnez l'adresse IP que vous avez créée à la section Réserver l'adresse IP de l'équilibreur de charge, appelée cross-ref-ip-address.
Assurez-vous que le port est défini sur la valeur
443
pour autoriser le trafic HTTPS.Cliquez sur la liste Certificat.
- Si vous possédez déjà une ressource de certificat SSL autogérée que vous souhaitez utiliser comme certificat SSL principal, sélectionnez-la dans le menu déroulant.
- Sinon, sélectionnez Créer un certificat.
- Saisissez un nom pour le certificat SSL.
- Dans les champs appropriés, importez vos fichiers au format PEM :
- Certificat de clé publique
- Chaîne de certificats
- Clé privée
- Cliquez sur Créer.
Pour ajouter des ressources de certificat en plus de la ressource de certificat SSL principale :
- Cliquez sur Ajouter un certificat.
- Sélectionnez un certificat dans la liste Certificats ou cliquez sur Créer un certificat, puis suivez les instructions précédentes.
Cliquez sur OK.
Configurer le backend
- Cliquez sur Configuration du backend.
- Cliquez sur Services de backend multiprojets.
- Dans le champ ID du projet, saisissez l'ID du projet de service B.
- Dans le champ Nom du service de backend, saisissez le nom du service de backend du projet B que vous souhaitez utiliser. Dans cet exemple, vous saisissez
cross-ref-backend-service
. - Cliquez sur Ajouter le service de backend.
Configurer les règles de routage
- Cliquez sur Règles de routage. Assurez-vous que le service cross-ref-backend-service est le seul service de backend pour tous les hôtes et chemins sans correspondance.
Pour en savoir plus sur la gestion du trafic, consultez la page Configurer la gestion du trafic.
Vérifier et finaliser la configuration
- Cliquez sur Créer.
Tester l'équilibreur de charge
Une fois l'équilibreur de charge créé, testez-le en suivant les étapes décrites dans la section Tester l'équilibreur de charge.
gcloud
Créez le mappage d'URL et définissez le service par défaut sur le service de backend créé dans le projet de service B.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=projects/SERVICE_PROJECT_B_ID/regions/us-west1/backendServices/BACKEND_SERVICE_NAME \ --region=us-west1 \ --project=SERVICE_PROJECT_A_ID
Remplacez les éléments suivants :
URL_MAP_NAME
: nom du mappage d'URL.BACKEND_SERVICE_NAME
: nom du service de backend créé dans le projet de service B.SERVICE_PROJECT_B_ID
: ID du projet de service B, dans lequel les backends de l'équilibreur de charge et le service de backend sont créés.SERVICE_PROJECT_A_ID
: ID du projet de service A, dans lequel l'interface de l'équilibreur de charge est créée.
La création du mappage d'URL échoue si vous ne disposez pas de l'autorisation
compute.backendServices.use
pour le service de backend dans le projet de service B.Créez le proxy cible.
Pour HTTP :
gcloud compute target-http-proxies create HTTP_TARGET_PROXY_NAME \ --url-map=URL_MAP_NAME \ --url-map-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_A_ID
Remplacez les éléments suivants :
HTTP_TARGET_PROXY_NAME
: nom du proxy HTTP cible.
Pour HTTPS :
Créez un certificat SSL régional à l'aide de la commande
gcloud compute ssl-certificates create
.gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate=PATH_TO_CERTIFICATE \ --private-key=PATH_TO_PRIVATE_KEY \ --region=us-west1 \ --project=SERVICE_PROJECT_A_ID
Remplacez les éléments suivants :
SSL_CERTIFICATE_NAME
: nom de la ressource de certificat SSL.PATH_TO_CERTIFICATE
: chemin d'accès au fichier de certificat SSL local au format PEM.PATH_TO_PRIVATE_KEY
: chemin d'accès à la clé privée du certificat SSL local au format PEM.
Utilisez le certificat SSL régional pour créer le proxy cible à l'aide de la commande
gcloud compute target-https-proxies create
.gcloud compute target-https-proxies create HTTPS_TARGET_PROXY_NAME \ --url-map=URL_MAP_NAME \ --region=us-west1 \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --project=SERVICE_PROJECT_A_ID
Remplacez les éléments suivants :
HTTPS_TARGET_PROXY_NAME
: nom du proxy HTTPS cible.
Créez la règle de transfert. Pour que la référence de service multiprojet fonctionne, la règle de transfert doit utiliser le même réseau (
lb-network
) que celui du projet hôte de VPC partagé utilisé pour créer le service de backend.Pour HTTP :
gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --address=IP_ADDRESS_CROSS_REF \ --ports=80 \ --region=us-west1 \ --target-http-proxy=HTTP_TARGET_PROXY_NAME \ --target-http-proxy-region=us-west1 \ --network-tier=STANDARD \ --project=SERVICE_PROJECT_A_ID
Remplacez les éléments suivants :
HTTP_FORWARDING_RULE_NAME
: nom de la règle de transfert utilisée pour gérer le trafic HTTP.
Pour HTTPS :
gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --address=IP_ADDRESS_CROSS_REF \ --ports=443 \ --region=us-west1 \ --target-https-proxy=HTTPS_TARGET_PROXY_NAME \ --target-https-proxy-region=us-west1 \ --network-tier=STANDARD \ --project=SERVICE_PROJECT_A_ID
Remplacez les éléments suivants :
HTTPS_FORWARDING_RULE_NAME
: nom de la règle de transfert utilisée pour gérer le trafic HTTPS.
Pour tester l'équilibreur de charge, suivez les étapes décrites dans la section Tester l'équilibreur de charge.
Accorder des autorisations à l'administrateur de l'équilibreur de charge pour utiliser le service de backend
Si vous souhaitez que les équilibreurs de charge référencent des services de backend dans d'autres projets de service, l'administrateur de l'équilibreur de charge doit disposer de l'autorisation compute.backendServices.use
. Pour accorder cette autorisation, vous pouvez utiliser le rôle IAM prédéfini appelé Utilisateur des services de l'équilibreur de charge Compute (roles/compute.loadBalancerServiceUser
). Ce rôle doit être attribué par l'administrateur de projet de service et peut être appliqué au niveau du projet ou au niveau du service de backend.
Cette étape n'est pas nécessaire si vous avez déjà accordé les autorisations requises au niveau du service de backend lors de la création du service de backend. Vous pouvez ignorer cette section ou continuer à lire pour savoir comment accorder l'accès à tous les services de backend de ce projet, afin de ne pas avoir à le faire chaque fois que vous créez un backend.
Dans cet exemple, un administrateur de projet de service du projet B doit exécuter l'une des commandes suivantes pour accorder l'autorisation compute.backendServices.use
à un administrateur de l'équilibreur de charge du projet de service A. Cette opération peut être effectuée au niveau du projet (pour tous les services de backend du projet) ou par service de backend.
Console
Autorisations au niveau du projet
Procédez comme suit pour accorder des autorisations à tous les services de backend de votre projet.
Vous avez besoin des autorisations compute.regionBackendServices.setIamPolicy
et resourcemanager.projects.setIamPolicy
pour effectuer cette étape.
Dans la console Google Cloud, accédez à la page Services d'équilibrage de charge partagés.
Dans la section Toutes les autorisations du service de backend (autorisations au niveau du projet), sélectionnez votre projet.
Si le panneau des autorisations n'est pas visible, cliquez sur Afficher le panneau des autorisations. Le panneau Autorisations au niveau du projet s'ouvre à droite.
Cliquez sur
Ajouter un compte principal.Pour Nouveaux comptes principaux, saisissez l'adresse e-mail du compte principal ou un autre identifiant.
Pour Rôle, sélectionnez le rôle Utilisateur des services d'équilibrage de charge Compute dans la liste déroulante.
Facultatif : ajoutez une condition au rôle.
Cliquez sur Enregistrer.
Autorisations au niveau des ressources pour des services de backend individuels
Procédez comme suit pour accorder des autorisations à chaque service de backend de votre projet.
Vous devez disposer de l'autorisation compute.regionBackendServices.setIamPolicy
pour effectuer cette étape.
gcloud
Autorisations au niveau du projet
Procédez comme suit pour accorder des autorisations à tous les services de backend de votre projet.
Vous avez besoin des autorisations compute.regionBackendServices.setIamPolicy
et resourcemanager.projects.setIamPolicy
pour effectuer cette étape.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_B_ID \ --member="user:LOAD_BALANCER_ADMIN" \ --role="roles/compute.loadBalancerServiceUser"
Autorisations au niveau des ressources pour des services de backend individuels
Au niveau du service de backend, les administrateurs de projet de service peuvent utiliser l'une des commandes suivantes pour attribuer le rôle d'utilisateur des services de l'équilibreur de charge Compute (roles/compute.loadBalancerServiceUser
).
Vous devez disposer de l'autorisation compute.regionBackendServices.setIamPolicy
pour effectuer cette étape.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_B_ID \ --member="user:LOAD_BALANCER_ADMIN" \ --role="roles/compute.loadBalancerServiceUser" \ --condition='expression=resource.name=="projects/SERVICE_PROJECT_B_ID/regions/us-west1/backend-services/BACKEND_SERVICE_NAME",title=Shared VPC condition'
ou
gcloud compute backend-services add-iam-policy-binding BACKEND_SERVICE_NAME \ --member="user:LOAD_BALANCER_ADMIN" \ --role="roles/compute.loadBalancerServiceUser" \ --project=SERVICE_PROJECT_B_ID \ --region=us-west1
Pour utiliser ces commandes, remplacez LOAD_BALANCER_ADMIN
par le compte principal de l'utilisateur, par exemple test-user@gmail.com
.
Vous pouvez également configurer des autorisations IAM afin qu'elles ne s'appliquent qu'à un sous-ensemble de services de backend régionaux, en utilisant des conditions et en spécifiant des attributs de condition.
Étapes suivantes
- Vous pouvez restreindre l'utilisation des fonctionnalités de VPC partagé dans votre projet, telles que la référence de services multiprojets, à l'aide de contraintes de règle d'administration. Pour plus d'informations, consultez la section Contraintes de règles d'administration pour Cloud Load Balancing.
- Pour gérer la ressource de sous-réseau proxy réservé requise par des équilibreurs de charge d'application externes régionaux, consultez la page Sous-réseau proxy réservé aux équilibreurs de charge d'application externes régionaux.
- Pour savoir comment résoudre les problèmes liés à un équilibreur de charge d'application externe régional, consultez la page Résoudre les problèmes liés à l'équilibrage de charge d'application externe.
- Nettoyez la configuration de l'équilibreur de charge.