arrow_back

Optimiser les coûts avec Google Cloud Storage

Testez vos connaissances et partagez-les avec notre communauté
done
Accédez à plus de 700 ateliers pratiques, badges de compétence 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.
Testez vos connaissances et partagez-les avec notre communauté
done
Accédez à plus de 700 ateliers pratiques, badges de compétence et cours

GSP649

Google Cloud – Ateliers adaptés au rythme de chacun

Aperçu

Dans cet atelier, vous allez identifier et éliminer les ressources cloud inutilisées à l'aide de Cloud Functions et de Cloud Scheduler. Vous allez déclencher une fonction Cloud pour migrer un bucket de stockage vers une classe de stockage plus économique avec 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 vouloir déplacer des objets récents vers un stockage Nearline s'ils n'ont pas été utilisés depuis un certain temps.

Objectifs de l'atelier

  • Créer deux buckets de stockage, ajouter un fichier au bucket actif serving-bucket et y générer du trafic

  • Créer un tableau de bord Cloud Monitoring pour visualiser l'utilisation du bucket

  • Déployer une fonction Cloud 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

Architecture

Dans le schéma suivant, vous allez déclencher une fonction Cloud pour migrer un bucket de stockage vers une classe de stockage plus économique avec une règle d'alerte Cloud Monitoring.

StorageClasses

Prérequis

Dans cette section, vous allez configurer l'infrastructure et les identités requises pour réaliser l'atelier.

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 vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour 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/navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le temporaire étudiant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

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, un pop-up 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 gratuits.

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

Remarque : Pour afficher un menu contenant la liste des produits et services Google Cloud, cliquez sur le menu de navigation en haut à gauche. Icône du menu de navigation

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.

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 YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :

Your Cloud Platform project in this session is set to YOUR_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.

  2. Vous devez à présent obtenir le résultat suivant :

Résultat :

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net 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 = <ID_Projet>

Exemple de résultat :

[core] project = qwiklabs-gcp-44776a13dea667a6 Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.

Activer les API et cloner le dépôt

  1. 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. Clonez le dépôt :

    git clone https://github.com/GoogleCloudPlatform/gcf-automated-resource-cleanup.git && cd gcf-automated-resource-cleanup/
  2. 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)
  3. Installez Apache Bench, un outil de génération de charge Open Source :

    sudo apt-get install apache2-utils -y

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
  2. 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) gsutil mb -c regional -l us-central1 gs://${PROJECT_ID}-serving-bucket

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
  2. Ajoutez un fichier texte au bucket :

    gsutil cp $WORKDIR/migrate-storage/testfile.txt gs://${PROJECT_ID}-serving-bucket
  3. Rendez le fichier public :

    gsutil acl ch -u allUsers:R gs://${PROJECT_ID}-serving-bucket/testfile.txt
  4. 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 :

    gsutil mb -c regional -l us-central1 gs://${PROJECT_ID}-idle-bucket

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

Créer un autre bucket Cloud Storage

Créer un tableau de bord Monitoring

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) > 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.

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

  3. Cliquez sur Graphiques en courbes.

  4. Dans Titre du graphique, saisissez Bucket Access (Accès au bucket).

  5. Dans Ressource et métrique, saisissez gcs_bucket pour la ressource, puis sélectionnez API > Nombre de requêtes pour la métrique et cliquez sur Appliquer.

Si vous ne parvenez pas à trouver la métrique Nombre de requêtes, désactivez l'option Afficher uniquement les ressources et les métriques actives.

gcsbucket.png

  1. Cliquez sur + Ajouter un filtre.

  2. Pour filtrer par nom de méthode, sélectionnez :

  • method dans Libellé ;

  • =(equals) dans Comparaison ;

  • ReadObject dans Valeur.

  • Cliquez sur OK.

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

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.

Générer une charge sur le bucket actif

Maintenant que vous avez configuré la surveillance du trafic, utilisez Apache Bench pour l'envoyer 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".
Si vous avez fermé l'onglet, accédez au menu de navigation et sélectionnez 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

traffic.png

Examiner et déployer la fonction Cloud

  1. Dans Cloud Shell, saisissez la commande suivante pour afficher le code de la fonction Cloud 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): # process incoming request to get the bucket to be migrated: request_json = request.get_json(force=True) # bucket names are globally unique bucket_name = request_json['incident']['resource_name'] # create storage client storage_client = storage.Client() # get bucket bucket = storage_client.get_bucket(bucket_name) # update storage class bucket.storage_class = "NEARLINE" bucket.patch()

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

  2. Déployez la fonction Cloud :

    gcloud functions deploy migrate_storage --trigger-http --runtime=python37

    Lorsque vous y êtes invité, saisissez Y pour autoriser les appels non authentifiés.

  3. 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 | jq -r '.httpsTrigger.url')

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

Déployer la fonction Cloud

Tester et valider l'automatisation des alertes

  1. Donnez un nom au bucket inactif :

    export IDLE_BUCKET_NAME=$PROJECT_ID-idle-bucket
  2. Envoyez une notification de test vers la fonction Cloud 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 :

    OK

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

  3. Vérifiez que le bucket inactif a bien été migré vers 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 !

Vous avez réalisé les tâches suivantes :

  • Créer deux buckets Cloud Storage
  • Ajouter un objet dans l'un des buckets
  • Configurer Cloud Monitoring pour surveiller l'accès aux objets du bucket
  • Examiner le code de la fonction Cloud permettant de migrer les objets d'un bucket régional vers un bucket Nearline
  • Déployer la fonction Cloud
  • Tester la fonction Cloud à l'aide d'une alerte Cloud Monitoring

IC_OptimizingYourGCPCosts_V2_resized.png

Terminer votre quête

Cet atelier d'auto-formation fait partie de la quête Qwiklabs Optimizing your Google Cloud Costs. Une quête est une série d'ateliers associés qui constituent une formation. Si vous terminez cette quête, vous obtiendrez le badge ci-dessus attestant de votre réussite. Vous pouvez rendre publics les badges que vous recevez et ajouter leur lien dans votre CV en ligne ou sur vos comptes de réseaux sociaux. Inscrivez-vous à cette quête pour obtenir immédiatement les crédits associés à cet atelier si vous l'avez suivi.
Découvrez les autres quêtes Qwiklabs disponibles.

Atelier suivant

Continuez sur votre lancée en suivant l'atelier Niveaux de service – Optimisation des dépenses associées au réseau, ou consultez ces suggestions :

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 : 5 avril 2022
Dernier test de l'atelier : 5 avril 2022

Copyright 2024 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.

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