
Google Cloud Platform Regions, Deployment & Data Residency 2026
Cloud Run runs in all 43 Google Cloud regions, 20 of them lower-priced Tier 1. Each service is regional, so multi-region needs a global HTTPS load balancer.
Google Cloud Platform Regions & Deployment verdict
Cloud Run runs in all 43 Google Cloud regions, across 130 zones, one of the broadest reaches around.
Those regions split into 20 lower-priced Tier 1 and 23 Tier 2. Each service is regional and keeps its data in the region you choose.
Two things shape the setup. Each service is regional, so multi-region means running the same image in several regions behind a global external HTTPS load balancer. Scale-to-zero is the other, since idle secondary regions cold-start unless you hold a warm floor there. Pin the service to a Tier 1 region near your users for the lower rate. For EU residency, Belgium, the Netherlands or Paris sit in Tier 1. Keep min-instances at 1 or more in each region to avoid cold starts.
- Each Cloud Run service is regional. Multi-region needs several services behind a global external HTTPS load balancer.
- A service's data stays in its selected region, and scale-to-zero means secondary regions cold-start unless you set min-instances there. Detailed compliance certs live on Google Cloud's compliance pages, not the Cloud Run docs.
- 23 of the 43 regions are Tier 2 and cost more than Tier 1.
- Regions
- 43
- Zones
- 130
- Cloud Run regions
- 43
- EU regions
- 13
- Multi-region
- Global LB
This page covers where Cloud Run deploys and how residency works. Performance and pricing live on their own pages.
Pick your Google Cloud Platform region and deployment
14 regions across 6 continents · nearest failover us-east4 · residency: europe-west1, europe-west9, europe-west3 +1
Deploy a Cloud Run service to us-central1 with a warm floor.
gcloud run deploy my-service \
--image=us-docker.pkg.dev/myproject/repo/image:latest \
--region=us-central1 \
--cpu=2 --memory=4Gi \
--min-instances=1 --max-instances=100Each Cloud Run service is regional; for multi-region deploy the same image to several regions behind a global external HTTP(S) load balancer, keeping min-instances >= 1 per region to avoid cold starts. The nearest region above is a placement hint.
Real Google Cloud Platform regions and deployment commands. Confirm residency guarantees against your contract.
Deploy Cloud Run: service YAML and gcloud
The Knative service spec pins the region (cloud.googleapis.com/location), sets autoscaling (minScale/maxScale), startup CPU boost, container concurrency, request timeout and the container's CPU/memory limits. Apply it with gcloud run services replace service.yaml.
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: my-service
labels:
cloud.googleapis.com/location: us-central1
spec:
template:
metadata:
annotations:
autoscaling.knative.dev/minScale: '1'
autoscaling.knative.dev/maxScale: '100'
run.googleapis.com/startup-cpu-boost: 'true'
spec:
containerConcurrency: 80
timeoutSeconds: 300
containers:
- image: us-docker.pkg.dev/PROJECT/REPO/IMAGE:latest
ports:
- containerPort: 8080
resources:
limits:
cpu: '2'
memory: 4GiDeploy a container to a region in one command. --cpu and --memory size the instance, --concurrency sets max simultaneous requests, --min-instances and --max-instances bound scaling, and --cpu-boost (on by default) cuts cold starts.
gcloud run deploy my-service \
--image=us-docker.pkg.dev/myproject/myrepo/myimage:latest \
--region=us-central1 \
--cpu=2 \
--memory=4Gi \
--concurrency=80 \
--min-instances=1 \
--max-instances=100 \
--timeout=300 \
--cpu-boost \
--allow-unauthenticatedThe flags that govern placement and scaling. --region picks a single region; deploy the same image to several regions and front them with a global external HTTP(S) load balancer for multi-region. --execution-environment selects gen1 or gen2.
# Keep a warm floor and cap cost
gcloud run services update my-service \
--region=europe-west1 \
--min-instances=2 \
--max-instances=50 \
--concurrency=250
# Replace the full service from YAML
gcloud run services replace service.yaml --region=us-central1Cloud Run regions
| Region | Location | Pricing tier |
|---|---|---|
| us-central1 | Iowa, USA | Tier 1 |
| us-east4 | N. Virginia, USA | Tier 1 |
| us-west1 | Oregon, USA | Tier 1 |
| northamerica-northeast1 | Montreal, Canada | Tier 2 |
| southamerica-east1 | Sao Paulo, Brazil | Tier 2 |
| europe-west1 | Belgium | Tier 1 |
| europe-west9 | Paris, France | Tier 1 |
| europe-west3 | Frankfurt, Germany | Tier 2 |
| europe-west2 | London, UK | Tier 2 |
| asia-south1 | Mumbai, India | Tier 1 |
| asia-southeast1 | Singapore | Tier 2 |
| asia-northeast1 | Tokyo, Japan | Tier 1 |
| australia-southeast1 | Sydney, Australia | Tier 2 |
| africa-south1 | Johannesburg, South Africa | Tier 2 |
Google Cloud Platform footprint and region selection
| Aspect | Value | Notes |
|---|---|---|
| Global footprint | 43 regions / 130 zones | As of May 2026 |
| Cloud Run reach | All 43 regions | 20 Tier 1 + 23 Tier 2 |
| Service scope | Regional | Each Cloud Run resource resides in a region |
| Multi-region | Global external HTTP(S) LB | Serve from multiple regions behind one load balancer |
| Data residency | Stays in the region | Customer data stored in the selected region |
| Edge network | 200+ edge locations | Premium Network Service Tier |
Google Cloud Platform data residency and regions
| Control | Option | Notes |
|---|---|---|
| Data storage | In selected region | Per-service residency control |
| EU regions | 13 European regions | Belgium, Netherlands, Frankfurt, Paris, London, Madrid, Milan, Berlin, Turin, Zurich, Finland, Stockholm, Warsaw |
| EU Tier 1 (cheaper) | Belgium, Netherlands, Paris, Madrid, Finland, Stockholm | Lower-priced EU regions |
| Middle East | Tel Aviv, Doha, Dammam | me-west1, me-central1, me-central2 |
| Network tier | Premium Service Tier | Google global backbone for egress |
What to verify before you commit to Google Cloud Platform
- Each Cloud Run service is regional, so multi-region high availability requires deploying the service in several regions behind a global external HTTP(S) load balancer
- A service's customer data is stored in its selected region, which is the lever for data residency, but detailed compliance certifications are documented separately on Google Cloud's compliance pages
- Cloud Run scales to zero by default, so secondary regions cold-start on the first request unless you set a minimum number of warm instances per region
- Twenty-three of the 43 regions are Tier 2 and priced higher than the 20 Tier 1 regions, so region choice affects both latency and cost
Google Cloud Platform Regions & Deployment FAQ
How many regions does Cloud Run support?
All 43 Google Cloud regions, inside a 130-zone footprint, split into 20 lower-priced Tier 1 regions and 23 Tier 2. Coverage runs across the Americas, Europe and the Middle East into Asia, with points in Oceania and Africa. Each Cloud Run service runs in a single region, and its data is stored in that region.
How does multi-region work for Cloud Run?
Each service is regional, so you deploy the same container to several regions and put a global external HTTPS load balancer in front to send users to the nearest one. There is no single multi-region service object. Keep min-instances at 1 or more per region to avoid cold starts on the regions that get less traffic.
Does Cloud Run support EU data residency?
Yes. A service's customer data is stored in its selected region, and Cloud Run offers thirteen European regions: Belgium, Netherlands, Frankfurt, Paris, London, Madrid, Milan, Berlin, Turin, Zurich, Finland, Stockholm, Warsaw. Several sit in the lower-priced Tier 1. For detailed compliance certifications, see Google Cloud's compliance documentation.
What is the difference between Tier 1 and Tier 2 Cloud Run regions?
It is a pricing distinction. 20 regions are Tier 1 with lower per-second rates, and 23 are Tier 2 with higher rates. The functionality is identical. The choice affects cost, and depending on where your users are, latency. For cost-sensitive workloads pick the nearest Tier 1 region, such as us-central1, europe-west1 or asia-south1.
How do I pin a region and deploy on Cloud Run?
Set the region as a flag: gcloud run deploy my-service --image=IMAGE --region=us-central1 --cpu=2 --memory=4Gi --min-instances=1. You can also set it in the Knative service YAML through the cloud.googleapis.com/location label, then run gcloud run services replace service.yaml. The region is fixed per service, so another region means a separate service there.
Sources & verification
| Source | What was checked | Last checked |
|---|---|---|
| Google Official | Official product page | July 10, 2026 |
| Google About Locations | About Locations | July 10, 2026 |
| Google Reference Yaml | Yaml V1 | July 10, 2026 |
| Google Run Deploy | Run Deploy | July 10, 2026 |
| Google Run Locations | Run Locations | July 10, 2026 |
| Google Run Pricing | Pricing and plans | July 10, 2026 |
Every fact on this Google Cloud Platform page is tied to a named source and a verification date. Freshness-sensitive figures trace to the sources above; verify against the vendor before relying on them.
Explore Google Cloud Platform
Every page on Google Cloud Platform in one place, you are on regions & deployment.
Snapshot, score and verdict
You are here
Latency, throughput, uptime and behaviour under scale
Every tier and the entry price
Compared and ranked vs peers
Price and feature change history
Browse the full Cloud Hosting category
