Regional vs Multi-Regional Storage in GCP: Cost, Latency, Availability, and DR
Use a regional bucket when your workload runs in one region. Use multi-regional when you serve data to users across a continent. Use dual-region when you need disaster recovery with control over exactly which two regions store your data. That is the entire decision. The rest of this page explains the cost, latency, egress, and availability trade-offs behind it.
Simple explanation
Every Cloud Storage bucket has a location. The location determines where Google physically stores your data and how it is replicated. There are three location types:
- Regional: data lives in one GCP region, such as
us-central1. Replicated across zones within that region. - Dual-region: data lives in two specific regions you choose, such as
us-central1andus-east1. Replicated across both. - Multi-regional: data lives across multiple regions within a continent-scale area (
us,eu, orasia). Google chooses the specific regions.
Think of it like warehouses. Regional is one warehouse in one city: fast delivery nearby, but if it floods, your stock is stuck. Dual-region is two warehouses in two cities you pick: you know exactly where your inventory is, and either warehouse can cover if the other goes down. Multi-regional is a nationwide distribution network: the logistics company decides which warehouses to use, customers everywhere get fast delivery, but you don’t control which warehouse ships each order.
Regional is the cheapest and fastest for same-region workloads. Multi-regional is the most available and best for broad geographic serving. Dual-region sits in the middle: geographic redundancy with full control over data placement.
Quick decision checklist
- Do all your services (Compute Engine, BigQuery, Dataflow, Cloud Run) that access this data run in one region? → Regional.
- Must the data survive a full regional outage, and do you need to control exactly which two regions store it (compliance, data residency)? → Dual-region.
- Must the data survive a full regional outage, and you do not need control over specific regions? → Multi-regional.
- Is this data served to end users across a continent (static assets, CDN origin, public datasets)? → Multi-regional.
- Is this a backup or disaster recovery dataset where you need a guaranteed RPO? → Dual-region with turbo replication.
If none of these match, default to regional. It is cheaper and simpler, and you can always create a second bucket in another location for data that needs broader reach.
How it works
Regional buckets
A regional bucket stores all objects in one GCP region. Within that region, data is automatically replicated across multiple zones. This protects against a single zone failure. If one data centre goes down, the other zones in the region still serve your data. If the entire region fails, the data is unavailable until the region recovers.
Regional buckets have the lowest latency for services running in the same region. Data transfers between Cloud Storage and Compute Engine (or other GCP services) in the same region are free, with no egress charges.
Dual-region buckets
A dual-region bucket replicates data across two specific regions you select at creation time. If either region fails completely, the other region continues serving data. You control exactly which two regions store your data, making dual-region the right choice when data residency or compliance rules require knowing precisely where data lives.
By default, replication between the two regions is asynchronous. You can enable turbo replication for an additional cost, which guarantees newly written objects reach the second region within 15 minutes. This gives you a defined RPO for disaster recovery planning.
Multi-regional buckets
Multi-regional buckets store data across multiple regions within one of three continent-scale areas: us (United States), eu (European Union), or asia (Asia-Pacific). Google manages the specific regions and replication. You do not choose or see which regions hold your data.
When a client reads from a multi-regional bucket, Google’s infrastructure routes the request to a nearby region that holds a copy of the data. This is a best-effort optimisation, not a guarantee that every read hits the geographically closest region. Factors like load balancing and capacity influence routing.
Multi-regional provides the highest availability SLA among the three location types and the broadest geographic coverage with no configuration beyond choosing the continent area.
Google offers a bucket relocation feature for moving single-region buckets to a different single region. However, it supports only certain region pairs, may involve temporary access restrictions, and cannot convert between location types (regional to multi-regional or vice versa). Plan your bucket location carefully at creation time.
# Create a regional bucket in us-central1
gcloud storage buckets create gs://my-analytics-data \
--location=us-central1 \
--default-storage-class=STANDARD
# Create a dual-region bucket across two specific regions
gcloud storage buckets create gs://my-dr-data \
--location=us-central1+us-east1 \
--default-storage-class=STANDARD
# Create a multi-regional bucket spanning the US
gcloud storage buckets create gs://my-global-assets \
--location=us \
--default-storage-class=STANDARDRegional vs dual-region vs multi-regional comparison
| Dimension | Regional | Dual-Region | Multi-Regional |
|---|---|---|---|
| Data location | One specific region | Two specific regions you choose | Multiple regions within a continent area (Google chooses) |
| Zone failure protection | Yes | Yes | Yes |
| Full regional failure protection | No | Yes (survives loss of either region) | Yes (survives loss of at least one region) |
| Data residency control | High (you know the exact region) | High (you know the exact two regions) | Low (continent area only; Google picks the regions) |
| Availability SLA (Standard class) | 99.9% | 99.95% | 99.95% |
| Latency for same-region services | Lowest | Low (from the nearer of the two regions) | Low within the area, but serving region varies |
| Relative storage cost | Lowest (baseline) | ~20% more than regional | ~30% more than regional |
| Same-region egress to Compute Engine | Free (guaranteed) | Free if the VM is in one of the two bucket regions | Not guaranteed (depends on which region serves the request) |
| Turbo replication available | N/A | Yes (15-minute RPO guarantee) | No |
| Best for | Single-region workloads, analytics, co-located processing | DR, compliance, controlled geo-redundancy | Global content serving, CDN origin, public datasets |
Check the Cloud Storage pricing page for current per-GB rates, which vary by region.
When to use regional
Regional is the default choice for most workloads. Use it when:
- All services accessing the data run in one region. A BigQuery dataset and a Cloud Storage bucket in
us-central1transfer data between them without cross-region egress charges. A Dataflow pipeline reading from and writing to buckets in the same region keeps network costs at zero. - The data does not need to survive a full regional outage. Regional buckets are replicated across zones, so a single zone failure does not cause data loss. If your RTO tolerance allows waiting for a regional recovery, regional is sufficient.
- You want the lowest storage and egress cost. Regional is the cheapest location type, and same-region data transfers are free.
- Compliance requires data to stay in one specific region. If regulations require data to remain in
europe-west3(Frankfurt) and nowhere else, a regional bucket is the simplest way to enforce that.
When in doubt, start with regional. You can always create additional buckets in other locations later for data that needs broader reach. Going the other direction (multi-regional to regional) means creating a new bucket and migrating data.
Example: single-region analytics pipeline
Your pipeline ingests CSV files into a Cloud Storage bucket in us-central1. A Dataflow job in the same region reads those files, transforms them, and writes results to BigQuery (also in us-central1). Every data transfer is same-region and free. A multi-regional bucket here would cost more for storage and could introduce unpredictable egress charges with no benefit, since every consumer is in one region.
When to use dual-region
Dual-region is the right pick when you need geographic redundancy with full control over where data lives:
- Disaster recovery with a defined RPO. Enable turbo replication and you get a 15-minute RPO guarantee. If your primary region fails, the second region has your data, and you know exactly which region that is. This matters for disaster recovery plans with specific RTO/RPO targets.
- Data residency or compliance. GDPR, HIPAA, or industry rules may require you to know and audit exactly where data is stored. Dual-region lets you choose two specific regions (e.g.,
europe-west1andeurope-west4) so data stays within jurisdictional boundaries. - Controlled failover. In a multi-region architecture, dual-region buckets let you plan failover to a known location, unlike multi-regional where Google controls placement.
Example: backup and disaster recovery dataset
Your production database runs in europe-west1. Nightly exports land in a dual-region bucket with europe-west1 + europe-west4 and turbo replication enabled. If europe-west1 goes offline, your backups are accessible in europe-west4 within 15 minutes of the last write. You know exactly where that data is, which matters for your compliance team.
When to use multi-regional
Multi-regional works best when data needs to be available broadly and you do not need granular control over placement:
- Static assets served to users across a continent. Images, CSS, JS files, and media served from a
usmulti-regional bucket reach users across the United States with low latency. Pair the bucket with Cloud CDN for edge caching. - CDN origin buckets. A multi-regional bucket is a natural CDN origin because it has the highest availability SLA and geographic breadth within its continent area.
- Public datasets and shared resources. Data accessed by many different consumers in different regions benefits from multi-regional distribution.
- Maximum availability without configuration. Multi-regional Standard class has a 99.95% availability SLA, matching dual-region and higher than regional’s 99.9%. Google manages placement and replication automatically.
Example: global static assets and CDN origin
Your web application serves static files (images, fonts, compiled CSS/JS) to users across North America. A us multi-regional bucket stores these files. Cloud CDN caches them at edge locations. When a cache miss occurs, the CDN fetches from the multi-regional bucket, which serves from a nearby region within the US. Users get fast loads without you managing per-region buckets.
Example: compliance workload with data residency
A healthcare company must store patient records within the EU. A eu multi-regional bucket keeps data within European regions, satisfying the broad geographic requirement. If the company needs to know the exact regions (not just the continent), dual-region with two specific EU regions is the better choice. Multi-regional gives you continent-level control; dual-region gives you region-level control.
Cost and egress implications
Storage cost
Multi-regional storage costs roughly 30% more per GB than regional, with dual-region falling in between at roughly 20% more. For a 10 TB dataset, the monthly difference between regional and multi-regional adds up quickly. Check the Cloud Storage pricing page for current per-GB rates, which vary by specific region. See storage cost optimisation for strategies to reduce total storage spend regardless of location type.
Egress cost
Egress is often a bigger cost factor than storage itself. The key rules:
- Same-region egress is free. A Compute Engine VM in
us-central1reading from a Cloud Storage bucket inus-central1pays no network egress. This is the biggest cost advantage of regional buckets for single-region workloads. - Multi-regional egress is unpredictable for single-region consumers. When a VM in
us-central1reads from ausmulti-regional bucket, Google decides which underlying region serves the request. If data happens to be served fromus-central1, no egress is charged. If it comes from another region, cross-region egress applies. You cannot control this. For workloads that read frequently from one region, a regional bucket avoids this uncertainty entirely. - Cross-region egress always costs money. Reading from a bucket in
us-central1to a VM ineurope-west1incurs intercontinental egress charges regardless of location type. - BigQuery location matching. BigQuery can read from Cloud Storage in the same location without data transfer charges for the load or query operation. Keep your BigQuery datasets and Cloud Storage buckets in the same location. The exact billing rules depend on the operation type. Check GCP documentation for current specifics rather than assuming all same-location transfers are free in all scenarios.
Multi-regional egress is the most common surprise on Cloud Storage bills. If your workloads run in one region, a regional bucket guarantees free same-region egress. A multi-regional bucket does not. The storage premium is obvious at ~30%. The egress premium is hidden until you read the invoice.
Location type and storage class are independent
Location type (where data is stored) is separate from storage class (how often it is accessed). You can combine any location type with any storage class: a multi-regional Archive bucket for rarely accessed global data, or a regional Standard bucket for hot data in one region. Use lifecycle rules to transition objects between storage classes automatically as they age.
Common mistakes
- Paying for multi-regional when all workloads are in one region. A
usmulti-regional bucket used exclusively by services inus-central1costs ~30% more for storage and may incur surprise egress charges, with zero availability or latency benefit for that workload. Use a regional bucket co-located with your services instead. - Using a regional bucket to serve global users. Serving images or static files from a single-region bucket to users worldwide means high latency for everyone far from that region. Multi-regional plus Cloud CDN is the standard pattern for global content.
- Thinking regional buckets have no redundancy. Regional buckets replicate data across multiple zones within the region. A zone failure does not cause data loss. Regional only fails to protect against a full regional outage, which is rare.
- Ignoring egress costs in the location decision. Storage cost gets the attention, but egress from misplaced buckets can dwarf the storage premium. A workload reading tens of terabytes per month from a cross-region bucket generates significant egress charges. Co-locate buckets with the services that read from them.
- Assuming bucket location can never change. Google’s bucket relocation feature now allows moving single-region buckets to a different single region, but it is conditional. It supports only certain region pairs, may involve temporary access restrictions, and cannot convert a regional bucket to multi-regional or vice versa. Plan location carefully upfront rather than relying on relocation as a safety net.
- Choosing multi-regional for disaster recovery without checking RPO. Multi-regional replicates data asynchronously with no published RPO guarantee. Recently written objects may not exist in all regions yet. If your DR plan requires a defined RPO, use dual-region with turbo replication (15-minute RPO guarantee) instead.
Scenario summary
| Workload | Recommended location type | Why |
|---|---|---|
| Analytics pipeline (Dataflow + BigQuery in one region) | Regional | Same-region egress is free, lowest storage cost |
| Nightly database backups with DR requirement | Dual-region + turbo replication | Known failover region, 15-minute RPO guarantee |
| Static website assets served across a continent | Multi-regional | Broad geographic serving, highest availability |
| GDPR-regulated data that must stay in two specific EU regions | Dual-region | Full control over exactly which regions store data |
| Build artifacts used by CI/CD in one region | Regional | Co-located with build runners, cheapest option |
| Public dataset served to researchers globally | Multi-regional | Broad access, no single-region bias |
Summary
- Regional: cheapest, fastest for same-region workloads, free same-region egress. The default choice for most buckets.
- Dual-region: controlled geo-redundancy across two specific regions you pick. Supports turbo replication for a 15-minute RPO. Best for DR and compliance.
- Multi-regional: broadest geographic availability across a continent area. Best for global content serving and CDN origins.
- The storage cost difference is ~30% between regional and multi-regional, but egress costs from misplaced buckets can be much larger.
- Multi-regional replicates asynchronously with no published RPO. If you need a guaranteed RPO, use dual-region with turbo replication.
Frequently asked questions
What is the difference between regional and multi-regional Cloud Storage?
Regional stores data in one GCP region (e.g., us-central1). Multi-regional stores data across multiple regions within a continent-scale area (US, EU, or Asia). Regional is cheaper, has the lowest latency for same-region services, and guarantees free same-region egress. Multi-regional provides higher availability and survives a full regional outage, but costs roughly 30% more and does not guarantee free egress to any specific region.
Can you change a Cloud Storage bucket's location after creation?
Historically, no. Bucket location was permanent. Google now offers a bucket relocation feature, but it is limited. It works only for single-region to single-region moves, supports only certain regions, and may involve downtime or restrictions during the move. For most cases, plan your bucket location carefully upfront, or use Storage Transfer Service to copy data to a new bucket in the desired location.
When should I use dual-region instead of multi-regional?
Use dual-region when you need geographic redundancy but must control exactly which two regions store your data. For example, to meet GDPR or data residency requirements. Multi-regional lets Google choose the specific regions within a continent area, giving you less control. Dual-region also supports turbo replication with a 15-minute RPO guarantee, which multi-regional does not offer.
Do I pay egress when a multi-regional bucket serves data to a VM in one region?
It depends on where Google routes the read. With a regional bucket co-located with your VM, same-region egress is always free. With a multi-regional bucket, Google decides which underlying region serves each request. If the serving region happens to match your VM's region, egress is free, but you cannot guarantee this. Regional buckets eliminate this ambiguity.
Does multi-regional Cloud Storage guarantee zero RPO?
No. Multi-regional storage replicates data asynchronously across regions. There is a small window after a write where the data may not yet exist in all regions. Google does not publish a specific RPO guarantee for standard multi-regional replication. If you need a defined RPO, use dual-region with turbo replication, which guarantees replication to the second region within 15 minutes.