arrow_back

API Gateway : Qwik Start

Accédez à plus de 700 ateliers et cours

API Gateway : Qwik Start

Atelier 1 heure universal_currency_alt 1 crédit show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Accédez à plus de 700 ateliers et cours

GSP872

Logo des ateliers d'auto-formation Google Cloud

Présentation

API Gateway vous permet de fournir un accès sécurisé à vos services via une API REST bien définie et constante entre tous vos services, quelle que soit leur implémentation. Une API constante :

  • permet aux développeurs d'applications de consommer facilement vos services ;
  • permet de modifier la mise en œuvre du service de backend sans affecter l'API publique ;
  • vous permet de tirer parti des fonctionnalités de scaling, de surveillance et de sécurité intégrées à Google Cloud.

Dans cet atelier, vous allez déployer une API sur API Gateway pour sécuriser le trafic vers un service de backend.

Préparation

Avant de cliquer sur le bouton "Démarrer l'atelier"

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.

Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.

Pour réaliser cet atelier :

  • Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :

    • Le bouton "Ouvrir la console Google Cloud"
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).

    L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.

    Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.

    Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
  3. Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.

    {{{user_0.username | "Username"}}}

    Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".

  4. Cliquez sur Suivant.

  5. Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.

    {{{user_0.password | "Password"}}}

    Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".

  6. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  7. Accédez aux pages suivantes :

    • Acceptez les conditions d'utilisation.
    • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
    • Ne vous inscrivez pas à des essais sans frais.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche. Icône du menu de navigation et champ de recherche

Activer Cloud Shell

Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.

  1. Cliquez sur Activer Cloud Shell Icône Activer Cloud Shell en haut de la console Google Cloud.

  2. Passez les fenêtres suivantes :

    • Accédez à la fenêtre d'informations de Cloud Shell.
    • Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.

Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.

  1. (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
  1. Cliquez sur Autoriser.

Résultat :

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.

Définir la région

Définissez la région du projet pour cet atelier :

gcloud config set compute/region {{{project_0.default_region | "REGION"}}}

Activer les API requises

  1. Dans le menu de navigation (Icône du menu de navigation) de la console Cloud, cliquez sur API et services > Bibliothèque.

  2. Commencez à saisir "api gateway" dans la barre de recherche, puis sélectionnez la vignette API de la passerelle API.

  3. Cliquez ensuite sur le bouton Activer sur l'écran suivant.

Tâche 1 : Déployer un backend d'API

API Gateway se situe devant un service de backend déployé et gère toutes les requêtes entrantes. Dans cet atelier, API Gateway achemine les appels entrants vers un backend Cloud Functions nommé helloGET, qui contient la fonction ci-dessous :

/** * HTTP Cloud Function. * This function is exported by index.js, and is executed when * you make an HTTP request to the deployed function's endpoint. * * @param {Object} req Cloud Function request context. * More info: https://expressjs.com/en/api.html#req * @param {Object} res Cloud Function response context. * More info: https://expressjs.com/en/api.html#res */ exports.helloGET = (req, res) => { res.send('Hello World!'); };
  1. Dans la console Cloud, clonez l'exemple de dépôt de fonction Cloud :
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
  1. Accédez au répertoire qui contient l'exemple de code de Cloud Functions :
cd nodejs-docs-samples/functions/helloworld/helloworldGet
  1. Pour déployer la fonction avec un déclencheur HTTP, exécutez la commande suivante dans le répertoire contenant votre fonction :
gcloud functions deploy helloGET --runtime nodejs20 --trigger-http --allow-unauthenticated --region {{{project_0.default_region | "REGION"}}}
  • Si vous y êtes invité, saisissez Y pour activer l'API.
Remarque : Si vous recevez une demande d'autorisation de la commande gcloud avec vos identifiants, cliquez sur Autoriser. Le déploiement de la fonction Cloud va prendre quelques minutes. Attendez la fin de l'opération avant de continuer. Avertissement : Si vous recevez une erreur du type IamPermissionDeniedException, réexécutez la commande ci-dessus.

Cliquez sur Vérifier ma progression pour valider l'objectif. Déployer un backend d'API

Tâche 2 : Tester le backend d'API

  1. Une fois le déploiement de la fonction terminé, notez la propriété url de httpsTrigger ou recherchez-la à l'aide de la commande suivante :
gcloud functions describe helloGET --region {{{project_0.default_region | "REGION"}}}

Le résultat doit ressembler à l'URL ci-dessous, où PROJECT_ID est une valeur spécifique à votre projet.

  1. Définissez votre ID de projet en tant que variable :
export PROJECT_ID={{{project_0.project_id}}}
  1. Accédez à l'URL pour appeler la fonction Cloud. Le message Hello World! doit s'afficher en réponse :
curl -v https://{{{project_0.default_region | "REGION"}}}-{{{project_0.project_id | "PROJECT_ID"}}}.cloudfunctions.net/helloGET

Cliquez sur Vérifier ma progression pour valider l'objectif. Tester le backend d'API

Créer la définition de l'API

API Gateway utilise une définition d'API pour acheminer les appels vers le service de backend. Vous pouvez utiliser une spécification OpenAPI contenant des annotations spécialisées pour définir le comportement souhaité d'API Gateway. La spécification OpenAPI de ce guide de démarrage rapide contient des instructions de routage vers le backend Cloud Functions.

  1. Dans Cloud Shell, revenez à votre répertoire d'accueil :
cd ~
  1. Créez un fichier nommé openapi2-functions.yaml :
touch openapi2-functions.yaml
  1. Copiez et collez le contenu de la spécification OpenAPI ci-dessous dans le fichier que vous venez de créer :
# openapi2-functions.yaml swagger: '2.0' info: title: API_ID description description: Sample API on API Gateway with a Google Cloud Functions backend version: 1.0.0 schemes: - https produces: - application/json paths: /hello: get: summary: Greet a user operationId: hello x-google-backend: address: https://{{{project_0.default_region | "REGION"}}}-{{{project_0.project_id | "PROJECT_ID"}}}.cloudfunctions.net/helloGET responses: '200': description: A successful response schema: type: string
  1. Définissez les variables d'environnement suivantes :
export API_ID="hello-world-$(cat /dev/urandom | tr -dc 'a-z' | fold -w ${1:-8} | head -n 1)"
  1. Exécutez les commandes suivantes pour remplacer les variables définies à la dernière étape dans le fichier de spécification OpenAPI :
sed -i "s/API_ID/${API_ID}/g" openapi2-functions.yaml sed -i "s/PROJECT_ID/$PROJECT_ID/g" openapi2-functions.yaml

Tâche 3 : Créer une passerelle

Vous êtes maintenant prêt à créer et à déployer une passerelle sur API Gateway.

  1. Dans la barre de recherche en haut, saisissez API Gateway et sélectionnez-le parmi les options qui s'affichent.

  2. Cliquez sur Créer une passerelle. Ensuite, dans la section API :

  • Vérifiez que l'entrée Sélectionner une API est définie sur Créer une API.
  • Dans le champ Nom à afficher, saisissez API Hello World.
  • Pour ID de l'API, exécutez la commande suivante pour obtenir à nouveau l'ID de l'API et saisissez-le dans le champ ID de l'API :
export API_ID="hello-world-$(cat /dev/urandom | tr -dc 'a-z' | fold -w ${1:-8} | head -n 1)" echo $API_ID
  1. Dans la section Configuration d'API :
  • Vérifiez que l'entrée Sélectionner une configuration est définie sur Créer une configuration d'API.
  • Pour importer le fichier openapi2-functions.yaml créé précédemment, procédez comme suit :
  1. Dans Cloud Shell, exécutez la commande suivante :
cloudshell download $HOME/openapi2-functions.yaml
  1. Cliquez sur Télécharger.
Remarque : Le fichier openapi2-functions.yaml est maintenant téléchargé sur votre machine locale.
  1. Cliquez sur Parcourir et sélectionnez le fichier dans le dossier de téléchargements du navigateur :
  • Saisissez Hello World Config dans le champ Nom à afficher.
  • Vérifiez que le champ Sélectionner un compte de service est défini sur Compte de service Compute Engine par défaut.
  1. Dans la section Détails de la passerelle :
  • Saisissez Hello Gateway dans le champ Nom à afficher.
  • Définissez le menu déroulant Emplacement sur .
  1. Cliquez sur Créer une passerelle.
Remarque : La création de la passerelle prend environ 10 minutes. Pour vérifier l'état du processus de création et de déploiement, vous pouvez cliquer sur l'icône de notification dans la barre de navigation principale pour afficher une notification d'état, comme illustré dans l'image ci-dessous. Veuillez vous assurer que l'icône d'état est accompagnée d'une coche verte avant de continuer.

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer une passerelle

Tester le déploiement de votre API

Vous pouvez maintenant envoyer des requêtes à votre API à l'aide de l'URL générée lors du déploiement de votre passerelle.

  1. Dans Cloud Shell, saisissez la commande suivante pour récupérer l'URL de passerelle (GATEWAY_URL) de l'API nouvellement créée et hébergée par API Gateway :
export GATEWAY_URL=$(gcloud api-gateway gateways describe hello-gateway --location {{{project_0.default_region | "REGION"}}} --format json | jq -r .defaultHostname)
  1. Exécutez la commande suivante pour vous assurer que la variable d'environnement GATEWAY_URL est définie :
echo $GATEWAY_URL

Si ce n'est pas le cas, attendez que le déploiement de la passerelle d'API soit terminé.

  1. Exécutez la commande curl suivante et vérifiez que la réponse renvoyée est Hello World! :
curl -s -w "\n" https://$GATEWAY_URL/hello

Tâche 4 : Sécuriser l'accès à l'aide d'une clé API

Pour sécuriser l'accès à votre backend d'API, vous pouvez générer une clé API associée à votre projet et lui accorder l'accès nécessaire pour appeler votre API. Pour créer une clé API :

  1. Dans Cloud Console, accédez à API et services > Identifiants.
  2. Sélectionnez Créer des identifiants, puis sélectionnez Clé API dans le menu déroulant. La boîte de dialogue Clé API créée affiche la nouvelle clé.

Menu déroulant avec l'option "Créer un identifiant"

Cliquez sur Vérifier ma progression pour valider l'objectif. Sécuriser l'accès à l'aide d'une clé API

  1. Copiez la clé API dans la boîte de dialogue, puis cliquez sur Fermer.

  2. Stockez la valeur de la clé API dans Cloud Shell en exécutant la commande suivante :

export API_KEY=REPLACE_WITH_COPIED_API_KEY

Maintenant, activez la prise en charge des clés API pour votre service.

  1. Dans Cloud Shell, obtenez le nom du service géré Managed Service que vous venez de créer à l'aide de la commande suivante :
MANAGED_SERVICE=$(gcloud api-gateway apis list --format json | jq -r .[0].managedService | cut -d'/' -f6) echo $MANAGED_SERVICE
  1. Ensuite, utilisez le nom Managed Service de l'API que vous venez de créer pour exécuter cette commande afin d'activer la prise en charge des clés API pour le service :
gcloud services enable $MANAGED_SERVICE

Modifier la spécification OpenAPI pour utiliser la sécurité par clé API

Dans cette section, vous allez modifier la configuration de l'API déployée pour appliquer une stratégie de sécurité par validation de clés API à tout le trafic.

  1. Ajoutez les sections security et securityDefinitions à un nouveau fichier nommé openapi2-functions2.yaml, comme indiqué ci-dessous :
touch openapi2-functions2.yaml
  1. Copiez et collez le contenu de la spécification OpenAPI ci-dessous dans le fichier que vous venez de créer :
# openapi2-functions.yaml swagger: '2.0' info: title: API_ID description description: Sample API on API Gateway with a Google Cloud Functions backend version: 1.0.0 schemes: - https produces: - application/json paths: /hello: get: summary: Greet a user operationId: hello x-google-backend: address: https://{{{project_0.default_region | "REGION"}}}-{{{project_0.project_id | "PROJECT_ID"}}}.cloudfunctions.net/helloGET security: - api_key: [] responses: '200': description: A successful response schema: type: string securityDefinitions: api_key: type: "apiKey" name: "key" in: "query"
  1. Exécutez les commandes suivantes pour remplacer les variables définies à la dernière étape dans le fichier de spécification OpenAPI :
sed -i "s/API_ID/${API_ID}/g" openapi2-functions2.yaml sed -i "s/PROJECT_ID/$PROJECT_ID/g" openapi2-functions2.yaml
  1. Téléchargez le fichier de spécification d'API mis à jour. Vous l'utiliserez pour mettre à jour la configuration de la passerelle à l'étape suivante :
cloudshell download $HOME/openapi2-functions2.yaml
  1. Cliquez sur Télécharger.

Tâche 5 : Créer et déployer une configuration d'API sur votre passerelle existante

  1. Ouvrez la page API Gateway dans Cloud Console. (Cliquez sur Menu de navigation > API Gateway.)
  2. Sélectionnez votre API dans la liste pour afficher ses détails.
  3. Sélectionnez l'onglet Passerelles.
  4. Sélectionnez Hello Gateway dans la liste des passerelles disponibles.
  5. Cliquez sur Modifier en haut de la page "Passerelle".
  6. Sous Configuration d'API, sélectionnez Créer une configuration d'API dans le menu déroulant.
  7. Cliquez sur Parcourir dans la zone de saisie Importer une spécification d'API et sélectionnez le fichier openapi2-functions2.yaml.
  8. Pour Nom à afficher, saisissez Hello Config.
  9. Pour Sélectionner un compte de service, sélectionnez Compte de service d'utilisateur Qwiklabs.
  10. Cliquez sur Mettre à jour.
Remarque : La mise à jour de la passerelle peut prendre quelques minutes. Pour vérifier l'état du processus de création et de déploiement, vous pouvez cliquer sur l'icône de notification dans la barre de navigation principale pour afficher une notification d'état, comme illustré dans l'image ci-dessous. Veuillez vous assurer que l'icône d'état est accompagnée d'une coche verte avant de continuer.

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer et déployer une configuration d'API sur votre passerelle existante

Tâche 6 : Tester les appels à l'aide de votre clé API

  1. Pour tester l'API à l'aide de votre clé API, exécutez la commande suivante :
export GATEWAY_URL=$(gcloud api-gateway gateways describe hello-gateway --location {{{project_0.default_region | "REGION"}}} --format json | jq -r .defaultHostname) curl -sL $GATEWAY_URL/hello

Vous devriez obtenir une réponse semblable à l'erreur suivante, car aucune clé API n'a été fournie avec l'appel curl : UNAUTHENTICATED:Method doesn't allow unregistered callers (callers without established identity). Please use API Key or other form of API consumer identity to call this API.

  1. Exécutez la commande curl suivante avec le paramètre de requête key et utilisez la clé API créée précédemment pour appeler l'API :
curl -sL -w "\n" $GATEWAY_URL/hello?key=$API_KEY

Si vous n'avez pas défini la variable d'environnement API_KEY, vous pouvez obtenir votre clé API dans le menu de gauche en accédant à API et services > Identifiants. La clé sera disponible dans la section Clés API.

La réponse renvoyée par l'API doit maintenant être Hello World!.

Remarque : Vous devrez peut-être exécuter cette commande plusieurs fois pour obtenir le résultat souhaité.

Cliquez sur Vérifier ma progression pour valider l'objectif. Tester les appels à l'aide de votre clé API

Félicitations !

Vous avez réussi à protéger votre backend d'API avec API Gateway. Vous pouvez maintenant commencer à intégrer de nouveaux clients API en générant d'autres clés API.

Formations et certifications Google Cloud

Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.

Dernière mise à jour du manuel : 9 octobre 2024

Dernier test de l'atelier : 9 octobre 2024

Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

Un atelier à la fois

Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci

Utilisez la navigation privée pour effectuer l'atelier

Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.