☁️ Cloud

cloud-gcp-guide

Services Google Cloud Platform incluant Cloud Run, BigQuery, GKE, Cloud Functions et Firestore.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- cloud-gcp-guide --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } cloud-gcp-guide -Launch"

🚀 Déjà installé ?

claude "/cloud-gcp-guide"

Ou tapez /cloud-gcp-guide dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

GCPGoogle CloudBigQueryCloud RunGKE

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/skills/cloud-gcp-guide ~/.claude/skills/

Payload du plugin : skills/cloud-gcp-guide · source éditable : cloud-skills/gcp-guide

📖 Manuel

GCP Guide

Workflow

1. Structurer la hiérarchie des ressources

Organization
└── Folder (prod / staging / dev)
    └── Project (une app ou un domaine)
        └── Resources (Cloud Run, BigQuery, etc.)
gcloud projects create my-app-prod --folder=FOLDER_ID
gcloud billing projects link my-app-prod --billing-account=BILLING_ID
gcloud alpha billing budgets create \
  --billing-account=BILLING_ID \
  --display-name="my-app-prod budget" \
  --budget-amount=500USD \
  --threshold-rule=percent=0.8

2. IAM — moindre privilège dès le départ

# Créer un SA dédié
gcloud iam service-accounts create sa-cloud-run-api \
  --display-name="API Cloud Run"

# Binding minimal
gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="serviceAccount:sa-cloud-run-api@PROJECT_ID.iam.gserviceaccount.com" \
  --role="roles/run.invoker"

3. Choisir le bon service de calcul

BesoinService recommandé
API HTTP / microservice conteneurisé, trafic variableCloud Run
Workloads Kubernetes existants, GPU, état localGKE Autopilot
Traitement event-driven simple (<10 min)Cloud Functions 2nd gen
Batch HPC ou ML trainingBatch + GPU/TPU
VM legacy ou contrôle OS totalCompute Engine
# Déployer sur Cloud Run depuis une image Artifact Registry
gcloud run deploy my-api \
  --image=europe-west1-docker.pkg.dev/PROJECT_ID/repo/my-api:latest \
  --region=europe-west1 \
  --platform=managed \
  --service-account=sa-cloud-run-api@PROJECT_ID.iam.gserviceaccount.com \
  --min-instances=0 \
  --max-instances=20 \
  --concurrency=80 \
  --no-allow-unauthenticated

4. Choisir le bon stockage de données

PatternService
Analytique OLAP, PB+BigQuery
Transactionnel SQL managéCloud SQL (Postgres/MySQL) ou AlloyDB
NoSQL document temps réel (mobile/web)Firestore
Clé-valeur faible latence (< 10 ms)Bigtable
Fichiers, backups, assetsCloud Storage
Cache in-memoryMemorystore (Redis)

BigQuery — optimisations essentielles :

-- Toujours créer les tables partitionnées
CREATE TABLE `project.dataset.events`
PARTITION BY DATE(created_at)
CLUSTER BY user_id, event_type
OPTIONS (require_partition_filter = true)
AS SELECT * FROM staging.events WHERE FALSE;

-- Lire seulement les partitions nécessaires
SELECT user_id, COUNT(*) as cnt
FROM `project.dataset.events`
WHERE DATE(created_at) BETWEEN '2026-01-01' AND '2026-01-31'
GROUP BY user_id;

5. Réseau et sécurité

# VPC dédié avec sous-réseaux régionaux
gcloud compute networks create vpc-prod --subnet-mode=custom
gcloud compute networks subnets create subnet-west1 \
  --network=vpc-prod \
  --region=europe-west1 \
  --range=10.0.1.0/24 \
  --enable-private-ip-google-access

# Firewall — deny-all ingress par défaut, allow uniquement ce qui est nécessaire
gcloud compute firewall-rules create allow-internal \
  --network=vpc-prod \
  --action=ALLOW \
  --rules=tcp:8080 \
  --source-ranges=10.0.0.0/8

6. Pipeline de données événementiels

Source → Pub/Sub → Dataflow → BigQuery / Firestore
                 ↘ Cloud Run (webhook consumer)
# Créer un topic Pub/Sub et un abonnement avec dead-letter
gcloud pubsub topics create events-topic
gcloud pubsub topics create events-dead-letter
gcloud pubsub subscriptions create events-sub \
  --topic=events-topic \
  --dead-letter-topic=events-dead-letter \
  --max-delivery-attempts=5 \
  --ack-deadline=60

Utilise Dataflow (Apache Beam managé) pour les transformations à fort volume ; Cloud Composer (Airflow) pour l'orchestration batch planifiée.

7. Infrastructure as Code avec Terraform

# provider.tf
terraform {
  required_providers {
    google = { source = "hashicorp/google", version = "~> 5.0" }
  }
  backend "gcs" {
    bucket = "tfstate-my-app-prod"
    prefix = "terraform/state"
  }
}

# Cloud Run minimal
resource "google_cloud_run_v2_service" "api" {
  name     = "my-api"
  location = "europe-west1"
  template {
    service_account = google_service_account.run_sa.email
    containers {
      image = "europe-west1-docker.pkg.dev/${var.project_id}/repo/my-api:latest"
      resources { limits = { cpu = "1", memory = "512Mi" } }
    }
  }
}

8. Observabilité

# Voir les logs Cloud Run en temps réel
gcloud logging read \
  'resource.type="cloud_run_revision" AND resource.labels.service_name="my-api"' \
  --project=PROJECT_ID \
  --freshness=1h \
  --format="table(timestamp,jsonPayload.message)"

# Créer une alerte sur erreurs 5xx
gcloud monitoring policies create --policy-from-file=alert-5xx.yaml

Critères de décision rapides


Anti-patterns et pièges


Bonnes pratiques 2026