Déployer une API sur une passerelle

Cette page explique comment déployer une API sur API Gateway.

Prérequis

Pour pouvoir déployer une API sur API Gateway, procédez comme suit :

Exigences concernant l'ID de passerelle

La plupart des commandes gcloud CLI décrites dans ce document nécessitent de spécifier l'ID de la passerelle, au format suivant : GATEWAY_ID. API Gateway applique les exigences suivantes pour l'ID de passerelle :

  • La longueur maximale doit être de 49 caractères.
  • Ne doit contenir que des lettres minuscules, des chiffres ou des tirets.
  • Il ne doit pas commencer par un tiret.
  • Il ne doit pas contenir de trait de soulignement.

Définir le point de terminaison de la configuration d'API déployée

Lorsque vous déployez une configuration d'API sur une passerelle, API Gateway crée une URL unique pour la passerelle dans le domaine gateway.dev. Vos clients d'API utilisent ensuite une URL au format suivant pour accéder à la configuration d'API déployée :

https://GATEWAY_ID-HASH.REGION_CODE.gateway.dev

GATEWAY_ID est le nom de la passerelle, HASH est le code de hachage unique généré lors du déploiement de l'API, et REGION_CODE est le code de l'emplacement Cloud dans lequel vous avez déployé la passerelle.

Exemple :

https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev

Déployer une API sur une passerelle

Pour déployer une API sur une passerelle, procédez comme suit :

Google Cloud Console

  1. Dans la Google Cloud console, accédez à la page API Gateway.

    Accéder à API Gateway

  2. Cliquez sur Créer une passerelle.

    La page Créer une passerelle s'affiche.

  3. Dans le champ Sélectionner une API, sélectionnez Créer une API.
  4. Dans le champ Nom à afficher, saisissez le nom à afficher de l'API.
  5. Dans le champ ID d'API, saisissez l'ID de l'API. Pour obtenir des consignes sur la dénomination des API, consultez la section Exigences concernant l'ID d'API.
  6. (Facultatif) Ajoutez des libellés à votre API.
  7. Dans la section Configuration d'API, sélectionnez Créer une configuration d'API dans le champ Sélectionner une configuration.
  8. Dans le champ Importer une spécification d'API, importez un fichier .yaml ou .json. Pour en savoir plus sur les formats de fichiers OpenAPI 2.0 et OpenAPI 3.x pour la définition d'API, consultez la section Formats de fichiers OpenAPI 2.0 et OpenAPI 3.x.
  9. Dans le champ Nom à afficher, saisissez le nom à afficher de la configuration d'API.
  10. Dans la liste Sélectionner un compte de service, sélectionnez le compte de service requis. Ce compte de service sera utilisé par API Gateway comme identité.
  11. (Facultatif) Ajoutez des libellés à votre configuration d'API.
  12. Dans la section Détails de la passerelle, saisissez un nom à afficher pour votre passerelle.
  13. Dans le champ Emplacement, sélectionnez la Google Cloud région dans laquelle vous souhaitez déployer votre passerelle.
  14. (Facultatif) Ajoutez des libellés à votre API Gateway.
  15. Cliquez sur Créer une passerelle.
  16. La nouvelle API est visible sur la page d'accueil d'API Gateway.

Google Cloud CLI

  1. Validez l'ID du projet renvoyé par la commande suivante, afin de vous assurer que la passerelle n'est pas créée dans le mauvais projet.

    gcloud config list project

    Si vous devez changer le projet par défaut, exécutez la commande suivante et remplacez PROJECT_ID par l' Google Cloud ID du projet dans lequel vous souhaitez créer le service :

    gcloud config set project PROJECT_ID
  2. Affichez l'aide de la commande gateway create :

    gcloud api-gateway gateways create --help
  3. Exécutez la commande suivante pour déployer la configuration de l'API sur la passerelle :

    gcloud api-gateway gateways create GATEWAY_ID \
     --api=API_ID --api-config=CONFIG_ID \
     --location=GCP_REGION 

    où :

    • GATEWAY_ID spécifie l'ID de la nouvelle passerelle. Si la passerelle n'existe pas encore, cette commande la crée.
    • API_ID spécifie l'ID de l'API API Gateway associée à cette passerelle.
    • CONFIG_ID spécifie l'ID de la configuration d'API déployée sur la passerelle. Vous devez spécifier une configuration d'API lors de la création d'une passerelle.
    • GCP_REGION spécifie l'emplacement Cloud de la passerelle déployée.

    Lors de la création de la passerelle, la gcloud CLI envoie des informations au terminal.

  4. Si l'opération réussit, vous pouvez utiliser la commande suivante pour afficher les détails de la passerelle :

    gcloud api-gateway gateways describe GATEWAY_ID \
     --location=GCP_REGION 

    Cette commande renvoie les éléments suivants :

    apiConfig: projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID
    createTime: '2020-02-05T13:44:12.997862831Z'
    defaultHostname: my-gateway-a12bcd345e67f89g0h.uc.gateway.dev
    displayName: GATEWAY_ID
    name: projects/PROJECT_ID/locations/GCP_REGION/gateways/GATEWAY_ID
    serviceAccount:
     email: gateway-111111@222222-tp.iam.gserviceaccount.com
    state: ACTIVE
    updateTime: '2020-02-05T13:45:00.844705087Z'

    Notez la valeur de la propriété defaultHostname. Il s'agit de la partie nom d'hôte de l'URL de la passerelle. Pour accéder à une configuration d'API déployée sur cette passerelle, utilisez une URL au format suivant :

    https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev

La gcloud CLI accepte de nombreuses options, y compris celles décrites dans la documentation de référence de gcloud. De plus, pour API Gateway, vous pouvez définir les options suivantes lors de la création d'une passerelle :

  • --async : rend le contrôle immédiatement au terminal, sans attendre la fin de l'opération.
  • --display-name=NAME : spécifie le nom à afficher de la passerelle, c'est-à-dire le nom affiché dans l'interface utilisateur. N'utilisez pas d'espaces dans le nom. Utilisez plutôt des tirets et des traits de soulignement. La valeur par défaut est GATEWAY_ID.
  • --labels=KEY1=VALUE1,KEY2=VALUE2,... : spécifie les libellés associés à la passerelle.

Répertorier les passerelles

Cette section explique comment afficher la liste de toutes les passerelles déployées dans votre Google Cloud projet.

Google Cloud Console

Dans la Google Cloud console, accédez à la page API Gateway > Passerelles.

Accéder à la page "Passerelles"

Google Cloud CLI

Pour répertorier les passerelles d'un projet spécifique, procédez comme suit :

gcloud api-gateway gateways list 

Cette commande renvoie un résultat au format suivant :

GATEWAY_ID        LOCATION       DISPLAY_NAME     STATE     CREATE_TIME          UPDATE_TIME
my-gateway        us-central1    my-gateway       ACTIVE    2021-01-07T00:04:19  2022-05-21T00:33:46

Pour répertorier les passerelles d'un projet et d'une région spécifiques, procédez comme suit :

gcloud api-gateway gateways list --location=GCP_REGION 

Utilisez une expression filter pour répertorier les passerelles associées à une API spécifique :

gcloud api-gateway gateways list \
--filter="apiConfig:projects/PROJECT_ID/locations/global/apis/API_ID/*" \

Vous pouvez également utiliser cette filter pour répertorier les passerelles pour une configuration d'API spécifique :

gcloud api-gateway gateways list \
--filter="apiConfig:projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID" \
--project=PROJECT_ID

Utilisez les ID de région et de passerelle pour obtenir des informations détaillées sur la passerelle, y compris l'identité de la configuration d'API déployée sur la passerelle :

gcloud api-gateway gateways describe GATEWAY_ID \
--location=GCP_REGION 

Mettre à jour une passerelle

Mettez à jour une passerelle pour :

  • déployer une autre configuration d'API sur la passerelle ;
  • modifier le nom à afficher ;
  • mettre à jour les libellés.

Google Cloud Console

Pour mettre à jour les détails d'API Gateway, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la page API Gateway.

    Accéder à API Gateway

  2. Cliquez sur l'API requise.
  3. Cliquez sur l'onglet Passerelles.
  4. Cliquez sur la passerelle requise.
  5. Cliquez sur Modifier edit.
  6. Modifiez le Nom à afficher ou les Libellés.
  7. Sélectionnez la Configuration d'API requise ou cliquez sur Créer une configuration d'API et créez la configuration comme décrit dans la section Créer une configuration d'API.
  8. Cliquez sur Mettre à jour.
  9. Cliquez sur pour revenir à la page de la liste des passerelles.
  10. Sur la page de la liste des passerelles, vous pouvez afficher la passerelle mise à jour.

Google Cloud CLI

Utilisez la commande gcloud CLI suivante pour mettre à jour une passerelle existante, où UPDATE_OPTIONS est remplacé par l'indicateur d'option de passerelle et la valeur que vous souhaitez mettre à jour :

gcloud api-gateway gateways update GATEWAY_ID \
UPDATE_OPTIONS --api=API_ID --location=GCP_REGION   

Par exemple, pour mettre à jour la configuration d'API déployée sur la passerelle :

gcloud api-gateway gateways update GATEWAY_ID \
--api-config=NEW_CONFIG_ID --api=API_ID --location=GCP_REGION 

NEW_CONFIG_ID spécifie la nouvelle configuration d'API à déployer sur la passerelle.

Pour obtenir la liste complète des arguments et des indicateurs de mise à jour disponibles, consultez la documentation de référence de gcloud api-gateway gateways update ou utilisez la commande suivante pour afficher toutes les options de mise à jour :

gcloud api-gateway gateways update --help

Supprimer une passerelle

Cette section explique comment supprimer une API Gateway existante. Suivez ces étapes pour supprimer définitivement une passerelle et sa configuration associée de votre Google Cloud projet.

Google Cloud Console

  1. Dans la Google Cloud console, accédez à la page API Gateway > Passerelles.

    Accéder à la page "Passerelles"

  2. Cliquez sur Plus puis sur Supprimer pour supprimer l'API Gateway choisie.

Google Cloud CLI

Utilisez la commande gcloud CLI suivante pour supprimer une passerelle existante :

gcloud api-gateway gateways delete GATEWAY_ID \
--location=GCP_REGION 

Étape suivante