Skip to content

Commit e59bb00

Browse files
authored
Merge pull request #8161 from ovh/feat-databases-migration-3AZ
feat(databases): new guide about migration from 1AZ to 3AZ
2 parents 31cbf48 + e392030 commit e59bb00

14 files changed

+183
-0
lines changed

pages/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -876,6 +876,7 @@
876876
+ [Reversibility Policy for the Managed Message Broker product](account_and_service_management/reversibility/14-reversibility-mdb)
877877
+ [Reversibility Policy for the Managed Data Visualization product](account_and_service_management/reversibility/15-reversibility-obs-data-visualization)
878878
+ [Reversibility Policy for the product Managed Search Engine Software Platform](account_and_service_management/reversibility/22-SDB-opensearch-reversibility)
879+
+ [How to move a database service from a single AZ region to a 3-AZ region](public_cloud/public_cloud_databases/databases_19_migrate_from_1AZ_to_3AZ)
879880
+ [MongoDB](products/public-cloud-databases-mongodb)
880881
+ [Getting Started](public-cloud-databases-mongodb-getting-started)
881882
+ [MongoDB - Why MongoDB](public_cloud/public_cloud_databases/mongodb_17_why_mongodb)
Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
---
2+
title: "How to move a database service from a single AZ region to a 3-AZ region"
3+
excerpt: "Learn how to move your OVHcloud Public Cloud Database from a single AZ to a 3-AZ region and ensure high availability"
4+
updated: 2025-08-19
5+
---
6+
7+
## Objective
8+
9+
OVHcloud Public Cloud Databases can be deployed with different architectures to meet varied needs for availability and resilience. This guide is specifically designed to walk you through the migration of your existing database service from a single availability zone (1-AZ) configuration to a 3-AZ architecture (three availability zones). You'll discover the detailed steps to perform this transfer, ensuring high availability and improved fault tolerance for your critical applications.
10+
11+
## Requirements
12+
13+
- A [Public Cloud project](/links/public-cloud/public-cloud) in your OVHcloud account
14+
- Access to the [OVHcloud Control Panel](/links/manager) or to the [OVHcloud API](/links/api)
15+
- An existing database service deployed in a single availability zone (1-AZ)
16+
- A 3-AZ region activated within your Public Cloud project
17+
18+
## Why move to 3-AZ?
19+
20+
Migrating your database service to a 3-AZ deployment significantly enhances its resilience, high availability, and disaster recovery capabilities. In a 3-AZ setup, provided your service runs on multiple nodes, your data is synchronously replicated across three distinct availability zones within the same region. This architecture ensures that in the event of an outage in one zone, your database service can automatically failover to another operational zone with minimal downtime and no data loss.
21+
22+
For more detailed information on the deployment modes and their technical specifications, please refer to our dedicated guide: [Comparison of Public Cloud Databases Deployment Modes - Understanding 3-AZ / 1-AZ](/pages/public_cloud/public_cloud_databases/databases_18_regions_comparison).
23+
24+
Here is a list of currently supported 1-AZ and 3-AZ regions for database services:
25+
26+
![databases - datacentres](images/databases_datacentre.png){.thumbnail}
27+
28+
## Reversibility
29+
30+
The migration from a Single-AZ region to a Multi-AZ region is reversible — services can be migrated back to a Single-AZ region.
31+
32+
## Instructions
33+
34+
### Move a database service to 3-AZ
35+
36+
> [!tabs]
37+
> Via the OVHcloud Control Panel
38+
>> To move a database service from a 1-AZ to a 3-AZ region, log in to the [OVHcloud Control Panel](/links/manager) and open your Public Cloud project. Click `Databases`{.action} in the left navigation bar, select your database service then click the `Backups`{.action} tab.
39+
>>
40+
>> ![databases - select engines instances and go to the backups section](images/databases_select_cluster.png){.thumbnail}
41+
>>
42+
>> Choose the backup from which you wish to fork, click on the `...`{.action} button and click on the `Duplicate (fork)`{.action} button.
43+
>>
44+
>> ![databases - click on the duplicate button](images/databases_fork_backup.png){.thumbnail}
45+
>>
46+
>> The page that appears allows you to configure your service and choose the destination region.<br>
47+
>> Select the Restore point named `Backup`{.action}.
48+
>>
49+
>> ![databases fork - select backup for the restore point part](images/databases_fork_restore_point.png){.thumbnail}
50+
>>
51+
>> Select a `3-AZ region`{.action}.
52+
>>
53+
>> ![databases fork - select your 3-AZ region](images/databases_fork_region.png){.thumbnail}
54+
>>
55+
>> Select a service `plan`{.action}.
56+
>>
57+
>> ![databases fork - select your plan](images/databases_fork_plan.png){.thumbnail}
58+
>>
59+
>> Select the `instance`{.action} that will host the service.
60+
>>
61+
>> ![databases fork - select the instance](images/databases_fork_instance.png){.thumbnail}
62+
>>
63+
>> Select the `storage`{.action} capacity of the service.
64+
>>
65+
>> ![databases fork - select the storage](images/databases_fork_storage.png){.thumbnail}
66+
>>
67+
>> If needed, you can edit the connectivity settings, then verify the IP addresses to whitelist (the list is pre-filled by default with the origin service's configuration).
68+
>>
69+
>> ![databases fork - select optional fields](images/databases_fork_options.png){.thumbnail}
70+
>>
71+
>> When you have completed your configuration, review your order then click on the `Order`{.action} button.
72+
>>
73+
>> ![databases fork - review](images/databases_fork_summary.png){.thumbnail}
74+
>>
75+
> Via the OVHcloud API
76+
>>
77+
>> > [!primary]
78+
>> >
79+
>> > To interact with your Public Cloud Databases services via the OVHcloud API, make sure you've mastered the basics first by consulting our guide: [Public Cloud Databases - Getting started with APIs](/pages/public_cloud/public_cloud_databases/databases_02_order_api).
80+
>> >
81+
>>
82+
>> To find the backup ID of a service, use the following API call:
83+
>>
84+
>> > [!api]
85+
>> >
86+
>> > @api {v1} /cloud GET /cloud/project/{serviceName}/database/postgresql/{clusterId}/backup
87+
>> >
88+
>>
89+
>> This call retrieves the backup list of the concerned service. They are listed in order from the most recent backup to the oldest.
90+
>>
91+
>> If you want to check the information on a particular backup, you can use this API call:
92+
>>
93+
>> > [!api]
94+
>> >
95+
>> > @api {v1} /cloud GET /cloud/project/{serviceName}/database/postgresql/{clusterId}/backup/{backupId}
96+
>> >
97+
>>
98+
>> To create your new service from one backup, use the following API call:
99+
>>
100+
>> > [!api]
101+
>> >
102+
>> > @api {v1} /cloud POST /cloud/project/{serviceName}/database/postgresql
103+
>> >
104+
>>
105+
>> An example of a `body` for this API call:
106+
>>
107+
>> > [!warning]
108+
>> >
109+
>> > The field named `backup` is deprecated and replaced by `forkFrom`.
110+
>> >
111+
>>
112+
>> ```console
113+
>> {
114+
>> "description": "laughable-peebles", # Name of the new service
115+
>> "nodesPattern": { # Service configuration
116+
>> "flavor": "b3-8",
117+
>> "number": 2,
118+
>> "region": "EU-WEST-PAR"
119+
>> },
120+
>> "plan": "production", # Plan of the service
121+
>> "disk": {
122+
>> "size": 160 # Service disk size
123+
>> },
124+
>> "version": "17",
125+
>> "ipRestrictions": [ # Connectivity settings
126+
>> {
127+
>> "ip": "1.2.3.4/32",
128+
>> "description": ""
129+
>> }
130+
>> ],
131+
>> "forkFrom": {
132+
>> "serviceId": "********-****-****-****-ce179babccf3", # The identifier of the origin service to which this backup belongs
133+
>> "backupId": "********-****-****-****-3684de51065d" # The identifier of the previously retrieved backup
134+
>> }
135+
>> }
136+
>> ```
137+
>>
138+
139+
### Validate the deployment
140+
141+
After your new 3-AZ database service has been successfully provisioned, it's crucial to validate its deployment and ensure your applications can connect to it.
142+
143+
1. Test the connection to your new service:
144+
1. Use a database client (e.g., psql for PostgreSQL, mysql for MySQL) or a simple script to verify that you can connect to the new 3-AZ service's endpoint using its credentials.
145+
2. Confirm that your data has been successfully migrated and is accessible.
146+
2. Configure your application to use the new service:
147+
1. Update your application's configuration files or environment variables to point to the new 3-AZ database service's connection string (host, port, username, password).
148+
2. Restart your application to apply the changes.
149+
3. Thoroughly test your application's functionality to ensure it operates correctly with the new database endpoint.
150+
151+
### Clean up
152+
153+
Once you've fully validated that your application is working correctly with the new 3-AZ database service, and you're confident all data has been transferred and is accessible, you can proceed with deleting the old 1-AZ service.
154+
155+
This step is crucial to avoid unnecessary costs and maintain a clean infrastructure.
156+
157+
Follow these instructions to delete the old 1-AZ service:
158+
159+
> [!tabs]
160+
> Via the OVHcloud Control Panel
161+
>> Navigate to your list of database services, click on the `...`{.action} button on the service line and click on the `Delete`{.action} button to permanently delete the service.
162+
>>
163+
>> ![databases - delete the 1-AZ service](images/databases_delete_1az.png){.thumbnail}
164+
>>
165+
> Via the OVHcloud API
166+
>> To delete your service, use the following API call:
167+
>>
168+
>> > [!api]
169+
>> >
170+
>> > @api {v1} /cloud DEL /cloud/project/{serviceName}/database/postgresql/{clusterId}
171+
>> >
172+
>>
173+
174+
## We want your feedback!
175+
176+
We would love to help answer questions and appreciate any feedback you may have.
177+
178+
If you need training or technical assistance to implement our solutions, contact your sales representative or click on [this link](/links/professional-services) to get a quote and ask our Professional Services experts for a custom analysis of your project.
179+
180+
Are you on Discord? Connect to our channel at <https://discord.gg/ovhcloud> and interact directly with the team that builds our databases service!
44.9 KB
Loading
69.9 KB
Loading
75.7 KB
Loading
21.1 KB
Loading
25.8 KB
Loading
14.9 KB
Loading
31 KB
Loading
Loading

0 commit comments

Comments
 (0)