Cette page explique comment configurer un espace de noms de l'Annuaire des services, enregistrer un service dans l'espace de noms et ajouter des points de terminaison à un service. Vous pouvez créer un espace de noms lorsque vous enregistrez un service ou avant d'enregistrer un service.
Avant d'exécuter les commandes listées sur cette page, familiarisez-vous avec les concepts de la présentation de Service Directory et les termes clés associés à l'Annuaire des services.
Configurer votre projet
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Service Directory API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init
-
In the Google Cloud console, on 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Service Directory API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init
Dans la console Google Cloud , accédez à la page Espaces de noms Service Directory.
- Cliquez sur Créer un espace de noms.
- Dans la liste Région, sélectionnez une région pour votre espace de noms.
- Dans le champ Nom de l'espace de noms, donnez un nom à l'espace de noms.
- Cliquez sur Créer.
Créer un espace de noms
gcloud service-directory namespaces create NAMESPACE \ --location REGION
Remplacez les éléments suivants :
NAMESPACE
: nom de l'espace de noms que vous créez.REGION
: région Google Cloud contenant l'espace de noms.
Facultatif : Définissez une stratégie IAM sur votre espace de noms. Cela accorde à l'utilisateur ou au groupe spécifié le rôle indiqué pour cet espace de noms et tous les services qui lui appartiennent.
gcloud service-directory namespaces add-iam-policy-binding NAMESPACE \ --member user:someone@example.com \ --role ROLE \ --location REGION
Remplacez les éléments suivants :
NAMESPACE
: nom de l'espace de noms que vous avez créé.ROLE
: rôle que vous attribuez.REGION
: région Google Cloud contenant l'espace de noms.
- Les noms de service doivent être uniques dans un espace de noms.
- Les noms de services doivent respecter la convention de dénomination des libellés DNS.
Dans la console Google Cloud , accédez à la page Service Directory.
- Cliquez sur Register Service (Enregistrer le service).
- Cliquez sur Standard, puis sur Suivant.
- Choisissez une région dans laquelle enregistrer votre service.
- Choisissez un espace de noms dans lequel enregistrer votre service.
Si vous n'avez pas d'espace de noms, suivez ces étapes pour en créer un :
- Dans la zone Espace de noms, cliquez sur Créer un espace de noms.
- Saisissez le nom d'un espace de noms.
- Cliquez sur Créer.
- Saisissez un nom de service.
- Facultatif : Si vous souhaitez ajouter des annotations au service, procédez comme suit :
- Cliquez sur Ajouter une annotation.
- Ajoutez une clé et une valeur.
- Pour ajouter d'autres annotations, cliquez à nouveau sur Ajouter une annotation.
- Cliquez sur Créer.
Créez un service dans un espace de noms.
gcloud service-directory services create SERVICE \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --namespace NAMESPACE \ --location REGION
Remplacez les éléments suivants :
SERVICE
: nom du service que vous créez.NAMESPACE
: nom de l'espace de noms contenant votre service.REGION
: région Google Cloud contenant l'espace de noms.KEY_1
,VALUE_1
,KEY_2
,VALUE_2
: ensemble de chaînes de clé et de valeur définies par paires.
Facultatif : Définissez une stratégie IAM sur votre service. Cela attribue à l'utilisateur ou au groupe spécifié le rôle spécifié pour ce service et tous les points de terminaison qui lui appartiennent.
gcloud service-directory services add-iam-policy-binding SERVICE \ --member user:someone@example.com \ --role ROLE \ --namespace NAMESPACE \ --location REGION
Remplacez les éléments suivants :
SERVICE
: nom que vous avez attribué à votre service.NAMESPACE
: nom de l'espace de noms contenant votre serviceROLE
: rôle que vous attribuez.REGION
: région Google Cloud contenant l'espace de noms.
Dans la console Google Cloud , accédez à la page Service Directory.
- Cliquez sur un service.
- Cliquez sur Ajouter un point de terminaison.
- Indiquez un nom de point de terminaison.
- Saisissez une adresse IP IPv4 ou IPv6.
- Saisissez un numéro de port.
- Facultatif : Si vous souhaitez ajouter des annotations au point de terminaison, procédez comme suit :
- Sous Annotations, cliquez sur Ajouter une annotation.
- Ajoutez une clé et une valeur.
- Pour ajouter d'autres annotations, cliquez à nouveau sur Ajouter une annotation.
- Cliquez sur Créer.
ENDPOINT
etENDPOINT2
: noms des points de terminaison que vous créez dans votre service.IP_ADDRESS
etIP_ADDRESS2
: adresses IPv6 et IPv4 des points de terminaison, respectivement.PORT_NUMBER
etPORT_NUMBER2
: ports sur lesquels les points de terminaison sont exécutés.SERVICE
: nom du service contenant votre point de terminaison.NAMESPACE
: nom de l'espace de noms contenant votre service.REGION
: région Google Cloud contenant l'espace de noms.KEY_1
,VALUE_1
,KEY_2
,VALUE_2
: ensemble de chaînes de clé et de valeur définies par paires.SERVICE
: nom du service que vous résolvez.NAMESPACE
: nom de l'espace de noms contenant votre service.REGION
: région Google Cloud contenant l'espace de noms.Dans la console Google Cloud , accédez à la page Service Directory.
- Cliquez sur le service à partir duquel vous souhaitez supprimer le point de terminaison.
- Cochez la case à côté du point de terminaison que vous souhaitez supprimer.
- Cliquez sur Supprimer.
- Dans la boîte de dialogue de confirmation, cliquez à nouveau sur Supprimer.
ENDPOINT
: nom du point de terminaison que vous supprimez.SERVICE
: nom du service contenant votre point de terminaison.NAMESPACE
: nom de l'espace de noms contenant votre service.REGION
: région Google Cloud contenant l'espace de noms.Dans la console Google Cloud , accédez à la page Service Directory.
- Cochez la case en regard du service à supprimer.
- Cliquez sur Supprimer.
- Dans la boîte de dialogue de confirmation, cliquez à nouveau sur Supprimer.
SERVICE
: nom du service que vous supprimez.NAMESPACE
: nom de l'espace de noms contenant votre service.REGION
: région Google Cloud contenant l'espace de noms.Dans la console Google Cloud , accédez à la page Espaces de noms Service Directory.
- Cochez la case située à côté de l'espace de noms que vous souhaitez supprimer.
- Cliquez sur Supprimer.
- Dans la boîte de dialogue de confirmation, cliquez à nouveau sur Supprimer.
NAMESPACE
: nom de l'espace de noms que vous supprimez.REGION
: région Google Cloud contenant l'espace de noms.- Pour configurer une zone de l'Annuaire des services afin de pouvoir interroger votre service à l'aide du DNS, consultez Configurer une zone de l'Annuaire des services.
- Pour obtenir une présentation de l'annuaire des services, consultez la présentation de l'annuaire des services.
- Pour trouver des solutions aux problèmes courants que vous pouvez rencontrer lors de l'utilisation de l'Annuaire des services, consultez la page Dépannage.
Configurer les ressources de l'annuaire des services
Pour remplir l'Annuaire des services avec des services, créez un espace de noms et enregistrez votre service dans cet espace.
Configurer un espace de noms
Pour votre projet, créez un espace de noms dans votre région. Cette région ne doit pas nécessairement être celle où tous vos services et points de terminaison sont exécutés, mais elle doit être proche, si possible.
Vous pouvez enregistrer vos services dans n'importe quelle région de l'Annuaire des services. Ils restent résolvables à l'échelle mondiale. Dans une région, les projets peuvent comporter plusieurs espaces de noms, et ces espaces de noms peuvent se trouver dans différentes régions. Un même espace de noms ne peut pas s'étendre sur plusieurs régions.
Console
gcloud
Pour utiliser l'annuaire des services sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de Google Cloud CLI.
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C# et installez l'Annuaire des services pour C#.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go et installez le SDK Service Directory pour Go.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Service Directory pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Annuaire des services pour Node.js.
PHP
Pour exécuter ce code, commencez par configurer un environnement de développement PHP et installez le SDK Service Directory pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python et installez le SDK Service Directory pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby et installez le SDK Service Directory pour Ruby.
Configurer un service
Créez un service dans l'espace de noms. Un service se compose d'un nom et d'annotations facultatives liées au service. Il existe certaines restrictions concernant le format des noms de services :
Pour créer une règle de transfert Private Service Connect et l'enregistrer en tant que service dans l'Annuaire des services, consultez Enregistrer un point de terminaison Private Service Connect dans l'Annuaire des services.
Pour enregistrer un service standard dans l'Annuaire des services, procédez comme suit :
Console
gcloud
Pour utiliser l'annuaire des services sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de Google Cloud CLI.
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C# et installez l'Annuaire des services pour C#.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go et installez le SDK Service Directory pour Go.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Service Directory pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Annuaire des services pour Node.js.
PHP
Pour exécuter ce code, commencez par configurer un environnement de développement PHP et installez le SDK Service Directory pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python et installez le SDK Service Directory pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby et installez le SDK Service Directory pour Ruby.
Configurer un point de terminaison
Après avoir enregistré le service, ajoutez des points de terminaison. Un point de terminaison se compose d'un nom unique, d'une adresse IP et d'un port facultatifs, ainsi que d'annotations clé/valeur. Si elle est spécifiée, l'adresse IP doit être une adresse IPv4 ou IPv6 valide.
Console
gcloud
Pour utiliser l'annuaire des services sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de Google Cloud CLI.
Une fois le service enregistré, ajoutez des points de terminaison.
gcloud service-directory endpoints create ENDPOINT \ --address IP_ADDRESS \ --port PORT_NUMBER \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --service SERVICE \ --namespace NAMESPACE \ --location REGION
gcloud service-directory endpoints create ENDPOINT2 \ --address IP_ADDRESS2 \ --port PORT_NUMBER2 \ --service SERVICE \ --namespace NAMESPACE \ --location REGION
Remplacez les éléments suivants :
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C# et installez l'Annuaire des services pour C#.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go et installez le SDK Service Directory pour Go.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Service Directory pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Annuaire des services pour Node.js.
PHP
Pour exécuter ce code, commencez par configurer un environnement de développement PHP et installez le SDK Service Directory pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python et installez le SDK Service Directory pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby et installez le SDK Service Directory pour Ruby.
Résoudre un service
L'annuaire des services permet aux clients de résoudre les services à l'aide de DNS, HTTP et gRPC. La résolution du service renvoie toutes les propriétés, tous les points de terminaison et toutes les annotations du service.
gcloud
Pour utiliser l'annuaire des services sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de Google Cloud CLI.
gcloud service-directory services resolve SERVICE \ --namespace NAMESPACE \ --location REGION
Remplacez les éléments suivants :
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C# et installez l'Annuaire des services pour C#.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go et installez le SDK Service Directory pour Go.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Service Directory pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Annuaire des services pour Node.js.
PHP
Pour exécuter ce code, commencez par configurer un environnement de développement PHP et installez le SDK Service Directory pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python et installez le SDK Service Directory pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby et installez le SDK Service Directory pour Ruby.
Delete resources
Si vous n'avez pas besoin d'une ressource, vous pouvez la supprimer de l'Annuaire des services.
Supprimer un point de terminaison d'un service
Console
gcloud
Pour utiliser l'annuaire des services sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de Google Cloud CLI.
gcloud service-directory endpoints delete ENDPOINT \ --service=SERVICE \ --namespace=NAMESPACE \ --location=REGION
Remplacez les éléments suivants :
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C# et installez l'Annuaire des services pour C#.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go et installez le SDK Service Directory pour Go.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Service Directory pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Annuaire des services pour Node.js.
PHP
Pour exécuter ce code, commencez par configurer un environnement de développement PHP et installez le SDK Service Directory pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python et installez le SDK Service Directory pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby et installez le SDK Service Directory pour Ruby.
Supprimer un service d'un espace de noms
Vous pouvez supprimer un service qui comporte des points de terminaison. Lorsqu'un service est supprimé, tous ses points de terminaison le sont également.
Vous pouvez supprimer un service vers lequel pointe une zone de l'Annuaire des services. Toute autre requête DNS pour ce service renvoie NXDOMAIN
.
Console
gcloud
Pour utiliser l'annuaire des services sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de Google Cloud CLI.
gcloud service-directory services delete SERVICE \ --namespace=NAMESPACE \ --location=REGION
Remplacez les éléments suivants :
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C# et installez l'Annuaire des services pour C#.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go et installez le SDK Service Directory pour Go.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Service Directory pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Annuaire des services pour Node.js.
PHP
Pour exécuter ce code, commencez par configurer un environnement de développement PHP et installez le SDK Service Directory pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python et installez le SDK Service Directory pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby et installez le SDK Service Directory pour Ruby.
Supprimer un espace de noms
Vous pouvez supprimer un espace de noms contenant des services et des points de terminaison. Lorsqu'un espace de noms est supprimé, tous ses services et points de terminaison le sont également.
Vous pouvez supprimer un espace de noms vers lequel pointe une zone de l'Annuaire des services. Toutes les autres requêtes DNS (à l'exception des requêtes SOA/NS pour l'origine de la zone) renvoient NXDOMAIN
.
Console
gcloud
Pour utiliser l'annuaire des services sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de Google Cloud CLI.
gcloud service-directory namespaces delete NAMESPACE \ --location=REGION
Remplacez les éléments suivants :
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C# et installez l'Annuaire des services pour C#.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go et installez le SDK Service Directory pour Go.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Service Directory pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Annuaire des services pour Node.js.
PHP
Pour exécuter ce code, commencez par configurer un environnement de développement PHP et installez le SDK Service Directory pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python et installez le SDK Service Directory pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby et installez le SDK Service Directory pour Ruby.