Ce tutoriel explique comment un client de services peut accéder à son service publié en créant un point de terminaison Private Service Connect. Lorsque vous envoyez des requêtes au point de terminaison, Private Service Connect les transmet au service publié.
Ce tutoriel est destiné aux architectes cloud, aux architectes réseau, aux administrateurs réseau et aux administrateurs informatiques.
Objectifs
- Configurer la mise en réseau pour les ressources du consommateur de services
- Créer un point de terminaison
- Tester l'accès au point de terminaison
Coûts
Dans ce document, vous utilisez les composants facturables de Google Cloudsuivants :
Vous pouvez obtenir une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Une fois que vous avez terminé les tâches décrites dans ce document, supprimez les ressources que vous avez créées pour éviter que des frais vous soient facturés. Pour en savoir plus, consultez la section Effectuer un nettoyage.
Avant de commencer
- Suivez les deux tutoriels précédents de cette série :
- Créez un service à équilibrage de charge.
- Rendez le service accessible depuis d'autres réseaux VPC. Pour suivre ce tutoriel, vous avez besoin de l' ID du rattachement de service.
- Créez ou sélectionnez un projet à utiliser pour les ressources du consommateur de services.
Ce projet est appelé
CONSUMER_PROJECT. -
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Make sure that you have the following role or roles on the project: Compute Engine > Compute Network Admin, Compute Engine > Compute Instance Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Accéder à IAM - Sélectionnez le projet.
- Cliquez sur Accorder l'accès.
-
Dans le champ Nouveaux comptes principaux, saisissez votre identifiant utilisateur. Il s'agit généralement de l'adresse e-mail d'un compte Google.
- Cliquez sur Sélectionner un rôle, puis recherchez le rôle.
- Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez tous les rôles supplémentaires.
- Cliquez sur Enregistrer.
-
Configurer la mise en réseau
Les sections suivantes expliquent comment créer un réseau et un sous-réseau pour héberger le point de terminaison, et comment créer une règle de pare-feu pour autoriser l'accès SSH à la VM cliente utilisée pour tester le point de terminaison.
Créer un réseau et un sous-réseau
Pour créer le réseau et le sous-réseau du consommateur de services, procédez comme suit.
Console
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Cliquez sur Créer un réseau VPC.
Dans le champ Nom, saisissez
consumer-network.Dans le champ Mode de création de sous-réseau, sélectionnez Personnalisé.
Dans la section Nouveau sous-réseau, saisissez les informations suivantes.
- Dans le champ Nom, saisissez
consumer-subnet. - Pour Région, sélectionnez la même région que celle du service publié que vous avez créé.
- Pour Type de pile d'adresses IP, sélectionnez IPv4 (pile simple).
- Dans Plage IPv4, saisissez
192.168.10.0/24. - Cliquez sur OK.
- Dans le champ Nom, saisissez
Cliquez sur Créer.
gcloud
Créez un réseau VPC en mode personnalisé :
gcloud compute networks create consumer-network --subnet-mode=custom
Dans le réseau
consumer-network, créez un sous-réseau.gcloud compute networks subnets create consumer-subnet \ --network=consumer-network \ --range=192.168.10.0/24 \ --region=REGIONRemplacez
REGIONpar la région du service publié que vous avez créé.
Configurer des règles de pare-feu
Créez une règle de pare-feu appelée fw-allow-ssh pour autoriser le trafic SSH depuis 0.0.0.0/0 à atteindre les VM qui ont le tag réseau allow-ssh.
Console
Dans la console Google Cloud , accédez à la page Règles de pare-feu.
Pour autoriser les connexions SSH entrantes, cliquez sur Créer une règle de pare-feu et utilisez les paramètres suivants :
- Dans le champ Nom, saisissez
fw-allow-ssh. - Pour Réseau, sélectionnez
consumer-network. - Dans le champ Priorité, saisissez
1000. - Pour le Sens du trafic, sélectionnez Entrée.
- Pour l'option Action en cas de correspondance, sélectionnez Autoriser.
- Pour Cibles, sélectionnez Specified target tags (Tags cibles spécifiés).
- Pour Tags cibles, saisissez
allow-ssh. - Dans la section Filtre source, sélectionnez Plages IPv4.
- Dans le champ Plages IPv4 sources, saisissez
0.0.0.0/0. - Dans Protocoles et ports, sélectionnez Protocoles et ports spécifiés, puis cochez la case TCP. Pour Ports, saisissez
22.
- Dans le champ Nom, saisissez
Cliquez sur Créer.
gcloud
Créez la règle de pare-feu
fw-allow-sshpour autoriser la connectivité SSH aux VM avec le tag réseauallow-ssh.gcloud compute firewall-rules create fw-allow-ssh \ --network=consumer-network \ --action=allow \ --direction=ingress \ --source-ranges=0.0.0.0/0 \ --target-tags=allow-ssh \ --rules=tcp:22
Créer un point de terminaison
Créez un point de terminaison qui pointe vers le service publié que vous avez créé.
Console
Dans la console Google Cloud , accédez à la page Private Service Connect.
Cliquez sur l'onglet Points de terminaison connectés.
Cliquez sur Connecter le point de terminaison.
Pour Cible, sélectionnez Service publié
Dans le champ Service cible, saisissez
projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-service.Remplacez
PRODUCER_PROJECTpar l'ID du projet du service publié. RemplacezREGIONpar la région du service publié.Dans le champ Nom du point de terminaison, saisissez
ep-1.Pour Réseau, sélectionnez
consumer-network.Pour Sous-réseau, sélectionnez
consumer-subnet.Cliquez sur le menu déroulant Adresse IP, puis sélectionnez Créer une adresse IP.
- Dans le champ Nom, saisissez
ep-ip-1. - Sous Adresse IP statique, sélectionnez Let me choose.
- Sous Adresse IP personnalisée, saisissez
192.168.10.5. - Cliquez sur Réserver.
- Dans le champ Nom, saisissez
Cliquez sur Ajouter un point de terminaison.
gcloud
Réservez une adresse IP interne à attribuer au point de terminaison.
gcloud compute addresses create ep-ip-1 \ --region=REGION \ --subnet=consumer-subnet \ --addresses=192.168.10.5Remplacez
REGIONpar la région du service publié que vous avez créé.Créez une règle de transfert pour connecter le point de terminaison au rattachement de service du producteur de services.
gcloud compute forwarding-rules create ep-1 \ --region=REGION \ --network=consumer-network \ --address=ep-ip-1 \ --target-service-attachment=projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-serviceRemplacez les éléments suivants :
PRODUCER_PROJECT: ID du projet du producteur de services.REGION: région du rattachement de service.
Tester l'accès au point de terminaison
Pour vérifier que le point de terminaison et le service publié fonctionnent, créez une VM de test et envoyez une requête depuis celle-ci au point de terminaison.
Créer une VM cliente pour les tests
Créez une VM cliente dans la même région que le point de terminaison.
Console
Dans la console Google Cloud , accédez à la page Instances de VM.
Cliquez sur Créer une instance.
Dans le champ Nom, saisissez
consumer-test.Pour Région, sélectionnez la même région que celle des VM de backend.
Pour Zone, sélectionnez une zone dans cette région.
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 :
- Pour Réseau, sélectionnez
consumer-network. - Pour Sous-réseau, sélectionnez
consumer-subnet.
- Pour Réseau, sélectionnez
- Pour Tags réseau, saisissez
Cliquez sur Créer.
gcloud
gcloud compute instances create consumer-test \
--zone=ZONE \
--image-family=debian-12 \
--image-project=debian-cloud \
--tags=allow-ssh \
--subnet=consumer-subnet
Remplacez ZONE par une zone située dans la même région que les VM de backend.
Tester la connectivité
Ce test contacte le point de terminaison à partir d'une VM cliente. Le comportement attendu est une répartition du trafic entre les VM de backend de l'équilibreur de charge.
- Connectez-vous à l'instance de VM cliente.
Remplacezgcloud compute ssh consumer-test --zone=ZONE
ZONEpar la zone de la VM cliente. - Envoyez une requête Web au point de terminaison à l'aide de
curlpour contacter son adresse IP. Répétez la requête pour que les réponses proviennent de différentes VM de backend. Le nom de la VM qui génère la réponse est affiché dans le texte de la réponse HTML, en raison du contenu de/var/www/html/index.htmlsur chaque VM de backend. Par exemple, les réponses attendues ressemblent àPage served from: vm-1etPage served from: vm-2.curl -s http://192.168.10.5
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.
Supprimer les projets
Supprimez le projet producteur (PRODUCER_PROJECT) et le projet consommateur (CONSUMER_PROJECT).
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Étapes suivantes
- En savoir plus sur les services publiés Private Service Connect
- En savoir plus sur l'accès aux services publiés via des points de terminaison
- Découvrez des architectures de référence, des schémas et des bonnes pratiques concernant Google Cloud. Consultez notre Cloud Architecture Center.