GCP
Beginner 13 min read GCP

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.

GCP regionszonesmulti-regionzonal vs regionaldata residency
Before we start

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
In 60 seconds

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).

Introduction

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.

Motivation

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.
Think about it

Mental model

Imagine

A metro's districts and emergency hospitals

Think of

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.

Mechanics

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.

Region
Zone A
Zone B
Regional services
Global services
Real world

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.
Guidelines

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.
Watch out

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.
Root cause analysis

Common issues

Error
Instances all in one zone despite MIG
Root cause

MIG set with a single zonal instance template target

Fix

Check region's MIG spreading policy or use a regional MIG with distribution policies.

Error
Global LB returns 502 for failing backends
Root cause

Backend health check misconfigured or capacity exceeded

Fix

Verify the health check path/port and backend capacity balancing mode.

When things break

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.
Interviews

Interview checkpoint

Test yourself

Quick quiz

0/1
1

Which is true of a regional managed instance group?

Go deeper

Official documentation