Managing multiple regions
Use the DevOps API to add or remove regions for your database.
The following roles use the application token to execute DevOps API queries:
-
Organization Administrator
-
Database Administrator
Prerequisites
-
An active Astra account.
-
An organization with a paid subscription plan. Multi-region databases are a premium feature.
-
An application token to authenticate your service account in the DevOps API. After you have authenticate your service account, you can add and remove regions in the DevOps API.
Adding a region to your database
-
Check existing regions for your database:
-
cURL command (/v2)
-
Result
curl --request GET \ --url 'https://api.astra.datastax.com/v2/databases/<databaseID>/datacenters' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <application_token>'
{ "id": "1234-5678-91011121-3141", "name": "dc-1234-5678-91011121-3141", "tier": "Classic", "cloudProvider": "GCP", "region": "europe-west1", "regionZone": "emea", "regionClassification": "standard", "capacityUnits": 1, "studioUrl": "http://path-to-studio:port", "grafanaUrl": "http://path-to-grafana:port", "cqlshUrl": "http://path-to-cqlsh:port/cqlsh", "graphqlUrl": "http://path-to-graqphl:port/api/graphql", "dataEndpointUrl": "http://path-to-dataendpoint:port/api/rest", "secureBundleUrl": "http://s3-signed-bundle-url", "secureBundleInternalUrl": "http://s3-signed-internal-bundle-url", "secureBundleMigrationProxyUrl": "http://s3-signed-proxy-bundle-url", "secureBundleMigrationProxyInternalUrl": "http://s3-signed-proxy-internal-bundle-url" }
-
-
Add a new region to your database:
-
cURL command (/v2)
curl --request POST \ --url 'https://api.astra.datastax.com/v2/databases/<databaseID>/datacenters' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <application_token>' \ --data '{ "tier": "Classic", "cloudProvider": "<cloudProvider>", "region": "<region>", }'
-
-
Confirm your region was added to the database:
-
cURL command (/v2)
-
Result
curl --request GET \ --url 'https://api.astra.datastax.com/v2/databases/<databaseID>/datacenters' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <application_token>'
[ { "id": "1234-5678-91011121-3141", "name": "dc-1234-5678-91011121-3141", "tier": "Classic", "cloudProvider": "GCP", "region": "europe-west1", "regionZone": "emea", "regionClassification": "standard", "capacityUnits": 1, "studioUrl": "http://path-to-studio:port", "grafanaUrl": "http://path-to-grafana:port", "cqlshUrl": "http://path-to-cqlsh:port/cqlsh", "graphqlUrl": "http://path-to-graqphl:port/api/graphql", "dataEndpointUrl": "http://path-to-dataendpoint:port/api/rest", "secureBundleUrl": "http://s3-signed-bundle-url", "secureBundleInternalUrl": "http://s3-signed-internal-bundle-url", "secureBundleMigrationProxyUrl": "http://s3-signed-proxy-bundle-url", "secureBundleMigrationProxyInternalUrl": "http://s3-signed-proxy-internal-bundle-url" } { "id": "9364-1208-04716476-8536", "name": "dc-9364-1208-04716476-8536", "tier": "Classic", "cloudProvider": "GCP", "region": "us-east1", "regionZone": "na", "regionClassification": "standard", "capacityUnits": 1, "studioUrl": "http://path-to-studio:port", "grafanaUrl": "http://path-to-grafana:port", "cqlshUrl": "http://path-to-cqlsh:port/cqlsh", "graphqlUrl": "http://path-to-graqphl:port/api/graphql", "dataEndpointUrl": "http://path-to-dataendpoint:port/api/rest", "secureBundleUrl": "http://s3-signed-bundle-url", "secureBundleInternalUrl": "http://s3-signed-internal-bundle-url", "secureBundleMigrationProxyUrl": "http://s3-signed-proxy-bundle-url", "secureBundleMigrationProxyInternalUrl": "http://s3-signed-proxy-internal-bundle-url" } ]
-
Delete a region from your database
The information on the Connect page for your database is region-specific.
Removing a region is not reversible. Proceed with caution. |
-
Check existing regions for your database:
-
cURL command (/v2)
-
Result
curl --request GET \ --url 'https://api.astra.datastax.com/v2/databases/<databaseID>/datacenters' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <application_token>'
[ { "id": "1234-5678-91011121-3141", "name": "dc-1234-5678-91011121-3141", "tier": "Classic", "cloudProvider": "GCP", "region": "europe-west1", "regionZone": "emea", "regionClassification": "standard", "capacityUnits": 1, "studioUrl": "http://path-to-studio:port", "grafanaUrl": "http://path-to-grafana:port", "cqlshUrl": "http://path-to-cqlsh:port/cqlsh", "graphqlUrl": "http://path-to-graqphl:port/api/graphql", "dataEndpointUrl": "http://path-to-dataendpoint:port/api/rest", "secureBundleUrl": "http://s3-signed-bundle-url", "secureBundleInternalUrl": "http://s3-signed-internal-bundle-url", "secureBundleMigrationProxyUrl": "http://s3-signed-proxy-bundle-url", "secureBundleMigrationProxyInternalUrl": "http://s3-signed-proxy-internal-bundle-url" } { "id": "9364-1208-04716476-8536", "name": "dc-9364-1208-04716476-8536", "tier": "Classic", "cloudProvider": "GCP", "region": "us-east1", "regionZone": "na", "regionClassification": "standard", "capacityUnits": 1, "studioUrl": "http://path-to-studio:port", "grafanaUrl": "http://path-to-grafana:port", "cqlshUrl": "http://path-to-cqlsh:port/cqlsh", "graphqlUrl": "http://path-to-graqphl:port/api/graphql", "dataEndpointUrl": "http://path-to-dataendpoint:port/api/rest", "secureBundleUrl": "http://s3-signed-bundle-url", "secureBundleInternalUrl": "http://s3-signed-internal-bundle-url", "secureBundleMigrationProxyUrl": "http://s3-signed-proxy-bundle-url", "secureBundleMigrationProxyInternalUrl": "http://s3-signed-proxy-internal-bundle-url" } ]
-
-
Delete a region from your database:
-
cURL command (/v2)
curl --request DELETE \ --url 'https://api.astra.datastax.com/v2/databases/<databaseID>/datacenters/<datacenterID>/terminate' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <application_token>'
-
-
Confirm your region was removed from your database:
-
cURL command (/v2)
-
Result
curl --request GET \ --url 'https://api.astra.datastax.com/v2/databases/<databaseID>/datacenters' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <application_token>'
{ "id": "1234-5678-91011121-3141", "name": "dc-1234-5678-91011121-3141", "tier": "Classic", "cloudProvider": "GCP", "region": "europe-west1", "regionZone": "emea", "regionClassification": "standard", "capacityUnits": 1, "studioUrl": "http://path-to-studio:port", "grafanaUrl": "http://path-to-grafana:port", "cqlshUrl": "http://path-to-cqlsh:port/cqlsh", "graphqlUrl": "http://path-to-graqphl:port/api/graphql", "dataEndpointUrl": "http://path-to-dataendpoint:port/api/rest", "secureBundleUrl": "http://s3-signed-bundle-url", "secureBundleInternalUrl": "http://s3-signed-internal-bundle-url", "secureBundleMigrationProxyUrl": "http://s3-signed-proxy-bundle-url", "secureBundleMigrationProxyInternalUrl": "http://s3-signed-proxy-internal-bundle-url" }
-