Overview
Cloud SQL supports regional endpoints for Admin APIs. This feature enhances data residency for data in-transit and improves regional reliability.
There are two options for routing Cloud SQL Admin API requests:
- Through the global endpoint, which routes the requests through a global load balancer before they reach the appropriate region.
- Through regional endpoints, which let you direct your API calls to a region-specific endpoint where they're handled by that region's frontend infrastructure. This improves data locality and helps meet strict compliance expectations.
| Endpoint Type | URL Format | Example | Use Case |
|---|---|---|---|
| Global | sqladmin.googleapis.com |
sqladmin.googleapis.com |
Managing resources globally across multiple regions. |
| Regional | sqladmin.{region}.rep.googleapis.com |
sqladmin.us-central1.rep.googleapis.com |
Provides strict data residency at the frontend level. |
Supported regions
| Region | API |
|---|---|
| africa-south1 | sqladmin.africa-south1.rep.googleapis.com |
| asia-east1 | sqladmin.asia-east1.rep.googleapis.com |
| asia-east2 | sqladmin.asia-east2.rep.googleapis.com |
| asia-northeast1 | sqladmin.asia-northeast1.rep.googleapis.com |
| asia-northeast2 | sqladmin.asia-northeast2.rep.googleapis.com |
| asia-northeast3 | sqladmin.asia-northeast3.rep.googleapis.com |
| asia-south1 | sqladmin.asia-south1.rep.googleapis.com |
| asia-south2 | sqladmin.asia-south2.rep.googleapis.com |
| asia-southeast1 | sqladmin.asia-southeast1.rep.googleapis.com |
| asia-southeast2 | sqladmin.asia-southeast2.rep.googleapis.com |
| asia-southeast3 | sqladmin.asia-southeast3.rep.googleapis.com |
| australia-southeast1 | sqladmin.australia-southeast1.rep.googleapis.com |
| australia-southeast2 | sqladmin.australia-southeast2.rep.googleapis.com |
| europe-central2 | sqladmin.europe-central2.rep.googleapis.com |
| europe-north1 | sqladmin.europe-north1.rep.googleapis.com |
| europe-north2 | sqladmin.europe-north2.rep.googleapis.com |
| europe-southwest1 | sqladmin.europe-southwest1.rep.googleapis.com |
| europe-west1 | sqladmin.europe-west1.rep.googleapis.com |
| europe-west10 | sqladmin.europe-west10.rep.googleapis.com |
| europe-west12 | sqladmin.europe-west12.rep.googleapis.com |
| europe-west2 | sqladmin.europe-west2.rep.googleapis.com |
| europe-west3 | sqladmin.europe-west3.rep.googleapis.com |
| europe-west4 | sqladmin.europe-west4.rep.googleapis.com |
| europe-west6 | sqladmin.europe-west6.rep.googleapis.com |
| europe-west8 | sqladmin.europe-west8.rep.googleapis.com |
| europe-west9 | sqladmin.europe-west9.rep.googleapis.com |
| me-central1 | sqladmin.me-central1.rep.googleapis.com |
| me-central2 | sqladmin.me-central2.rep.googleapis.com |
| me-west1 | sqladmin.me-west1.rep.googleapis.com |
| northamerica-northeast1 | sqladmin.northamerica-northeast1.rep.googleapis.com |
| northamerica-northeast2 | sqladmin.northamerica-northeast2.rep.googleapis.com |
| northamerica-south1 | sqladmin.northamerica-south1.rep.googleapis.com |
| southamerica-east1 | sqladmin.southamerica-east1.rep.googleapis.com |
| southamerica-west1 | sqladmin.southamerica-west1.rep.googleapis.com |
| us-central1 | sqladmin.us-central1.rep.googleapis.com |
| us-central2 | sqladmin.us-central2.rep.googleapis.com |
| us-east1 | sqladmin.us-east1.rep.googleapis.com |
| us-east4 | sqladmin.us-east4.rep.googleapis.com |
| us-east5 | sqladmin.us-east5.rep.googleapis.com |
| us-west1 | sqladmin.us-west1.rep.googleapis.com |
| us-west2 | sqladmin.us-west2.rep.googleapis.com |
| us-west3 | sqladmin.us-west3.rep.googleapis.com |
| us-west4 | sqladmin.us-west4.rep.googleapis.com |
| us-west8 | sqladmin.us-west8.rep.googleapis.com |
Regional endpoint differences from the global endpoint
When migrating to regional endpoints, be aware of the following behavior changes compared to the global endpoint:
Strict region matching
Regional endpoints enforce strict region boundaries. If you send an API request
such as INSERT, UPDATE, PATCH, DELETE, or GET to a regional
endpoint, then the target resource defined in your request body must match the
region of the endpoint.
Behavior: If the region in the endpoint and the region in the request don't match, then the request is rejected with a 4xx error.
Instance.List behavior
When using the Instance.List API:
- The global endpoint queries and returns instances across all regions where the user has resources.
- A regional endpoint only lists instances that exist within that specific region.
v1 example (Regional):
GET https://sqladmin.{region}.rep.googleapis.com/v1/projects/{project}/instances
v1beta4 example (Regional):
GET https://sqladmin.{region}.rep.googleapis.com/sql/v1beta4/projects/{project}/instances
Backups and disaster recovery
For backups, regional endpoints behave the same way as the global endpoint, with no change in behavior, which means that you can use them to access backups for disaster recovery (DR) scenarios involving cross-region restores,
However, because backups are treated as global resources to ensure that they can be restored across regions during a single-region outage, we strongly recommend that you use the global endpoint rather than regional endpoints for accessing backups.
Global API example:
GET https://sqladmin.googleapis.com/v1/projects/{project}/backups
Regional API example:
GET https://sqladmin.{region}.rep.googleapis.com/v1/projects/{project}/backups
Use regional endpoints in API requests
Authentication methods (such as Bearer tokens), API paths, request bodies, and API versions remain completely unchanged when using regional endpoints.
To make a request to a regional endpoint using curl or a custom HTTP client,
replace the global base URL (sqladmin.googleapis.com) with a specific regional
base URL (like sqladmin.us-west1.rep.googleapis.com).
Examples using curl
Global API example
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" https://sqladmin.googleapis.com/v1/projects/{project}/instances
Regional API example (us-central1)
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" https://sqladmin.us-central1.rep.googleapis.com/v1/projects/{project}/instances
Use manual overrides for gcloud CLI and Terraform
You can use Cloud SQL regional endpoints with
the gcloud CLI and Terraform by using a manual configuration override
that explicitly directs the tool to your specific regional URL
(sqladmin.{region}.rep.googleapis.com).
Example gcloud CLI override:
gcloud config set api_endpoint_overrides/sql https://sqladmin.us-central1.rep.googleapis.com/
Example Terraform override:
export GOOGLE_SQL_CUSTOM_ENDPOINT="https://sqladmin.us-central1.rep.googleapis.com/sql"
Limitations
Cloud SQL regional endpoints has the following limitations.
Regional boundary restrictions: Cloud SQL regional endpoints enforce strict matching. The region of the target API resource must match the region of the endpoint exactly. Otherwise, the request is rejected with a
4xxerror.Restricted API visibility: when you use a regional endpoint, the
Instance.ListAPI only returns resources located within that specific region.Limited network support: access to a Cloud SQL Admin API regional endpoint is restricted to public network connections only. You can't connect to a regional endpoint from a Virtual Private Cloud network or a private network connection.
No multi-regional support: multi-regional endpoints, which are endpoints that are include multiple regions (for example,
us.rep.googleapis.com), aren't supported.Backend dependencies: although the frontend of the Cloud SQL Admin API is regionalized, certain backend dependencies of the API and metadata can still rely on global components.
Manual tooling configuration: built-in support isn't provided for the gcloud CLI and Terraform. You must use configuration overrides to use regional endpoints with the gcloud CLI and Terraform.
Google Cloud console and Kubernetes Config Connector support: there isn't support for regional endpoints within the Google Cloud console or Config Connector.
Backup and recovery: backups are treated as global resources to help ensure that they can be restored across regions. While you can create backups using regional endpoints for disaster recovery, we recommend that you continue to use the global endpoint for creating and restoring backups to avoid complications.
Cloud SQL remote MCP server doesn't support regional endpoints: you can't use regional endpoints to access the remote Cloud SQL MCP server. Connect using the global endpoint,
https://sqladmin.googleapis.com/mcp. For more information about the remote Cloud SQL MCP server, see Use the Cloud SQL remote MCP server.