# Unnecessary Dual-Region or Multi-Region Cloud Storage Buckets

Canonical: https://www.pointfive.co/efficiency-hub/inefficiencies/unnecessary-dual-region-or-multi-region-cloud-storage-buckets

Cloud Storage buckets are created in one of three location types: a single region, a dual-region, or a multi-region such as US or EU.

By: PointFive

Updated: 2026-09-28

[Cloud Efficiency Hub](https://www.pointfive.co/efficiency-hub) 

The short version

Cloud Storage buckets are created in one of three location types: a single region, a dual-region, or a multi-region such as US or EU.

PointFive Research

Cloud cost research at PointFive

GCP service

[GCP GCS](https://www.pointfive.co/efficiency-hub/cloud-services/gcp-gcs)

Category

[Storage](https://www.pointfive.co/efficiency-hub/service-category/storage)

Reference

CER-0473

Type

Suboptimal Tier or SKU

## Explanation

Why the waste happens and who it affects.

Dual-region and multi-region buckets store a geo-redundant copy of every object, and Google bills for that redundancy through a higher storage rate, inter-region replication charges on every write, and higher Class A operation rates. When a bucket holds data that is re-creatable, short-lived, or read only by compute in one region, that premium buys little.

The pattern is common because the location is chosen once, at bucket creation, and is often picked from a console default, a Terraform module, or a habit of using US or EU for everything. Build artifacts, pipeline staging and intermediate output, caches, log exports and scratch datasets end up geo-replicated even though losing a region would only mean regenerating them. Multi-region buckets add a second cost for regional compute: a region is not treated as the same location as a multi-region, so reads from VMs or GKE clusters in a single region are charged for data transfer.

## Billing model

The pricing dimensions that drive this cost.

Cloud Storage charges for storage, data processing and network usage, and the location type affects all three.

Storage by location type

Region has the lowest per-GiB storage price, multi-region is higher, and dual-region is highest because it is billed to both underlying regions

Inter-region replication

Billed per GiB for all data written to dual-region and multi-region buckets, including puts, rewrites and copies, and higher again with turbo replication

Operation charges

Class A operations on Standard storage cost twice as much per 1,000 in dual-region and multi-region buckets as in a single region

Multi-region read transfer

Reading from a multi-region bucket always incurs data transfer charges, because a region is not treated as the same location as a multi-region even when it lies inside it

## How to detect

5 checks to find it in your estate.

- List buckets and their locationType (region, dual-region or multi-region) with the Cloud Storage JSON API or gcloud, and rank the dual-region and multi-region ones by stored bytes

- In the Cloud Billing report or billing export, filter to Cloud Storage and group by SKU to see how much is spent on dual-region and multi-region storage, inter-region replication and data transfer from multi-region buckets

- For each large geo-redundant bucket, identify where readers and writers run; buckets accessed only by workloads in one region are candidates

- Flag buckets whose contents are re-creatable or short-lived, such as build artifacts, caches, staging and intermediate pipeline output, or temporary exports

- Check the rpo field for ASYNC\_TURBO on dual-region buckets that have no documented recovery point objective requiring turbo replication

## How to fix

5 ways to remove the waste.

- For re-creatable, short-lived or single-region data, move it to a regional bucket in the same region as the compute that uses it; Google's own guidance is to store short-lived datasets in regions to avoid replication charges

- Use bucket relocation to move an existing bucket to a region without changing its name; it requires Storage Intelligence and charges per GB moved, plus data transfer, operations and temporary double storage during the move

- Alternatively create a new regional bucket and copy data with Storage Transfer Service, then repoint applications; this changes the bucket name and incurs normal copy, operation and transfer charges

- Set turbo replication back to default where the 15-minute RPO is not a real requirement

- Keep dual-region or multi-region only where a documented availability or disaster recovery requirement justifies it, and record that requirement so the choice is reviewed rather than inherited

## Documentation

Vendor references for pricing and configuration.

- [Bucket locations  docs.cloud.google.com](https://docs.cloud.google.com/storage/docs/locations)

- [Storage pricing  cloud.google.com](https://cloud.google.com/storage/pricing)

- [Bucket relocation  docs.cloud.google.com](https://docs.cloud.google.com/storage/docs/bucket-relocation/overview)

- [Buckets  docs.cloud.google.com](https://docs.cloud.google.com/storage/docs/json_api/v1/buckets)

- [Optimize data and storage for sustainability  docs.cloud.google.com](https://docs.cloud.google.com/architecture/framework/sustainability/optimize-storage)

## Related inefficiencies

[Browse the library](https://www.pointfive.co/efficiency-hub)

- GCP GCS  CER-0336

### [Excessive API Request Cost Overhead from I/O-Intensive Workloads](https://www.pointfive.co/efficiency-hub/inefficiencies/excessive-api-request-costs-from-filesystem-style-access-on-gcs)

Google Cloud Storage exposes a flat namespace through an HTTP API, but many workloads consume it through filesystem-style abstractions - FUSE mounts, Hadoop/Spark connectors, or analytic engines that enumerate prefixes to discover state....

Storage

- GCP GCS  CER-0080

### [Over-Retained Noncurrent Object Versions in Versioned GCS Buckets](https://www.pointfive.co/efficiency-hub/inefficiencies/over-retained-exported-object-versions-in-gcs-versioning-buckets)

When GCS object versioning is enabled, every overwrite or delete operation creates a new noncurrent version. Without a lifecycle rule to manage old versions, they persist indefinitely. Over time, this results in: Accumulation of outdated...

Storage

- GCP GCS  CER-0117

### [Missing Autoclass on GCS Bucket](https://www.pointfive.co/efficiency-hub/inefficiencies/missing-autoclass-on-gcs-bucket)

Buckets without Autoclass enabled can accumulate infrequently accessed data in more expensive storage classes, inflating monthly costs. Enabling Autoclass allows GCS to automatically move objects to lower-cost tiers based on observed...

Storage

---
Source: the public page above. Product screenshots and illustrative interfaces are examples, not live customer data.

