arrow_back

Optimiser les coûts avec Google Cloud Storage

Accédez à plus de 700 ateliers et cours

Optimiser les coûts avec Google Cloud Storage

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

GSP649

Logo des ateliers d'auto-formation Google Cloud

Présentation

Dans cet atelier, vous allez identifier et éliminer les ressources cloud inutilisées à l'aide de Cloud Run Functions et de Cloud Scheduler. Vous allez déclencher une fonction Cloud Run pour migrer un bucket de stockage vers une classe de stockage plus économique à l'aide d'une règle d'alerte Cloud Monitoring.

Google Cloud fournit des règles de cycle de vie qui déplacent automatiquement les objets vers d'autres classes de stockage en fonction de leurs attributs (par exemple, leur date de création ou leur état actuel). Cependant, ces règles ne prennent pas en compte la fréquence d'accès aux objets. Vous pourriez, par exemple, souhaiter déplacer des objets récents vers un stockage Nearline s'ils n'ont pas été consultés depuis un certain temps.

Objectifs

Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :

  • Créer deux buckets de stockage, ajouter un fichier au bucket actif serving-bucket et générer du trafic sur celui-ci
  • Créer un tableau de bord Cloud Monitoring pour visualiser l'utilisation du bucket
  • Déployer une fonction Cloud Run pour migrer le bucket inactif vers une classe de stockage plus économique, puis déclencher la fonction à l'aide d'une charge utile dont le rôle est d'imiter une notification envoyée par une règle d'alerte Cloud

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.

Architecture

Dans le schéma suivant, vous déclenchez une fonction Cloud Run pour migrer un bucket de stockage vers une classe de stockage plus économique à l'aide d'une règle d'alerte Cloud Monitoring.

Schéma de la migration du bucket de stockage

Tâche 1 : Activer les API et télécharger le code source

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

  2. Dans Cloud Shell, activez l'API Cloud Scheduler :

gcloud services enable cloudscheduler.googleapis.com

Cliquez sur Vérifier ma progression pour valider l'objectif.

Activer l'API Cloud Scheduler
  1. Téléchargez le code source de l'atelier :
gcloud storage cp -r gs://spls/gsp649/* . && cd gcf-automated-resource-cleanup/
  1. Définissez des variables d'environnement et utilisez le dossier de dépôt comme répertoire de travail $WORKDIR. C'est d'ici que vous exécuterez toutes les commandes de cet atelier :
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null) WORKDIR=$(pwd)
  1. Installez Apache Bench, un outil de génération de charge Open Source :
sudo apt-get update sudo apt-get install apache2-utils -y

Tâche 2 : Créer des buckets Cloud Storage et ajouter un fichier

  1. Dans Cloud Shell, accédez au répertoire migrate-storage :
cd $WORKDIR/migrate-storage
  1. Créez serving-bucket, le bucket Cloud Storage. Vous l'utiliserez plus tard pour changer de classe de stockage :
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null) gcloud storage buckets create gs://${PROJECT_ID}-serving-bucket -l {{{project_0.default_region|REGION}}}

Cliquez sur Vérifier ma progression pour valider l'objectif.

Créer un bucket Cloud Storage
  1. Rendez le bucket public :
gsutil acl ch -u allUsers:R gs://${PROJECT_ID}-serving-bucket
  1. Ajoutez un fichier texte au bucket :
gcloud storage cp $WORKDIR/migrate-storage/testfile.txt gs://${PROJECT_ID}-serving-bucket
  1. Rendez le fichier public :
gsutil acl ch -u allUsers:R gs://${PROJECT_ID}-serving-bucket/testfile.txt
  1. Vérifiez que le fichier est accessible :
curl http://storage.googleapis.com/${PROJECT_ID}-serving-bucket/testfile.txt

Vous obtenez le résultat suivant :

this is a test

Cliquez sur Vérifier ma progression pour valider l'objectif.

Rendre le bucket Cloud Storage public
  1. Créez un bucket inactif nommé idle-bucket, qui ne transmettra aucune donnée :
gcloud storage buckets create gs://${PROJECT_ID}-idle-bucket -l {{{project_0.default_region|REGION}}} export IDLE_BUCKET_NAME=$PROJECT_ID-idle-bucket

Cliquez sur Vérifier ma progression pour valider l'objectif.

Créer un autre bucket Cloud Storage

Tâche 3 : Créer un tableau de bord de surveillance

Créer un champ d'application des métriques Monitoring

Définissez un champ d'application des métriques Monitoring associé à votre projet Google Cloud. Suivez les étapes ci-dessous pour créer un compte incluant un essai gratuit de Monitoring.

  • Dans la console Cloud, cliquez sur le menu de navigation (Icône du menu de navigation), puis sur Afficher tous les produits > Observabilité > Monitoring.

Lorsque la page Aperçu de Monitoring s'affiche, votre projet de champ d'application des métriques est prêt.

  1. Dans le panneau de gauche, cliquez sur Tableaux de bord > Créer un tableau de bord personnalisé.

  2. Nommez le tableau de bord Bucket Usage (Utilisation du bucket).

  3. Cliquez sur + AJOUTER UN WIDGET.

  4. Cliquez sur Ligne.

  5. Dans Titre du widget, saisissez Bucket Access (Accès au bucket).

  6. Cliquez sur Sélectionner une métrique > Bucket GCS > API > Nombre de requêtes, puis sur Appliquer.

Remarque : Si vous ne parvenez pas à trouver la métrique Nombre de requêtes, décochez Actives.

Tableau de bord "Sélectionner une métrique"

  1. Pour regrouper les métriques par nom de bucket, accédez à la liste déroulante Grouper par, sélectionnez bucket_name et cliquez sur OK.

  2. Cliquez sur + Ajouter un filtre.

Pour filtrer par nom de méthode :

  • Pour Filtrer par étiquette de métrique, sélectionnez Méthode.
  • Dans le menu déroulant à côté de Méthode, sélectionnez ReadObject.
  • Cliquez sur Appliquer.

Vous avez configuré Cloud Monitoring de manière à surveiller l'accès aux objets dans vos buckets. Le graphique n'affiche aucune donnée, car le trafic vers les buckets Cloud Storage est inexistant.

Tâche 4 : Générer une charge sur le bucket actif

Maintenant que vous avez configuré la surveillance, utilisez Apache Bench pour envoyer du trafic vers le bucket actif serving-bucket.

  1. Dans Cloud Shell, envoyez des requêtes vers l'objet du bucket actif :
ab -n 10000 http://storage.googleapis.com/$PROJECT_ID-serving-bucket/testfile.txt
  1. Dans le panneau de gauche, cliquez sur Tableaux de bord, puis sur le nom de votre tableau de bord (Bucket Usage) pour afficher le graphique "Bucket Access".
Remarque : Si vous avez fermé l'onglet, accédez au menu de navigation > Afficher tous les produits > Observabilité > Monitoring. Ensuite, dans le panneau de gauche, cliquez sur Tableaux de bord > Bucket Usage. Remarque : Vous devrez patienter au moins une minute avant que le graphique n'apparaisse dans le tableau de bord Bucket Usage.
  1. Afficher les détails du trafic

Tableau de bord "Bucket Usage"

Vous devrez peut-être appuyer sur Ctrl+C pour revenir à l'invite de commande.

Tâche 5 : Examiner et déployer la fonction Cloud Run

  1. Dans Cloud Shell, saisissez la commande suivante pour afficher le code de la fonction Cloud Run qui permet de migrer un bucket de stockage vers la classe de stockage Nearline :
cat $WORKDIR/migrate-storage/main.py | grep "migrate_storage(" -A 15

Voici le résultat :

def migrate_storage(request): request_json = request.get_json(force=True) bucket_name = request_json['incident']['resource_name'] print(f"bucket_name: {bucket_name}") # Print the bucket name if not bucket_name: print("Error: bucket_name is empty") return "Invalid bucket name", 400 storage_client = storage.Client(project) bucket = storage_client.get_bucket(bucket_name) bucket.storage_class = "NEARLINE" bucket.patch() return "Bucket migrated successfully", 200

Vous remarquerez que la fonction Cloud Run utilise le nom du bucket transmis dans la requête pour passer celui-ci à la classe de stockage Nearline.

  1. Modifiez le script Python pour utiliser l'ID de votre projet :
sed -i "s/<project-id>/$PROJECT_ID/" $WORKDIR/migrate-storage/main.py
  1. Désactivez l'API Cloud Run Functions :
gcloud services disable cloudfunctions.googleapis.com
  1. Réactivez ensuite l'API :
gcloud services enable cloudfunctions.googleapis.com
  1. Exportez le numéro du projet :
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
  1. Ajoutez l'autorisation artifactregistry.reader pour votre compte de service développeur :
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:$PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/artifactregistry.reader"
  1. Déployez la fonction Cloud Run :
gcloud functions deploy migrate_storage --gen2 --trigger-http --runtime=python39 --region {{{project_0.default_region | Region}}}

Lorsque vous y êtes invité, saisissez Y afin d'activer l'API [run.googleapis.com] pour le projet, puis réessayez. Faites de même pour autoriser les appels non authentifiés.

Remarque : En cas d'erreur d'autorisation, veuillez attendre quelques minutes, puis réessayez d'effectuer le déploiement.
  1. Enregistrez l'URL du déclencheur dans une variable d'environnement que vous utiliserez à la prochaine section :
export FUNCTION_URL=$(gcloud functions describe migrate_storage --format=json --region {{{project_0.default_region | Region}}} | jq -r '.url')

Cliquez sur Vérifier ma progression pour valider l'objectif.

Déployer la fonction Cloud Run

Tâche 6 : Tester et valider l'automatisation des alertes

  1. Modifiez le fichier JSON avec le nom du bucket :
export IDLE_BUCKET_NAME=$PROJECT_ID-idle-bucket sed -i "s/\\\$IDLE_BUCKET_NAME/$IDLE_BUCKET_NAME/" $WORKDIR/migrate-storage/incident.json
  1. Envoyez une notification de test vers la fonction Cloud Run que vous avez déployée à l'aide du fichier incident.json :
envsubst < $WORKDIR/migrate-storage/incident.json | curl -X POST -H "Content-Type: application/json" $FUNCTION_URL -d @-

Voici le résultat :

Bucket migrated successfully

Le résultat ne se termine pas par un retour à la ligne, il est donc immédiatement suivi par l'invite de commande.

  1. Vérifiez que le bucket inactif a bien été migré vers la classe Nearline :
gsutil defstorageclass get gs://$PROJECT_ID-idle-bucket

Voici le résultat :

gs://<project-id>-idle-bucket: NEARLINE

Cliquez sur Vérifier ma progression pour valider l'objectif.

Vérifier que le bucket a bien été migré vers Nearline

Félicitations !

Félicitations ! Dans cet atelier, vous avez créé deux buckets Cloud Storage, ajouté un objet à l'un d'eux, configuré Cloud Monitoring pour suivre l'accès aux buckets, examiné et déployé une fonction Cloud Run destinée à migrer les objets vers un bucket Nearline, et testé cette fonction à l'aide d'une alerte Cloud Monitoring.

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 : 4 mars 2025

Dernier test de l'atelier : 4 mars 2025

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.