GCP Regions and Zones
Regions, zones, and the zonal/regional/global distinction
GCP regions contain zones; resources are zonal, regional or global. Multi-zone placement gives HA; multi-region gives DR. Data residency is decided by where your buckets/DBs live.
What you will learn
- Explain GCP's region/zone hierarchy
- Classify resources as zonal, regional or global
- Use multi-zone and multi-region placement correctly
A region is a set of zones with low-latency links; resources are zonal (VM, disk), regional (regional disk, regional MIG) or global (Google Front End, Cloud DNS, global load balancing).
What is this?
Google Cloud runs on regions (e.g. us-central1, europe-west1) each containing multiple zones (e.g. us-central1-a/b/c). Compute Engine VMs are zonal; Persistent Disks can be zonal or regional (replicated across two zones within a region); Regional Instance Groups spread VMs across zones; Cloud Load Balancing is global (anycast over Google Front End). Multi-region only exists for some data services (storage multi-region buckets, Spanner instances). Data residency follows the resource placement.
Why do you need it?
- Zone placement is the free HA you forgot: an instance group across 3 zones survives zone loss.
- Regional vs global services change the latency story — global load balancing terminates at the nearest GFE.
- Residency obligations (GDPR etc.) are enforced by choice of region for your data stores.
- Multi-region storage buys durability across regions at a significantly higher cost.
Mental model
A metro's districts and emergency hospitals
GCP regions and zones
The metro (region) has districts (zones); each hospital covers its district. Post your workloads across districts so one blackout doesn't empty the whole show. Some services (global LB) are like the 911 dispatch — whatever nearest station answers.
How it works
- Choose a region for latency + residency; assets map to zonal/regional/global types.
- Zonal resources: VM, zonal disk, zonal MIG — live in exactly one zone.
- Regional resources: regional disk (sync replicate across zones), regional MIG (spreads instances).
- Global resources: global load balancers, Cloud DNS, CDN — reachable anywhere via GFE.
- Multi-region data stores: Storage 'multi-region' class, Spanner (multi-region configs) for global reads/writes.
Regional topology and resource scope.
In production
- A fintech runs a regional MIG in europe-west1 spanning 3 zones with a global external HTTP(S) load balancer.
- A content service uses a multi-region Storage class so the same object key resolves fast globally.
- A compliance-bound healthcare app pins its Cloud SQL and buckets to one region and uses regional disks.
Best practices
- Spread stateless compute across ≥3 zones inside one region via regional MIGs.
- Use regional persistent disks for stateful single writers; zonal for disposable state.
- Let Cloud Load Balancing be global unless strict residency demands otherwise.
- Keep data in-region if residency is a requirement; review before enabling multi-region.
Common mistakes
- Believing 'regional' means 'survives region loss' — only multi-region does.
- Spreading VMs but keeping the DB single-zone.
- Storing PHI in a multi-region bucket by inertia.
- Testing HA in one zone set and shipping in another.
Common issues
Instances all in one zone despite MIGMIG set with a single zonal instance template target
Check region's MIG spreading policy or use a regional MIG with distribution policies.
Global LB returns 502 for failing backendsBackend health check misconfigured or capacity exceeded
Verify the health check path/port and backend capacity balancing mode.
Debugging tips
- Latency variance? Measure from the user's region; GFE anycast skew is real for global LB.
- Zone failure partial: check instance group autohealing and regional disk availability.
- Residency audit: list bucket locations with gsutil ls -L and database locations.
Interview checkpoint
Quick quiz
Which is true of a regional managed instance group?