Configurer un DNS sur le domaine cloud.goog

Une fois votre API déployée, ses utilisateurs doivent pouvoir y accéder via un nom de domaine plutôt qu'une adresse IP. Vous pouvez utiliser l'une de ces deux méthodes :

  • Configurer .endpoints.PROJECT_ID.cloud.goog comme nom de domaine (où PROJECT_ID correspond à votre ID de projet Google Cloud).
  • Ou enregistrez votre propre nom de domaine (par exemple, example.com), ce qui implique de :
    • configurer les serveurs de noms DNS (ou utiliser Google Cloud DNS) ;
    • mettre à jour des adresses de registre ;
    • créer et maintenir des enregistrements DNS.

    Si vous disposez déjà d'une infrastructure DNS ou si vous souhaitez enregistrer votre propre nom de domaine, consultez la page Publier une API à partir de votre nom de domaine pour plus d'informations.

Cette page explique comment configurer des API Cloud Endpoints pour utiliser .endpoints.PROJECT_ID.cloud.goog en tant que nom de domaine. Les étapes de configuration décrites sur cette page s'appliquent aux API qui utilisent gRPC sur Compute Engine, Google Kubernetes Engine ou Kubernetes.

Le domaine .cloud.goog est géré par Google et partagé par les clients Google Cloud. Étant donné que les projets Google Cloud ont un ID de projet unique, un nom de domaine au format .endpoints.PROJECT_ID.cloud.goog est unique et peut être utilisé comme nom de domaine pour votre API. Il n'est pas nécessaire de configurer le nom de domaine .endpoints.PROJECT_ID.cloud.goog. Si vous préférez, vous pouvez enregistrer votre propre nom de domaine.

Prérequis

Dans cette page, nous partons du principe que vous avez déjà créé votre API Cloud Endpoints et que vous l'avez déployée sur Compute Engine, Google Kubernetes Engine ou Kubernetes. Si vous avez besoin d'une API pour les tests, vous pouvez utiliser l'un des tutoriels pour vous guider dans la configuration et le déploiement d'un exemple d'API.

Configurer un DNS

La procédure suivante explique comment configurer un DNS pour les API Cloud Endpoints qui utilisent .endpoints.PROJECT_ID.cloud.goog comme nom du service Cloud Endpoints. Pour des raisons pratiques, cette procédure désigne le fichier de configuration de votre service gRPC par le nom service.yaml.

Pour configurer un DNS :

  1. Ouvrez service.yaml et ajoutez le champ endpoints au fichier, comme indiqué dans l'extrait de code suivant:
    type: google.api.Service
    name: API_NAME.endpoints.PROJECT_ID.cloud.goog
    endpoints:
    - name: API_NAME.endpoints.PROJECT_ID.cloud.goog
      target: "IP_ADDRESS"
      

    En règle générale, les champs name et endpoints.name sont identiques.

  2. Remplacez API_NAME par le nom de votre API (par exemple, bookstore ou my-cool-api).
  3. Remplacez IP_ADDRESS par une adresse IPv4. L'adresse IP est une chaîne et doit être placée entre guillemets.

    Par exemple, si vous déployez votre service d'API Endpoints sur une instance de machine virtuelle Compute Engine, vous pouvez utiliser l'adresse IP externe de cette machine virtuelle. Si vous exécutez votre code sur un groupe d'instances de machine virtuelle (ou de pods GKE) derrière un équilibreur de charge, vous pouvez également utiliser l'adresse IP de ce dernier.

  4. Déployez votre fichier de configuration gRPC mis à jour sur Service Management à l'aide de la commande suivante :
    gcloud endpoints services deploy service.yaml service.pb
    

Nous supposerons dans cet exemple que les éléments suivants sont spécifiés dans le fichier service.yaml :

type: google.api.Service
name: my-cool-api.endpoints.my-project-id.cloud.goog
endpoints:
- name: my-cool-api.endpoints.my-project-id.cloud.goog
  target: "192.0.2.1"

Lorsque vous déployez le fichier service.yaml à l'aide de la commande gcloud ci-dessus, Service Management crée un enregistrement A DNS, my-cool-api.endpoints.my-project-id.cloud.goog, dont la résolution donne l'adresse IP cible 192.0.2.1. Vous devrez peut-être attendre quelques minutes pour que la nouvelle configuration DNS se propage.

Étapes suivantes