Skip to content

Commit 0723131

Browse files
committed
feat(databases): new guide about migration from 1AZ to 3AZ
1 parent 763d15f commit 0723131

File tree

2 files changed

+173
-0
lines changed

2 files changed

+173
-0
lines changed
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
---
2+
title: "How to move a database service from a Single AZ region to a 3AZ region."
3+
excerpt: "Learn to move your OVHcloud Public Cloud Database from a Single AZ to a 3AZ region. Ensure high availability."
4+
updated: 2025-07-14
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 (1AZ) configuration to a Three Availability Zone (3AZ) architecture. 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+
- Have an existing database service deployed in a Single Availability Zone (1AZ).
16+
- Have a 3AZ region activated within your Public Cloud project.
17+
18+
## Why move to 3AZ ?
19+
20+
Migrating your database service to a Three Availability Zone (3AZ) deployment significantly enhances its resilience, high availability, and disaster recovery capabilities. In a 3AZ setup, 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 fail over 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+
## Instructions
25+
26+
### Move engine instance to 3AZ
27+
28+
> [!tabs]
29+
> Via the OVHcloud Control Panel
30+
>> To move a database service from a 1AZ to a 3AZ region, log in to the OVHcloud Control Panel and open your Public Cloud project. Click `Databases`{.action} in the left navigation bar, select your engine instance then click the `Backups`{.action} tab.
31+
>>
32+
>> ![databases - select engines instances and go to the backups section](images/databases_select_cluster.png)
33+
>>
34+
>> Choose the backup from which you wish to fork, , click on the `...`{.action} button and click on the `Duplicate(fork)`{.action} button.
35+
>>
36+
>> ![databases - click on the duplicate button](images/databases_fork_backup.png)
37+
>>
38+
>> Select the Restore point named `Backup`{.action}.
39+
>>
40+
>> ![databases fork - select backup for the restore point part](images/databases_fork_restore_point.png)
41+
>>
42+
>> Select your `plan`{.action} for the engine instance.
43+
>>
44+
>> ![databases fork - select your plan](images/databases_fork_plan.png)
45+
>>
46+
>> Select a `3AZ region`{.action}.
47+
>>
48+
>> ![databases fork - select your 3AZ region](images/databases_fork_region.png)
49+
>>
50+
>> Select the `node type`{.action} for the engine instance.
51+
>>
52+
>> ![databases fork - select the node type](images/databases_fork_node_type.png)
53+
>>
54+
>> If you need, you can configure additional storage and connectivity settings, then verify the IP addresses to whitelist (the list is pre-filled by default with the origin service's configuration).
55+
>>
56+
>> ![databases fork - select optional fields](images/databases_fork_optional.png)
57+
>>
58+
>> When you have completed your configuration, click on the `Order`{.action} button.
59+
>>
60+
>> ![databases fork - select optional fields](images/databases_fork_order.png)
61+
>>
62+
> Via the OVHcloud API
63+
>> > [!primary]
64+
>> >
65+
>> > 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).
66+
>> >
67+
>>
68+
>> to find the backup id of an engine instance, use this following API call:
69+
>>
70+
>> > [!api]
71+
>> >
72+
>> > @api {v1} /cloud GET /cloud/project/{serviceName}/database/postgresql/{clusterId}/backup
73+
>> >
74+
>>
75+
>> this call retrieves the backup list of the engine instance concerned. They are listed in order from the most recent backup to the oldest.
76+
>>
77+
>> If you want to check the information on a particular backup, you can use this API call:
78+
>>
79+
>> > [!api]
80+
>> >
81+
>> > @api {v1} /cloud GET /cloud/project/{serviceName}/database/postgresql/{clusterId}/backup/{backupId}
82+
>> >
83+
>>
84+
>> To create your engine instance from one backup, use this following API call:
85+
>>
86+
>> > [!api]
87+
>> >
88+
>> > @api {v1} /cloud POST /cloud/project/{serviceName}/database/postgresql
89+
>> >
90+
>>
91+
>> An example of a `body` for this API call:
92+
>>
93+
>> > [!warning]
94+
>> >
95+
>> > The old field named `backup` is deprecated and replaced by `forkFrom`.
96+
>> >
97+
>>
98+
>> ```console
99+
>> body : {
100+
>> "backups": {
101+
>> "regions": [
102+
>> "EU-WEST-PAR" # Regions on which the backups are stored
103+
>> ],
104+
>> "time": "15:04:05" # Time on which backups start every day
105+
>> },
106+
>> "disk": {
107+
>> "size": 80 # Service disk size
108+
>> },
109+
>> "forkFrom": {
110+
>> "backupId": "********-****-****-****-3684de51065d", # the previously recovered ID of the backup
111+
>> "serviceId": "********-****-****-****-ce179babccf3" # the id of the engine instance to which this backup belongs
112+
>> },
113+
>> "maintenanceTime": "15:04:05", # Time on which maintenances can start every day
114+
>> "nodePattern": { # Pattern definition of the nodes in the cluster, not compatible with nodesList
115+
>> "flavor": "db1-4",
116+
>> "number": 2,
117+
>> "region": "EU-WEST-PAR"
118+
>> },
119+
>> "plan": "business",
120+
>> "version": "16"
121+
>> }
122+
>> ```
123+
>>
124+
125+
### Validate the deployment
126+
127+
After your new 3AZ database service has been successfully provisioned, it's crucial to validate its deployment and ensure your applications can connect to it.
128+
129+
1. Test the connection to your new service:
130+
131+
- 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 3AZ service's endpoint using its credentials.
132+
- Confirm that your data has been successfully migrated and is accessible.
133+
134+
2. Configure your application to use the new service:
135+
136+
- Update your application's configuration files or environment variables to point to the new 3AZ database service's connection string (host, port, username, password).
137+
- Restart your application to apply the changes.
138+
- Thoroughly test your application's functionality to ensure it operates correctly with the new database endpoint.
139+
140+
### Clean up
141+
142+
Once you've fully validated that your application is working correctly with the new 3AZ database service, and you're confident all data has been transferred and is accessible, you can proceed with deleting the old 1AZ service.
143+
144+
This step is crucial to avoid unnecessary costs and maintain a clean infrastructure.
145+
146+
Follow this instructions to delete the old 1AZ service:
147+
148+
> [!tabs]
149+
> Via the OVHcloud Control Panel
150+
>> Navigate to your list of engine instances, click on the `...`{.action} button on the engine instance line and click on the `Delete`{.action} button to permanently delete the service.
151+
>>
152+
>> ![databases - delete the 1az engine instance](images/databases_delete_1az.png)
153+
>>
154+
> Via the OVHcloud API
155+
>> To delete your engine instance, use the following API call:
156+
>>
157+
>> > [!api]
158+
>> >
159+
>> > @api {v1} /cloud DEL /cloud/project/{serviceName}/database/postgresql/{clusterId}
160+
>> >
161+
>>
162+
163+
cloud/project/{serviceName}/database/postgresql/{clusterId}
164+
165+
## We want your feedback!
166+
167+
We would love to help answer questions and appreciate any feedback you may have.
168+
169+
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.
170+
171+
Are you on Discord? Connect to our channel at <https://discord.gg/PwPqWUpN8G> and interact directly with the team that builds our databases service!
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
id: 44005693-bc5e-4fb9-9117-c9245596ef89
2+
full_slug: public-cloud-databases-migrate-1az-to-3az

0 commit comments

Comments
 (0)