Planifier le démarrage ou l'arrêt d'une VM Compute Engine


Ce tutoriel explique comment utiliser Cloud Scheduler et Cloud Functions pour démarrer et arrêter automatiquement des instances Compute Engine selon un calendrier régulier, à l'aide d'étiquettes de ressources.

Objectifs

  • Apprendre à utiliser Cloud Functions pour écrire et déployer un ensemble de fonctions permettant de démarrer et d'arrêter des instances Compute Engine.
  • À l'aide de Cloud Scheduler, créez un ensemble de tâches qui programment les instances avec un libellé de ressource dev, de sorte qu'elles s'exécutent du lundi au vendredi de 9h00 à 17h00 en concordance avec les horaires de bureau habituels.

Coûts

Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :

  • Cloud Scheduler
  • Cloud Functions
  • Pub/Sub
  • Compute Engine

Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût. Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai gratuit.

Avant de commencer

  1. Configurez votre environnement pour Cloud Scheduler.

    Configurer votre environnement

  2. Activer les API Cloud Functions, Pub/Sub, and Compute Engine.

    Activer les API

Architecture de l'application

Cette solution comprend les composants Google Cloud suivants :

Diagramme de l'architecture système illustrant Cloud Scheduler programmant une instance Compute Engine via Pub/Sub

Exigences relatives aux lieux

Certains composants ne sont compatibles qu'avec certaines régions :

  • Instance Compute Engine: compatible avec toutes les régions listées dans Régions et zones.
  • Cloud Functions: fonctionnalité disponible dans les régions répertoriées dans la section Emplacements
  • Messages Pub/Sub: pris en charge dans le monde entier, car Pub/Sub est un service mondial.
  • Jobs Cloud Scheduler avec des cibles Pub/Sub : compatibilité avec n'importe quel emplacement Google Cloud

Pourquoi pas HTTP au lieu de Pub/Sub ?

Pour simplifier cette architecture, vous pourriez utiliser les déclencheurs HTTP de Cloud Functions au lieu des déclencheurs Pub/Sub.

Ce tutoriel utilise Pub/Sub comme déclencheur Cloud Functions, car cette méthode était auparavant plus sécurisée que HTTP. Cependant, HTTP est également un choix valide et peut désormais être sécurisé en exigeant une authentification.

Pour en savoir plus sur la sécurisation de Cloud Functions, consultez la présentation sur la sécurité de Cloud Functions. Pour une comparaison entre les déclencheurs HTTP et Pub/Sub, consultez la documentation sur les déclencheurs Cloud Functions.

Configurer l'instance Compute Engine

Console

  1. Accédez à la page Instances de VM de la console Google Cloud.
    Accéder à la page "Instances de VM"
  2. Cliquez sur Créer une instance.
  3. Définissez le paramètre Nom sur dev-instance.
  4. Sous Libellés, cliquez sur Ajouter des libellés.
  5. Cliquez sur Ajouter une étiquette.
  6. Saisissez env pour Key (Clé) et dev pour Value (Valeur).
  7. Pour le paramètre Région, sélectionnez us-west1.
  8. Pour le paramètre Zone, sélectionnez us-west1-b.
  9. Cliquez sur Enregistrer.
  10. Cliquez sur Créer en bas de la page.

gcloud

gcloud compute instances create dev-instance \
    --network default \
    --zone us-west1-b \
    --labels=env=dev

Déployer des fonctions déclenchées par Pub/Sub via Cloud Functions

Créer et déployer les fonctions

Console

Créez la fonction de démarrage.

  1. Accédez à la page de présentation de Cloud Functions dans la console Google Cloud.
    Accéder à la page Cloud Functions
  2. Cliquez sur Créer une fonction.
  3. Dans la section Environnement, sélectionnez 1re génération.
  4. Définissez le paramètre Nom de la fonction sur startInstancePubSub.
  5. Conservez la valeur par défaut du paramètre Région.
  6. Dans le champ Type de déclencheur, sélectionnez Cloud Pub/Sub.
  7. Dans le champ Select a Cloud Pub/Sub topic (Sélectionner un sujet Cloud Pub/Sub), cliquez sur Create a topic (Créer un sujet).
  8. Une boîte de dialogue Créer un sujet doit s'afficher.
    1. Sous ID du sujet, saisissez start-instance-event.
    2. Cliquez sur Créer pour fermer la boîte de dialogue.
  9. Cliquez sur Enregistrer au bas de la zone Déclencheur.
  10. Cliquez sur Suivant au bas de la page.
  11. Pour le champ Environnement d'exécution, sélectionnez Node.js 16 ou version ultérieure.
  12. Dans le champ Point d'entrée, saisissez startInstancePubSub.
  13. À gauche de l'éditeur de code, sélectionnez index.js.
  14. Remplacez le code de démarrage par le code suivant :

    const compute = require('@google-cloud/compute');
    const instancesClient = new compute.InstancesClient();
    const operationsClient = new compute.ZoneOperationsClient();
    
    async function waitForOperation(projectId, operation) {
      while (operation.status !== 'DONE') {
        [operation] = await operationsClient.wait({
          operation: operation.name,
          project: projectId,
          zone: operation.zone.split('/').pop(),
        });
      }
    }
    
    /**
     * Starts Compute Engine instances.
     *
     * Expects a PubSub message with JSON-formatted event data containing the
     * following attributes:
     *  zone - the GCP zone the instances are located in.
     *  label - the label of instances to start.
     *
     * @param {!object} event Cloud Function PubSub message event.
     * @param {!object} callback Cloud Function PubSub callback indicating
     *  completion.
     */
    exports.startInstancePubSub = async (event, context, callback) => {
      try {
        const project = await instancesClient.getProjectId();
        const payload = _validatePayload(event);
        const options = {
          filter: `labels.${payload.label}`,
          project,
          zone: payload.zone,
        };
    
        const [instances] = await instancesClient.list(options);
    
        await Promise.all(
          instances.map(async instance => {
            const [response] = await instancesClient.start({
              project,
              zone: payload.zone,
              instance: instance.name,
            });
    
            return waitForOperation(project, response.latestResponse);
          })
        );
    
        // Operation complete. Instance successfully started.
        const message = 'Successfully started instance(s)';
        console.log(message);
        callback(null, message);
      } catch (err) {
        console.log(err);
        callback(err);
      }
    };
    
    /**
     * Validates that a request payload contains the expected fields.
     *
     * @param {!object} payload the request payload to validate.
     * @return {!object} the payload object.
     */
    const _validatePayload = event => {
      let payload;
      try {
        payload = JSON.parse(Buffer.from(event.data, 'base64').toString());
      } catch (err) {
        throw new Error('Invalid Pub/Sub message: ' + err);
      }
      if (!payload.zone) {
        throw new Error("Attribute 'zone' missing from payload");
      } else if (!payload.label) {
        throw new Error("Attribute 'label' missing from payload");
      }
      return payload;
    };
  15. À gauche de l'éditeur de code, sélectionnez le fichier package.json.

  16. Remplacez le code de démarrage par le code suivant :

    {
      "name": "cloud-functions-schedule-instance",
      "version": "0.1.0",
      "private": true,
      "license": "Apache-2.0",
      "author": "Google Inc.",
      "repository": {
        "type": "git",
        "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git"
      },
      "engines": {
        "node": ">=16.0.0"
      },
      "scripts": {
        "test": "c8 mocha -p -j 2 test/*.test.js --timeout=20000"
      },
      "devDependencies": {
        "c8": "^8.0.0",
        "mocha": "^10.0.0",
        "proxyquire": "^2.0.0",
        "sinon": "^16.0.0"
      },
      "dependencies": {
        "@google-cloud/compute": "^4.0.0"
      }
    }
    
  17. Cliquez sur Déployer au bas de la page.

Créez la fonction d'arrêt.

  1. Vous devriez vous trouver sur la page Cloud Functions de la console Google Cloud.
  2. Cliquez sur Créer une fonction.
  3. Dans la section Environnement, sélectionnez 1re génération.
  4. Définissez le paramètre Nom de la fonction sur stopInstancePubSub.
  5. Conservez la valeur par défaut du paramètre Région.
  6. Dans le champ Type de déclencheur, sélectionnez Cloud Pub/Sub.
  7. Dans le champ Select a Cloud Pub/Sub topic (Sélectionner un sujet Cloud Pub/Sub), cliquez sur Create a topic (Créer un sujet).
  8. Une boîte de dialogue Créer un sujet doit s'afficher.
    1. Sous ID du sujet, saisissez stop-instance-event.
    2. Cliquez sur Créer pour fermer la boîte de dialogue.
  9. Cliquez sur Enregistrer au bas de la zone Déclencheur.
  10. Cliquez sur Suivant au bas de la page.
  11. Pour le champ Environnement d'exécution, sélectionnez Node.js 16 ou version ultérieure.
  12. Dans le champ Point d'entrée, saisissez stopInstancePubSub.
  13. À gauche de l'éditeur de code, sélectionnez index.js.
  14. Remplacez le code de démarrage par le code suivant :

    const compute = require('@google-cloud/compute');
    const instancesClient = new compute.InstancesClient();
    const operationsClient = new compute.ZoneOperationsClient();
    
    async function waitForOperation(projectId, operation) {
      while (operation.status !== 'DONE') {
        [operation] = await operationsClient.wait({
          operation: operation.name,
          project: projectId,
          zone: operation.zone.split('/').pop(),
        });
      }
    }
    
    /**
     * Stops Compute Engine instances.
     *
     * Expects a PubSub message with JSON-formatted event data containing the
     * following attributes:
     *  zone - the GCP zone the instances are located in.
     *  label - the label of instances to stop.
     *
     * @param {!object} event Cloud Function PubSub message event.
     * @param {!object} callback Cloud Function PubSub callback indicating completion.
     */
    exports.stopInstancePubSub = async (event, context, callback) => {
      try {
        const project = await instancesClient.getProjectId();
        const payload = _validatePayload(event);
        const options = {
          filter: `labels.${payload.label}`,
          project,
          zone: payload.zone,
        };
    
        const [instances] = await instancesClient.list(options);
    
        await Promise.all(
          instances.map(async instance => {
            const [response] = await instancesClient.stop({
              project,
              zone: payload.zone,
              instance: instance.name,
            });
    
            return waitForOperation(project, response.latestResponse);
          })
        );
    
        // Operation complete. Instance successfully stopped.
        const message = 'Successfully stopped instance(s)';
        console.log(message);
        callback(null, message);
      } catch (err) {
        console.log(err);
        callback(err);
      }
    };
    
    /**
     * Validates that a request payload contains the expected fields.
     *
     * @param {!object} payload the request payload to validate.
     * @return {!object} the payload object.
     */
    const _validatePayload = event => {
      let payload;
      try {
        payload = JSON.parse(Buffer.from(event.data, 'base64').toString());
      } catch (err) {
        throw new Error('Invalid Pub/Sub message: ' + err);
      }
      if (!payload.zone) {
        throw new Error("Attribute 'zone' missing from payload");
      } else if (!payload.label) {
        throw new Error("Attribute 'label' missing from payload");
      }
      return payload;
    };
  15. À gauche de l'éditeur de code, sélectionnez le fichier package.json.

  16. Remplacez le code de démarrage par le code suivant :

    {
      "name": "cloud-functions-schedule-instance",
      "version": "0.1.0",
      "private": true,
      "license": "Apache-2.0",
      "author": "Google Inc.",
      "repository": {
        "type": "git",
        "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git"
      },
      "engines": {
        "node": ">=16.0.0"
      },
      "scripts": {
        "test": "c8 mocha -p -j 2 test/*.test.js --timeout=20000"
      },
      "devDependencies": {
        "c8": "^8.0.0",
        "mocha": "^10.0.0",
        "proxyquire": "^2.0.0",
        "sinon": "^16.0.0"
      },
      "dependencies": {
        "@google-cloud/compute": "^4.0.0"
      }
    }
    
  17. Cliquez sur Déployer au bas de la page.

gcloud

Créez les sujets Pub/Sub.

gcloud pubsub topics create start-instance-event
gcloud pubsub topics create stop-instance-event

Obtenir le code

  1. Téléchargez le code.

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git

    Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.

  2. Accédez au répertoire approprié.

    cd nodejs-docs-samples/functions/scheduleinstance/
    

Créez les fonctions de démarrage et d'arrêt.

Vous devez vous trouver dans le répertoire nodejs-docs-samples/functions/scheduleinstance/.

gcloud functions deploy startInstancePubSub \
    --trigger-topic start-instance-event \
    --runtime nodejs18 \
    --allow-unauthenticated
gcloud functions deploy stopInstancePubSub \
    --trigger-topic stop-instance-event \
    --runtime nodejs18 \
    --allow-unauthenticated

Vérifier que les fonctions sont opérationnelles (facultatif)

Console

Arrêter l'instance

  1. Accédez à la page de présentation de Cloud Functions dans la console Google Cloud.
    Accéder à la page Cloud Functions
  2. Cliquez sur la fonction nommée stopInstancePubSub.
  3. Plusieurs onglets doivent s'afficher : Général, Déclencheur, Source, Autorisations et Test. Cliquez sur l'onglet Test.
  4. Pour le paramètre Événement déclencheur, saisissez les informations suivantes :

    {"data":"eyJ6b25lIjoidXMtd2VzdDEtYiIsICJsYWJlbCI6ImVudj1kZXYifQo="}
    

    • Il s'agit simplement de la chaîne encodée en base64 pour {"zone":"us-west1-b", "label":"env=dev"}.

    • Si vous souhaitez encoder votre propre chaîne, vous pouvez utiliser n'importe quel outil d'encodage base64 en ligne.

  5. Cliquez sur le bouton Tester la fonction.

  6. Une fois l'exécution terminée, Successfully stopped instance dev-instance devrait s'afficher sous Sortie. L'arrêt total de l'instance peut prendre jusqu'à 60 secondes.

    • Si au lieu de cela error: 'Error: function failed to load.' s'affiche, attendez 10 secondes environ pour que la fonction termine le déploiement, puis réessayez.

    • Si au lieu de cela error: 'Error: function execution attempt timed out.' s'affiche, passez simplement à l'étape suivante pour déterminer si l'instance prend simplement un certain temps à s'arrêter.

    • Si la fonction s'exécute correctement et que rien ne s'affiche, cela peut indiquer que le délai d'exécution a été dépassé. Passez à l'étape suivante pour vérifier si cela vient du fait que l'instance met beaucoup de temps à s'arrêter.

  7. Accédez à la page Instances de VM de la console Google Cloud.
    Accéder à la page "Instances de VM"

  8. Vérifiez qu'un carré gris est présent à côté du nom de l'instance nommée dev-instance. Ce carré indique que l'instance s'est arrêtée. L'arrêt total de l'instance peut prendre jusqu'à 30 secondes.

    • Si l'instance ne semble pas s'arrêter, essayez de cliquer sur Actualiser en haut de la page.

Démarrer l'instance

  1. Accédez à la page de présentation de Cloud Functions dans la console Google Cloud.
    Accéder à la page Cloud Functions
  2. Cliquez sur la fonction nommée startInstancePubSub.
  3. Plusieurs onglets doivent s'afficher : Général, Déclencheur, Source, Autorisations et Test. Cliquez sur l'onglet Test.
  4. Pour le paramètre Événement déclencheur, saisissez les informations suivantes :

    {"data":"eyJ6b25lIjoidXMtd2VzdDEtYiIsICJsYWJlbCI6ImVudj1kZXYifQo="}
    

    • Encore une fois, il s'agit simplement de la chaîne encodée en base64 pour {"zone":"us-west1-b", "label":"env=dev"}.
  5. Cliquez sur le bouton Tester la fonction.

  6. Une fois l'exécution terminée, Successfully started instance dev-instance devrait s'afficher sous Sortie.

  7. Accédez à la page Instances de VM de la console Google Cloud.
    Accéder à la page "Instances de VM"

  8. Vérifiez qu'une coche verte est présente à côté du nom de l'instance nommée dev-instance. Cette coche indique que l'instance s'est arrêtée. Le démarrage effectif de l'instance peut prendre jusqu'à 30 secondes.

gcloud

Pour arrêter l'instance, procédez comme suit :

  1. Appelez la fonction permettant d'arrêter l'instance.

    gcloud functions call stopInstancePubSub \
        --data '{"data":"eyJ6b25lIjoidXMtd2VzdDEtYiIsICJsYWJlbCI6ImVudj1kZXYifQo="}'
    
    • Il s'agit simplement de la chaîne encodée en base64 pour {"zone":"us-west1-b", "label":"env=dev"}.

    • Si vous voulez encoder votre propre chaîne, vous pouvez utiliser n'importe quel outil d'encodage base64. Voici un exemple d'utilisation avec l'outil de ligne de commande base64 :

      echo '{"zone":"us-west1-b", "label":"env=dev"}' | base64
      
      eyJ6b25lIjoidXMtd2VzdDEtYiIsICJsYWJlbCI6ImVudj1kZXYifQo=
      

    Lorsque la fonction a terminé, le résultat suivant doit s'afficher :

    result: Successfully stopped instance dev-instance
    

    L'arrêt total de l'instance peut prendre jusqu'à 60 secondes.

    • Si au lieu de ce résultat, l'erreur suivante s'affiche :

      error: 'Error: function failed to load.`
      

      Patientez environ 10 secondes pour que le déploiement de la fonction s'achève, puis réessayez.

    • Si au lieu de ce résultat, l'erreur suivante s'affiche :

      error: `Error: function execution attempt timed out.`
      

      Passez à l'étape suivante pour vérifier si cela vient du fait que l'instance met beaucoup de temps à s'arrêter.

    • Si vous n'obtenez aucun résultat, cela peut indiquer que le délai d'exécution de la fonction a été dépassé. Passez à l'étape suivante pour vérifier si cela vient du fait que l'instance met beaucoup de temps à s'arrêter.

  2. Vérifiez que l'instance est à l'état TERMINATED. L'arrêt total peut prendre jusqu'à 30 secondes.

    gcloud compute instances describe dev-instance \
        --zone us-west1-b \
        | grep status
    
    status: TERMINATED
    

Démarrer l'instance

  1. Appelez la fonction permettant de démarrer l'instance.

    gcloud functions call startInstancePubSub \
        --data '{"data":"eyJ6b25lIjoidXMtd2VzdDEtYiIsICJsYWJlbCI6ImVudj1kZXYifQo="}'
    
    • Encore une fois, il s'agit simplement de la chaîne encodée en base64 pour {"zone":"us-west1-b", "label":"env=dev"}.

    Lorsque la fonction a terminé, le résultat suivant doit s'afficher :

    result: Successfully started instance dev-instance
    
  2. Vérifiez que l'instance est à l'état RUNNING. Le démarrage effectif de l'instance peut prendre jusqu'à 30 secondes.

    gcloud compute instances describe dev-instance \
        --zone us-west1-b \
        | grep status
    
    status: RUNNING
    

Configurer les tâches Cloud Scheduler pour qu'elles appellent Pub/Sub

Créer les tâches

Console

Créez la tâche de démarrage.

  1. Accédez à la page Cloud Scheduler dans la console Google Cloud.
    Accéder à la page Cloud Scheduler
  2. Cliquez sur Create a job (Créer une tâche).
  3. Conservez la région par défaut.
  4. Définissez le paramètre Nom sur startup-dev-instances.
  5. Pour le paramètre Fréquence, saisissez 0 9 * * 1-5.
    • Cette opération est effectuée tous les jours à 9h du lundi au vendredi.
  6. Pour le paramètre Fuseau horaire, sélectionnez le pays et le fuseau horaire souhaités. Cet exemple utilisera United States et Los Angeles.
  7. Cliquez sur Continuer.
  8. Pour Type de cible, sélectionnez Pub/Sub.
  9. Sélectionnez start-instance-event dans le menu déroulant des thèmes.
  10. Dans le champ Message, saisissez ce qui suit:
    {"zone":"us-west1-b","label":"env=dev"}
    
  11. Cliquez sur Créer.

Créez la tâche d'arrêt.

  1. Vous devriez vous trouver sur la page Cloud Scheduler de la console Google Cloud.
  2. Cliquez sur Créer une tâche.
  3. Conservez la région par défaut, puis cliquez sur Suivant au bas de la page.
  4. Définissez le paramètre Nom sur shutdown-dev-instances.
  5. Pour le paramètre Fréquence, saisissez 0 17 * * 1-5.
    • Cette opération est effectuée tous les jours à 17h du lundi au vendredi.
  6. Pour le paramètre Fuseau horaire, sélectionnez le pays et le fuseau horaire souhaités. Cet exemple utilisera United States et Los Angeles.
  7. Cliquez sur Continuer.
  8. Pour Type de cible, sélectionnez Pub/Sub.
  9. Sélectionnez stop-instance-event dans le menu déroulant des thèmes.
  10. Dans le champ Message, saisissez ce qui suit:
    {"zone":"us-west1-b","label":"env=dev"}
    
  11. Cliquez sur Créer.

gcloud

Créez la tâche de démarrage.

gcloud scheduler jobs create pubsub startup-dev-instances \
    --schedule '0 9 * * 1-5' \
    --topic start-instance-event \
    --message-body '{"zone":"us-west1-b", "label":"env=dev"}' \
    --time-zone 'America/Los_Angeles' \
    --location us-central1

Créez la tâche d'arrêt.

gcloud scheduler jobs create pubsub shutdown-dev-instances \
    --schedule '0 17 * * 1-5' \
    --topic stop-instance-event \
    --message-body '{"zone":"us-west1-b", "label":"env=dev"}' \
    --time-zone 'America/Los_Angeles' \
    --location us-central1

Vérifier que les tâches sont opérationnelles (facultatif)

Console

Arrêter l'instance

  1. Accédez à la page Cloud Scheduler dans la console Google Cloud.
    Accéder à la page Cloud Scheduler
  2. Pour la tâche nommée shutdown-dev-instances, cliquez sur le bouton Exécuter maintenant situé à l'extrémité droite de la page.
  3. Accédez à la page Instances de VM de la console Google Cloud.
    Accéder à la page "Instances de VM"
  4. Vérifiez qu'un carré gris est présent à côté du nom de l'instance nommée dev-instance. Ce carré indique que l'instance s'est arrêtée. L'arrêt total de l'instance peut prendre jusqu'à 30 secondes.

Démarrer l'instance

  1. Accédez à la page Cloud Scheduler dans la console Google Cloud.
    Accéder à la page Cloud Scheduler
  2. Pour la tâche nommée startup-dev-instances, cliquez sur le bouton Exécuter maintenant situé à l'extrémité droite de la page.
  3. Accédez à la page Instances de VM de la console Google Cloud.
    Accéder à la page "Instances de VM"
  4. Vérifiez qu'une coche verte est présente à côté du nom de l'instance nommée dev-instance. Cette coche indique que l'instance s'est arrêtée. Le démarrage effectif de l'instance peut prendre jusqu'à 30 secondes.

gcloud

Pour arrêter l'instance, procédez comme suit :

  1. Exécutez la tâche Scheduler permettant d'arrêter l'instance.

    gcloud beta scheduler jobs run shutdown-dev-instances
    
  2. Vérifiez que l'instance est à l'état TERMINATED. L'arrêt total de l'instance peut prendre jusqu'à 30 secondes.

    gcloud compute instances describe dev-instance \
        --zone us-west1-b \
        | grep status
    
    status: TERMINATED
    

Démarrer l'instance

  1. Exécutez la tâche Scheduler permettant de démarrer l'instance.

    gcloud beta scheduler jobs run startup-dev-instances
    
  2. Vérifiez que l'instance est à l'état RUNNING. Le démarrage effectif de l'instance peut prendre jusqu'à 30 secondes.

    gcloud compute instances describe dev-instance \
        --zone us-west1-b \
        | grep status
    
    status: RUNNING
    

Effectuer un nettoyage

Une fois le tutoriel terminé, vous pouvez procéder au nettoyage des ressources que vous avez créées afin qu'elles ne soient plus comptabilisées dans votre quota et qu'elles ne vous soient plus facturées. Dans les sections suivantes, nous allons voir comment supprimer ou désactiver ces ressources.

Supprimer les tâches Cloud Scheduler

  1. Accédez à la page Cloud Scheduler dans la console Google Cloud.

    Accéder à la page Cloud Scheduler

  2. Cochez les cases situées en regard de vos tâches.

  3. Cliquez sur le bouton Supprimer en haut de la page et confirmez la suppression.

Supprimer les sujets Pub/Sub

  1. Accédez à la page Pub/Sub dans la console Google Cloud.

    Accéder à la page Pub/Sub

  2. Cochez les cases situées en regard de vos sujets.

  3. Cliquez sur le bouton Supprimer en haut de la page et confirmez la suppression.

Supprimer les fonctions déployées via Cloud Functions

  1. Accédez à la page de présentation de Cloud Functions dans la console Google Cloud.

    Accéder à la page Cloud Functions

  2. Cochez les cases situées en regard de vos fonctions.

  3. Cliquez sur le bouton Supprimer en haut de la page et confirmez la suppression.

Supprimer l'instance Compute Engine

Pour supprimer une instance Compute Engine, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Cochez la case correspondant à instance que vous souhaitez supprimer.
  3. Pour supprimer l'instance, cliquez sur Autres actions , cliquez sur Supprimer, puis suivez les instructions.

Supprimer le projet

Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.

Pour supprimer le projet :

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Étapes suivantes

  • Découvrez des architectures de référence, des schémas et des bonnes pratiques concernant Google Cloud. Consultez notre Centre d'architecture cloud.