DevOpsFacile
AccueilParcours de formationCertificationsModulesCheat SheetÀ Propos
DevOpsFacile

Une plateforme d'apprentissage complète pour maîtriser les pratiques DevOps modernes, du débutant à l'expert.

contact@devopsfacile.fr

Formation

  • Parcours de formation
  • Modules

Informations

  • À Propos
  • Conditions d'utilisation
  • Confidentialité
  • Mentions légales

© 2026 DevOps Facile. Tous droits réservés.

Fait avec pour la communauté DevOps

ModulesGCP - Débutant : premiers pas dans le cloud Google

Module

Découvrez Google Cloud Platform : hiérarchie des projets, Cloud IAM, Compute Engine, Cloud Storage et les bases de la gcloud CLI.

  • 2h
  • Débutant
  • 3 exercices
Voir les exercices

Formation 100 % Linux

Tous les modules nécessitent un environnement Linux. Si vous êtes sur Windows, installez d'abord WSL (Windows Subsystem for Linux) avant de continuer.

GCP - Débutant : premiers pas dans le cloud Google

🎯 Objectifs

  • ✅ Comprendre la hiérarchie GCP : organisation, dossiers, projets
  • ✅ Configurer son compte GCP et la gcloud CLI
  • ✅ Gérer les accès avec Cloud IAM et les comptes de service
  • ✅ Créer et se connecter à une VM Compute Engine
  • ✅ Stocker des fichiers dans Cloud Storage

📋 Prérequis

  • Linux Débutant (ligne de commande, SSH)
  • Un compte Google pour accéder à GCP
  • Google Cloud Free Tier : 300$ de crédits pour 90 jours + services Always Free

☁️ Pourquoi GCP ?

Google Cloud Platform est le cloud de Google. Ses points forts sont l'infrastructure réseau mondiale de Google (fibre optique sous-marine, backbone privé), ses services de données (BigQuery, Pub/Sub, Dataflow) et l'IA/ML (Vertex AI, TPUs).

GCP est particulièrement adopté par les entreprises analytics, les startups tech et les organisations qui utilisent Google Workspace.


🌍 Infrastructure Mondiale GCP

GCP est organisé en régions, zones et multi-régions :

ConceptDescriptionExemple
ZoneDatacenter uniqueeurope-west9-a
RégionEnsemble de zones (≥3) dans une zone géographiqueeurope-west9 (Paris)
Multi-régionGroupe de régions pour la haute disponibilitéeurope, us

Quelques régions courantes :

RégionLocalisation
europe-west9Paris, France
europe-west1Belgique
us-central1Iowa, USA
asia-northeast1Tokyo, Japon

🏗️ Hiérarchie GCP

Organisation (google.com ou votre domaine)
└── Dossiers (facultatifs, pour regrouper les projets)
    └── Projets (unité de base : facturation, ressources, IAM)
        └── Ressources (VMs, buckets, bases de données...)
NiveauRôleAnalogie
OrganisationRacine du tenant GCPL'entreprise
DossierRegroupement logique de projetsUn département
ProjetUnité de facturation et d'isolationUne application ou un env
RessourceService GCP (VM, bucket...)Un serveur

💡 Les projets sont l'unité clé de GCP. Chaque ressource appartient à un projet. Un projet a son propre numéro unique, son ID (choisi par vous) et son nom d'affichage.


🔐 Cloud IAM

Concepts IAM

ConceptDescriptionExemple
PrincipalQui fait la demandeUtilisateur, groupe, compte de service
RôleEnsemble de permissionsroles/storage.objectViewer
BindingAssociation principal → rôle → ressourceAlice a le rôle Editor sur mon-projet

Types de rôles

Rôles primitifs (héritage de l'ancienne API, à éviter en production) :

RôleAccès
roles/viewerLecture seule sur toutes les ressources
roles/editorLecture + écriture (sauf IAM)
roles/ownerTout faire, y compris gérer les accès

Rôles prédéfinis (recommandés) - exemples :

RôleServicePermissions
roles/compute.instanceAdmin.v1Compute EngineGérer les VMs
roles/storage.objectViewerCloud StorageLire les objets
roles/container.developerGKEDéployer sur GKE

Rôles personnalisés : créez vos propres rôles avec exactement les permissions nécessaires.

Comptes de Service

Un compte de service est une identité pour les applications (VMs, Cloud Functions, conteneurs) qui doivent accéder à d'autres services GCP.

bash
# Créer un compte de service
gcloud iam service-accounts create mon-app-sa \
  --description "Compte de service pour mon application" \
  --display-name "Mon App SA"

# Assigner un rôle au compte de service
gcloud projects add-iam-policy-binding mon-projet-id \
  --member serviceAccount:mon-app-sa@mon-projet-id.iam.gserviceaccount.com \
  --role roles/storage.objectViewer

# Créer une clé JSON (à utiliser hors GCP seulement)
gcloud iam service-accounts keys create cle.json \
  --iam-account mon-app-sa@mon-projet-id.iam.gserviceaccount.com

⚠️ Évitez les clés JSON dès que possible. Sur une VM GCP, attachez directement le compte de service à la VM - elle obtiendra les tokens automatiquement via le metadata server.


🛠️ gcloud CLI

Installation et Configuration

bash
# Installer le SDK GCP (Linux)
curl https://sdk.cloud.google.com | bash
exec -l $SHELL

# Initialiser (connexion + sélection du projet par défaut)
gcloud init

# Se connecter manuellement
gcloud auth login

# Lister les projets disponibles
gcloud projects list

# Définir le projet par défaut
gcloud config set project mon-projet-id

# Définir la région et la zone par défaut
gcloud config set compute/region europe-west9
gcloud config set compute/zone europe-west9-a

# Vérifier la configuration active
gcloud config list

Commandes de base

bash
# Lister les VMs
gcloud compute instances list

# Lister les buckets
gcloud storage buckets list

# Voir les logs d'une ressource
gcloud logging read "resource.type=gce_instance" --limit 50

# Ouvrir Cloud Shell (terminal dans le navigateur, avec gcloud préconfiguré)
# → https://shell.cloud.google.com

🖥️ Compute Engine

Types de Machines

FamilleUsageExemple
E2 (Économique)Dev, tests, charges légèrese2-micro (Always Free)
N2 (Général)Applications standardn2-standard-2
C3 (Compute)Calcul intensifc3-highcpu-8
M3 (Mémoire)Bases de données en mémoirem3-ultramem-32
A2/A3 (GPU)ML, rendu, HPCa2-highgpu-1g

💡 Always Free : e2-micro dans us-central1, us-east1 ou us-west1 : 1 instance gratuite en permanence.

Créer et Gérer une VM

bash
# Créer une VM Ubuntu 22.04
gcloud compute instances create ma-vm \
  --machine-type e2-medium \
  --image-family ubuntu-2204-lts \
  --image-project ubuntu-os-cloud \
  --zone europe-west9-a \
  --tags http-server,https-server \
  --metadata startup-script='#! /bin/bash
    apt-get update
    apt-get install -y nginx
    systemctl start nginx'

# Se connecter en SSH (gcloud gère les clés automatiquement)
gcloud compute ssh ma-vm --zone europe-west9-a

# Lister les VMs
gcloud compute instances list

# Arrêter / démarrer / supprimer
gcloud compute instances stop ma-vm --zone europe-west9-a
gcloud compute instances start ma-vm --zone europe-west9-a
gcloud compute instances delete ma-vm --zone europe-west9-a

Règles de Pare-feu

GCP utilise des règles de pare-feu au niveau du VPC (pas au niveau instance comme AWS) :

bash
# Autoriser HTTP depuis internet pour les VMs avec le tag http-server
gcloud compute firewall-rules create allow-http \
  --network default \
  --action allow \
  --direction ingress \
  --rules tcp:80 \
  --source-ranges 0.0.0.0/0 \
  --target-tags http-server

# Autoriser SSH depuis une IP spécifique uniquement
gcloud compute firewall-rules create allow-ssh-from-office \
  --network default \
  --action allow \
  --direction ingress \
  --rules tcp:22 \
  --source-ranges 203.0.113.0/32 \
  --target-tags ssh-allowed

# Lister les règles de pare-feu
gcloud compute firewall-rules list

Startup Scripts

Le startup script s'exécute au démarrage de la VM - utile pour installer des dépendances :

bash
# Passer un startup script au lancement
gcloud compute instances create mon-serveur-web \
  --machine-type e2-small \
  --zone europe-west9-a \
  --metadata-from-file startup-script=startup.sh

# startup.sh
#!/bin/bash
apt-get update -y
apt-get install -y nginx
echo "<h1>Bienvenue depuis GCP !</h1>" > /var/www/html/index.html
systemctl restart nginx

📦 Cloud Storage

Concept

Cloud Storage est le stockage objet de GCP. Il stocke des objets dans des buckets, avec une durabilité de 99,999999999% (11 neuf).

Classes de Stockage

ClasseMinimum duréeCoût stockageCas d'usage
StandardAucuneLe plus cherDonnées accédées souvent
Nearline30 joursMoins cherAccès < 1 fois/mois
Coldline90 joursEncore moins cherAccès < 1 fois/trimestre
Archive365 joursLe moins cherArchives longue durée, accès rare

Commandes Cloud Storage

bash
# Créer un bucket (nom unique globalement)
gcloud storage buckets create gs://mon-bucket-unique-123 \
  --location europe-west9 \
  --storage-class STANDARD

# Uploader un fichier
gcloud storage cp fichier.txt gs://mon-bucket-unique-123/

# Uploader un dossier entier
gcloud storage cp --recursive ./mon-dossier gs://mon-bucket-unique-123/dossier/

# Télécharger un fichier
gcloud storage cp gs://mon-bucket-unique-123/fichier.txt ./

# Lister les objets
gcloud storage ls gs://mon-bucket-unique-123/

# Supprimer un objet
gcloud storage rm gs://mon-bucket-unique-123/fichier.txt

# Supprimer le bucket et tout son contenu
gcloud storage rm --recursive gs://mon-bucket-unique-123

Politique de Cycle de Vie

Automatisez le changement de classe de stockage selon l'âge des objets :

bash
# Créer une politique de lifecycle en JSON
cat > lifecycle.json << 'EOF'
{
  "lifecycle": {
    "rule": [
      {
        "action": {"type": "SetStorageClass", "storageClass": "NEARLINE"},
        "condition": {"age": 30}
      },
      {
        "action": {"type": "SetStorageClass", "storageClass": "COLDLINE"},
        "condition": {"age": 90}
      },
      {
        "action": {"type": "Delete"},
        "condition": {"age": 365}
      }
    ]
  }
}
EOF

gcloud storage buckets update gs://mon-bucket-unique-123 \
  --lifecycle-file lifecycle.json

⚠️ Erreurs Courantes

ErreurCauseSolution
PERMISSION_DENIEDIAM insuffisantVérifier les bindings IAM
QUOTA_EXCEEDEDQuota de la région atteintDemander une augmentation de quota
invalid value for field resource.nameNom de bucket déjà prisChoisir un nom plus unique
VM inaccessible SSHRègle de pare-feu manquanteCréer une règle allow-ssh
The resource was not foundMauvais projet sélectionnégcloud config set project <ID>

📌 Points Clés

  • La hiérarchie GCP : Organisation → Dossiers → Projets → Ressources
  • Cloud IAM : utilisez les rôles prédéfinis ; attachez un compte de service à vos VMs plutôt que des clés JSON
  • gcloud compute ssh gère les clés SSH automatiquement - pas besoin de les créer manuellement
  • Les règles de pare-feu sont au niveau VPC (pas instance) et s'appliquent via des tags
  • Cloud Storage : choisissez la classe Standard/Nearline/Coldline/Archive selon la fréquence d'accès

📚 Ressources

  • Console GCP
  • Documentation Cloud IAM
  • Documentation Compute Engine
  • Documentation Cloud Storage
  • gcloud CLI Reference
  • Google Cloud Free Tier

🚀 Prochaines étapes

Vous maîtrisez les bases de GCP. Passez au niveau suivant :

  1. GCP Intermédiaire : VPC, Cloud SQL, Cloud Run et Cloud Build - réseau, bases de données managées et serverless sur GCP

Exercices Pratiques

3 exercices pour mettre en pratique

01

01 - Créer un projet GCP et configurer IAM avec gcloud

30 minutesDébutant
02

04 - Lancer une VM avec Compute Engine

30 minutesDébutant
03

05 - Stocker et gérer des fichiers avec Cloud Storage

25 minutesDébutant
Retour aux modules

Sur cette page

  • 🎯 Objectifs
  • 📋 Prérequis
  • ☁️ Pourquoi GCP ?
  • 🌍 Infrastructure Mondiale GCP
  • 🏗️ Hiérarchie GCP
  • 🔐 Cloud IAM
  • Concepts IAM
  • Types de rôles
  • Comptes de Service
  • 🛠️ gcloud CLI
  • Installation et Configuration
  • Commandes de base
  • 🖥️ Compute Engine
  • Types de Machines
  • Créer et Gérer une VM
  • Règles de Pare-feu
  • Startup Scripts
  • 📦 Cloud Storage
  • Concept
  • Classes de Stockage
  • Commandes Cloud Storage
  • Politique de Cycle de Vie
  • ⚠️ Erreurs Courantes
  • 📌 Points Clés
  • 📚 Ressources
  • 🚀 Prochaines étapes