GCP-3: Automatisation administration cloud storage 💾
Objectifs:
🎯 créer un bucket.
🎯 créer une politique de rétention.
🎯 pousser des éléments.
🎯 automatiser ces actions.
Prérequis:
💡 terraform.
💡 bash.
💡 avoir un projet ou une orga gcp.
💡 [ Github-Actions-0 ].
💡 [ GCP-1: Présentation ].
💡 [ GCP-2: Gestion des permissions ].
Dans le chapitre [ GCP-2: Gestion des permissions ] nous avons parlé de ressources disponibles
dans GCP mais sans les manipuler. Voyez donc ce chapitre comme un cas pratique du chapitre précédent.
Nous allons commencer par créer nos ressources depuis l'interface graphique, y pousser des fichiers txt (cela aurait pu être une image) et créer une politique de rétention.
Puis nous allons tout supprimer et recréer le même contexte à l'aide de terraform et gcloud.
1) Depuis interface graphique.
1.1) Création d'un bucket.
* Se rendre sur le service cloud storage.
* Sélectionner "buckets" et cliquer sur "créer".
* Renseigner les métadonnées.
* Cliquer sur "créer".
1.2) Pousser un fichier dans le bucket.
* Se rendre dans le bucket.
* Cliquer sur "importer des fichiers".
* Nouveau fichier listé.
1.3) Ajouter une politique de rétention.
(1) Cliquer sur "Cycle de vie".
(2) Cliquer sur "Ajouter une règle".
* Sélectionner l'option de suppression.
* Suppression des fichiers .txt de plus de 5 jours.
* Cliquer sur "Créer".
Nous avons pu créer notre bucket, l'alimenter d'un fichier texte et définir une politique de rétention depuis l'interface.
C'est bien cependant pour mes besoins il me faut pouvoir recréer tout cela de manière identique et automatique.
Je vais donc supprimer les ressources créées juste avant, puis créer mes différents scripts.
2) Automatisation.
2.1) Création projet terraform.
* cred.json: clé d'un compte de service.
* main.tf: description du storage.
* variables.tf: définition des variables
* terraform.tfvars: surcharge des valeurs par défaut des vars.
* lifecycle_rule: politique de rétention.
2) Automatisation.
2.1) Lancer le script.
* Bucket crée.
2.2) Pousser un fichier.
* Commande possible à condition d'être connecté à un projet et un compte de service avec gcloud.
* fichier uploadé.
Conclusion:
Dans ce chapitre nous avons vu comment il est possible de gérer le service cloud storage depuis l'interface graphique, l'automatisation
du déploiement du service avec terraform et l'automatisation d'actions sur le service à l'aide de gcloud.
Si la partie terraform était trop rapide pour vous je vous invite à consulter ma rubrique [ Terraform: Grille de rubriques ].
Pour ce qui est de gcloud nous verrons des exemples plus complets par la suite.
Pour la suite, je vous propose de voir comment on peut intégrer ce que l'on vient de voir à un pipeline github.
Rendez-vous à rubrique suivante [ GCP-4: Intégration github actions ].