Based on my understanding, high availability in cloud sql is limited to the same region but across different zones. Is there any native way to achieve cross-region automatic failover?
Based on my analysis of the forum post and available documentation, the short answer is yes and no – it depends on which edition of Cloud SQL you are using.
The Short Answer
| Edition | Cross-Region Automatic Failover |
|---|---|
| Cloud SQL Enterprise (standard) | No – you must manually promote the read replica using gcloud sql instances promote-replica |
| Cloud SQL Enterprise Plus (premium) | Yes – supports advanced DR with failover and switchover capabilities |
What the Community Discussion Shows
The original post by “ttijes” correctly identifies the limitation: high availability in standard Cloud SQL is regional (across zones within the same region), not cross-regional. This is still true today for the Enterprise edition.
However, what the post doesn’t address is that Google Cloud has since introduced advanced disaster recovery features exclusively for the Enterprise Plus edition.
Cloud SQL Enterprise Plus: The Game Changer
If you upgrade to Enterprise Plus, you get true cross-region DR capabilities :
-
Automated failover – You can fail over from the primary instance to a cross-region DR replica. The application can still connect using the same write endpoint, which is automatically assigned to the new primary after failover .
-
Automatic IP re-pointing – No need to change connection strings in your application after failover .
-
Switchover capability – Allows planned, zero-data-loss role reversal between primary and DR replica (useful for DR testing) .
How to Set Up Cross-Region DR (Enterprise Plus Only)
Google Cloud’s documentation outlines the requirements for designating a cross-region read replica as a DR replica :
Requirements for the primary instance:
-
Must be Cloud SQL Enterprise Plus edition
-
Must have point-in-time recovery (PITR) enabled
Requirements for the DR replica:
-
Must be Cloud SQL Enterprise Plus edition
-
Must be in a different region than the primary
-
Must be a direct read replica (not cascading)
Sample command to create a DR-ready replica:
bash
gcloud sql instances create REPLICA_NAME \
--master-instance-name=PRIMARY_INSTANCE_NAME \
--region=REPLICA_REGION_NAME \
--database-version=POSTGRES_16 \
--tier=MACHINE_TYPE \
--availability-type=REGIONAL \
--edition="ENTERPRISE_PLUS"
For Standard Enterprise Edition Users (Your Current Situation)
If you are on standard Enterprise edition, cross-region failover is manual :
-
Detach the cross-region replica from the primary
-
Stop the primary instance (simulating failure)
-
Promote the replica to a standalone instance:
gcloud sql instances promote-replica -
Reconfigure your application’s connection string to point to the new primary
Architectural Best Practices
According to Google Cloud’s best practices :
-
Regional HA first – Enable regional HA (zonal failover) even if you have cross-region DR
-
Read replicas for scaling – Use read replicas to offload read traffic from the primary
-
Cascading replication – For multi-region topologies, consider cascading replicas to route read traffic away from write-heavy nodes
Global Payments, a real-world customer, uses this exact pattern with three regions, achieving near-zero downtime and sub-minute RTO .
Summary Table
| Feature | Cloud SQL Enterprise | Cloud SQL Enterprise Plus |
|---|---|---|
| Cross-region read replicas | ||
| Automatic cross-region failover | ||
| Same-write-endpoint after failover | ||
| Switchover (planned, zero data loss) | ||
| RTO/RPO | Minutes to hours (manual) | Sub-minute / near-zero |