Retour au cours

GCP Cloud Architect - Cheatsheet

gcloud CLI Essentials

# Configuration
gcloud init
gcloud config set project PROJECT_ID
gcloud config set compute/region europe-west1
gcloud auth application-default login

# Info
gcloud config list
gcloud projects list
gcloud compute regions list
gcloud services list --enabled

Compute Engine

# Creer VM
gcloud compute instances create NAME \
    --zone=ZONE \
    --machine-type=e2-medium \
    --image-family=debian-11 \
    --image-project=debian-cloud

# Types de machines
E2: General purpose (cout optimise)
N2: Workloads equilibres
C2: Compute-intensive
M2: Memory-intensive
A2: GPU (ML/AI)

GKE

# Cluster Autopilot (recommande)
gcloud container clusters create-auto NAME \
    --region=REGION

# Standard cluster
gcloud container clusters create NAME \
    --num-nodes=3 \
    --enable-autoscaling \
    --min-nodes=1 --max-nodes=5

# Credentials
gcloud container clusters get-credentials NAME

Cloud Run

# Deployer
gcloud run deploy SERVICE \
    --image=IMAGE \
    --region=REGION \
    --allow-unauthenticated

# Traffic splitting
gcloud run services update-traffic SERVICE \
    --to-revisions=REV1=90,REV2=10

VPC & Networking

# VPC
gcloud compute networks create VPC \
    --subnet-mode=custom

# Subnet
gcloud compute networks subnets create SUBNET \
    --network=VPC \
    --region=REGION \
    --range=10.0.0.0/20

# Firewall
gcloud compute firewall-rules create RULE \
    --network=VPC \
    --allow=tcp:80,tcp:443 \
    --source-ranges=0.0.0.0/0

Load Balancing

TypeScopeUsage
Global HTTP(S)GlobalWeb apps
Regional HTTP(S)RegionalCompliance
TCP/UDP NetworkRegionalGaming
Internal HTTP(S)RegionalMicroservices

Cloud Storage

# Bucket
gsutil mb -l REGION gs://BUCKET

# Upload/Download
gsutil cp FILE gs://BUCKET/
gsutil cp gs://BUCKET/FILE ./

# Sync
gsutil rsync -r ./DIR gs://BUCKET/DIR
ClasseMinUsage
Standard-Frequent
Nearline30j1x/mois
Coldline90j1x/trim
Archive365j1x/an

Databases

ServiceTypeScale
Cloud SQLRDBMSVertical
SpannerNewSQL GlobalHorizontal
FirestoreDocumentAuto
BigtableWide-columnNodes
BigQueryData WarehouseServerless

IAM

# Ajouter binding
gcloud projects add-iam-policy-binding PROJECT \
    --member="user:EMAIL" \
    --role="ROLE"

# Roles recommandes
roles/viewer         # Lecture
roles/editor         # Modification (eviter)
roles/owner          # Admin (eviter)
roles/SERVICE.ROLE   # Predefinis (utiliser)

Service Accounts

# Creer
gcloud iam service-accounts create NAME

# Workload Identity (GKE)
gcloud iam service-accounts add-iam-policy-binding \
    SA@PROJECT.iam.gserviceaccount.com \
    --role=roles/iam.workloadIdentityUser \
    --member="serviceAccount:PROJECT.svc.id.goog[NS/KSA]"

Secret Manager & KMS

# Secret
gcloud secrets create NAME
echo "value" | gcloud secrets versions add NAME --data-file=-
gcloud secrets versions access latest --secret=NAME

# KMS
gcloud kms keyrings create RING --location=LOC
gcloud kms keys create KEY --keyring=RING \
    --location=LOC --purpose=encryption

Monitoring & Logging

4 Golden Signals

  • Latency - Temps de reponse
  • Traffic - Requetes/sec
  • Errors - Taux d'erreur
  • Saturation - CPU/Mem usage
# Logs query
resource.type="gce_instance"
severity>=ERROR

Pub/Sub & Dataflow

# Pub/Sub
gcloud pubsub topics create TOPIC
gcloud pubsub subscriptions create SUB --topic=TOPIC
gcloud pubsub topics publish TOPIC --message="msg"

# Dataflow: Apache Beam runner
# Pipeline: Read -> Transform -> Write

Pricing

RemiseReductionEngagement
Sustained Use~30%Auto
CUD 1 an~37%1 an
CUD 3 ans~57%3 ans
Spot VMs60-91%Preemptible

Well-Architected Framework

  • Excellence operationnelle - Automatisation, CI/CD
  • Securite - IAM, encryption, audit
  • Fiabilite - HA, DR, SLOs
  • Performance - Scaling, caching
  • Optimisation couts - Right-sizing, CUDs
  • Durabilite - Green regions

App Engine

# Deployer
gcloud app deploy app.yaml

# Traffic splitting
gcloud app services set-traffic default \
    --splits=v1=90,v2=10

# Standard: scale-to-zero, ms startup
# Flexible: custom Docker, VPC access
# 1 app par projet uniquement

Cloud DNS & Network Tiers

# Zone DNS
gcloud dns managed-zones create ZONE \
    --dns-name="example.com." \
    --visibility=public

# Enregistrement
gcloud dns record-sets create www.example.com. \
    --zone=ZONE --type=A --rrdatas="IP"

# Network Tiers
Premium: reseau prive Google, LB global
Standard: Internet public, ~30% moins cher

Memorystore

# Redis (recommande)
gcloud redis instances create CACHE \
    --size=5 --region=REGION \
    --tier=standard --redis-version=redis_7_0

# Redis: structures riches, persistence, HA
# Memcached: simple K/V, multi-thread
# Accessible uniquement via VPC

Cloud Composer

# Environnement Airflow manage
gcloud composer environments create ENV \
    --location=REGION \
    --image-version=composer-2.x-airflow-2.x

# DAG = workflow (Python)
# Operators: BigQuery, Dataflow, GCS...
# Cher: preferer Cloud Workflows si simple

SLO / SLI / SLA

ConceptDefinition
SLIMetrique mesuree
SLOCible interne (ex: 99.9%)
SLAContrat client (< SLO)
Error Budget1 - SLO = marge erreur

SLO 99.9% = 43min downtime/mois

Migration (6 R)

StrategieEffort
Rehost (Lift&Shift)Faible
ReplatformMoyen
RefactorEleve
Repurchase (SaaS)Variable
RetireFaible
RetainNul
Outils: Migrate to VMs, DB Migration Service,
Transfer Appliance (>20TB physique)

Disaster Recovery

PatternRPORTO
ColdHeuresHeures+
WarmMinutesMinutes
HotSecondesSecondes
RPO = perte de donnees max
RTO = temps de recovery max
Testez votre DR regulierement!

Certification Tips

  • 100% questions scenario-based
  • 4 case studies: EHR Healthcare, Helicopter Racing, Mountkirk Games, TerramEarth
  • Focus sur le "pourquoi" pas le "comment"
  • Penser securite et cout en premier
  • Connaitre les trade-offs entre services
  • SLA client < SLO interne toujours