Skip to content

Commit f6ba5ba

Browse files
authored
Merge pull request #252027 from niklarin/geo-backup
Geo-backup additions
2 parents cdbcfcc + 3b4eab4 commit f6ba5ba

File tree

5 files changed

+136
-28
lines changed

5 files changed

+136
-28
lines changed

articles/cosmos-db/postgresql/concepts-backup.md

Lines changed: 49 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ ms.author: nlarin
55
author: niklarin
66
ms.service: cosmos-db
77
ms.subservice: postgresql
8-
ms.custom: ignite-2022
8+
ms.custom: ignite-2022, references_regions
99
ms.topic: conceptual
10-
ms.date: 07/10/2023
10+
ms.date: 09/17/2023
1111
---
1212

1313
# Backup and restore in Azure Cosmos DB for PostgreSQL
1414

1515
[!INCLUDE [PostgreSQL](../includes/appliesto-postgresql.md)]
1616

1717
Azure Cosmos DB for PostgreSQL automatically creates
18-
backups of each node and stores them in locally redundant storage. Backups can
18+
backups of each node in a cluster. Backups can
1919
be used to restore your cluster to a specified time - point-in-time restore (PITR).
2020
Backup and restore are an essential part of any business continuity strategy
2121
because they protect your data from accidental corruption or deletion.
@@ -29,13 +29,49 @@ server to any point in time within the retention period. (The retention period
2929
is currently 35 days for all clusters.) All backups are encrypted using
3030
AES 256-bit encryption.
3131

32-
In Azure regions that support availability zones, backup snapshots and WAL files are stored
33-
in three availability zones. As long as at least one availability zone is
34-
online, the cluster is restorable.
35-
3632
Backup files can't be exported. They may only be used for restore operations
3733
in Azure Cosmos DB for PostgreSQL.
3834

35+
### Backup redundancy
36+
37+
Azure Cosmos DB for PostgreSQL supports the following backup redundancy options.
38+
39+
* Same region backup
40+
* Zone-redundant backup storage: This option is automatically chosen for regions that support availability zones. When the backups are stored in zone-redundant backup storage, in addition to multiple copies of data stored within the availability zone where each cluster's node is hosted, the data is also replicated to other availability zones.
41+
42+
* Locally redundant backup storage: This option is automatically chosen for regions that don't support availability zones. When the backups are stored in locally redundant backup storage, multiple copies of backups are stored in the same region.
43+
44+
* Cross-region backup (in preview)
45+
* Geo-redundant backup storage: You can choose this option at the time of cluster creation. When the backups are stored in another region, in addition to three copies of data stored within the region where your cluster is hosted, the data is replicated to another region.
46+
47+
Geo-redundant backup is supported in the following Azure regions.
48+
49+
| Cluster's region | Geo-backup stored in |
50+
|-----------------------|--------------------------------|
51+
| Canada Central | Canada East |
52+
| Central US | East US 2 |
53+
| East Asia | Southeast Asia |
54+
| East US | West US |
55+
| East US 2 | Central US |
56+
| Japan East | Japan West |
57+
| Japan West | Japan East |
58+
| North Central US | South Central US |
59+
| North Europe | West Europe |
60+
| South Central US | North Central US |
61+
| Southeast Asia | East Asia |
62+
| Switzerland North | Switzerland West |
63+
| Switzerland West | Switzerland North |
64+
| West Central US | West US 2 |
65+
| West Europe | North Europe |
66+
| West US | East US |
67+
| West US 2 | West Central US |
68+
69+
> [!IMPORTANT]
70+
> Geo-redundant backup and restore in Azure Cosmos DB for PostgreSQL is currently in preview.
71+
> This preview version is provided without a service level agreement, and it's not recommended
72+
> for production workloads. Certain features might not be supported or might have constrained
73+
> capabilities.
74+
3975
### Backup storage cost
4076

4177
For current backup storage pricing, see the Azure Cosmos DB for PostgreSQL
@@ -44,7 +80,7 @@ For current backup storage pricing, see the Azure Cosmos DB for PostgreSQL
4480
## Restore
4581

4682
You can restore a cluster to any point in time within
47-
the last 35 days. Point-in-time restore is useful in multiple scenarios. For
83+
the last 35 days. Point-in-time restore is useful in multiple scenarios. For
4884
example, when a user accidentally deletes data, drops an important table or
4985
database, or if an application accidentally overwrites good data with bad data.
5086

@@ -53,7 +89,9 @@ database, or if an application accidentally overwrites good data with bad data.
5389
> open a support request to restore the cluster to a point that is earlier
5490
> than the latest failover time.
5591
56-
When all nodes are up and running, you can restore cluster without any data loss. In an extremely rare case of a node experiencing a catastrophic event (and [high availability](./concepts-high-availability.md) isn't enabled on the cluster), you may lose up to 5 minutes of data.
92+
For same-region restore, when all nodes are up and running, you can restore cluster without any data loss. In an extremely rare case of a node experiencing a catastrophic event (and [high availability](./concepts-high-availability.md) isn't enabled on the cluster), you may lose up to 5 minutes of data.
93+
94+
On clusters with geo-backup enabled, restore can be performed in the remote region or in the same region where cluster is located.
5795

5896
> [!IMPORTANT]
5997
> Deleted clusters can't be restored. If you delete the
@@ -62,7 +100,7 @@ When all nodes are up and running, you can restore cluster without any data loss
62100
> accidental deletion or unexpected changes, administrators can leverage
63101
> [management locks](../../azure-resource-manager/management/lock-resources.md).
64102
65-
The restore process creates a new cluster in the same Azure region,
103+
The restore process creates a new cluster in the same or remote Azure region,
66104
subscription, and resource group as the original. The cluster has the
67105
original's configuration: the same number of nodes, number of vCores, storage
68106
size, user roles, PostgreSQL version, and version of the Citus extension.
@@ -75,4 +113,5 @@ In most cases, cluster restore takes up to 1 hour.
75113

76114
* See the steps to [restore a cluster](howto-restore-portal.md)
77115
in the Azure portal.
116+
* See [backup and restore limits and limitations](./reference-limits.md#backup-and-restore).
78117
* Learn about [Azure availability zones](../../availability-zones/az-overview.md).

articles/cosmos-db/postgresql/howto-read-replicas-portal.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ To create a read replica, follow these steps:
3737

3838
4. Under **Cluster name**, enter a name for the read replica.
3939

40-
5. Select a value from the **Location (preview)** drop-down.
40+
5. Select a value from the **Location** drop-down.
4141

4242
6. Select **OK**.
4343

@@ -52,6 +52,21 @@ After the read replica is created, you can see it listed on the **Replicate data
5252
> replica setting to an equal or greater value. This action helps the replica
5353
> keep up with any changes made to the master.
5454
55+
## Promote a read replica
56+
57+
To [promote a cluster read replica](./concepts-read-replicas.md#replica-promotion-to-independent-cluster) to an independent read-write cluster, follow these steps:
58+
59+
1. Select the read replica you would like to promote in the portal.
60+
61+
2. On the cluster sidebar, under **Cluster management**, select
62+
**Replicate data globally**.
63+
64+
3. On the **Replicate data globally** page, find the read replica in the list of clusters under the map and click the promote icon.
65+
66+
4. On the **Promote \<cluster name>** screen, double check the read replica's name, confirm that you understand that promotion is irreversible by setting the checkbox, and select **Promote**.
67+
68+
After the read replica is promoted, it becomes an independent readable and writable cluster with the same connection string.
69+
5570
## Delete a primary cluster
5671

5772
To delete a primary cluster, you use the same steps as to delete a
Lines changed: 54 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,68 @@
11
---
22
title: Restore - Azure Cosmos DB for PostgreSQL - Azure portal
33
description: See how to perform restore operations in Azure Cosmos DB for PostgreSQL through the Azure portal.
4-
ms.author: jonels
5-
author: jonels-msft
4+
ms.author: nlarin
5+
author: niklarin
66
ms.service: cosmos-db
77
ms.subservice: postgresql
8-
ms.custom: ignite-2022
8+
ms.custom: ignite-2022, references_regions
99
ms.topic: how-to
10-
ms.date: 06/12/2023
10+
ms.date: 09/17/2023
1111
---
1212

13-
# Point-in-time restore of a cluster in Azure Cosmos DB for PostgreSQL
13+
# Backup and point-in-time restore of a cluster in Azure Cosmos DB for PostgreSQL
1414

1515
[!INCLUDE [PostgreSQL](../includes/appliesto-postgresql.md)]
1616

17-
This article provides step-by-step procedures to perform [point-in-time
17+
> [!IMPORTANT]
18+
> Geo-redundant backup and restore in Azure Cosmos DB for PostgreSQL is currently in preview.
19+
> This preview version is provided without a service level agreement, and it's not recommended
20+
> for production workloads. Certain features might not be supported or might have constrained
21+
> capabilities.
22+
23+
This article provides step-by-step procedures to select backup type, to check type of backup enabled on a cluster, and to perform [point-in-time
1824
recoveries](concepts-backup.md#restore) for a
1925
cluster using backups. You can restore either to the earliest backup or to
2026
a custom restore point within your retention period.
2127

28+
> [!NOTE]
29+
> While cluster backups are always stored for 35 days, you may need to
30+
> open a support request to restore the cluster to a point that is earlier
31+
> than the latest failover time.
32+
33+
## Select type of cluster backup
34+
Enabling geo-redundant backup is possible during cluster creation on the **Scale** screen that can be accessed on the **Basics** tab. Click the **Save** button to apply your selection.
35+
36+
> [!NOTE]
37+
> Geo-redundant backup can be enabled only during cluster creation.
38+
> You can't disable geo-redundant backup once cluster is created.
39+
40+
## Confirm type of backup
41+
To check what type of backup is enabled on a cluster, follow these steps:
42+
43+
1. In the [Azure portal](https://portal.azure.com/), select an existing Azure Cosmos DB for PostgreSQL cluster.
44+
1. On the **Overview** page, check **Backup** field in the **Essentials** section.
45+
46+
The **Backup** field values can be **Locally redundant** or **Zone redundant** for the same region cluster backup or **Geo-redundant** for the backup stored in another Azure region.
47+
2248
## Restore to the earliest restore point
2349

2450
Follow these steps to restore your cluster to its
2551
earliest existing backup.
2652

27-
1. In the [Azure portal](https://portal.azure.com/), from the **Overview** page of the cluster you want to restore, select **Restore**.
53+
1. In the [Azure portal](https://portal.azure.com/), from the **Overview** page of the cluster you want to restore, select **Restore**.
2854

2955
1. On the **Restore** page, select the **Earliest** restore point, which is shown.
3056

31-
1. Provide a new cluster name in the **Restore to new cluster** field. The subscription, resource group, and location fields aren't editable.
57+
1. Provide a new cluster name in the **Restore to new cluster** field. The subscription and resource group fields aren't editable.
3258

33-
1. Select **OK**. A notification shows that the restore operation is initiated.
59+
1. If cluster has geo-redundant backup enabled, select remote or same region for restore in the **Location** field. On clusters with zone-redundant and locally redundant backup, location field isn't editable.
60+
61+
1. Select **Next**.
62+
63+
1. (optional) Make data encryption selection for restored cluster on the **Encryption (preview)** tab.
64+
65+
1. Select **Create**. A notification shows that the restore operation is initiated.
3466

3567
1. When the restore completes, follow the [post-restore tasks](#post-restore-tasks).
3668

@@ -39,13 +71,19 @@ earliest existing backup.
3971
Follow these steps to restore your cluster to a date
4072
and time of your choosing.
4173

42-
1. In the [Azure portal](https://portal.azure.com/), from the **Overview** page of the cluster you want to restore, select **Restore**.
74+
1. In the [Azure portal](https://portal.azure.com/), from the **Overview** page of the cluster you want to restore, select **Restore**.
4375

4476
1. On the **Restore** page, choose **Custom restore point**.
4577

46-
1. Select a date and provide a time in the date and time fields, and enter a cluster name in the **Restore to new cluster** field. The other fields aren't editable.
47-
48-
1. Select **OK**. A notification shows that the restore operation is initiated.
78+
1. Select a date and provide a time in the date and time fields, and enter a cluster name in the **Restore to new cluster** field. The subscription and resource group fields aren't editable.
79+
80+
1. If cluster has geo-redundant backup enabled, select remote or same region for restore in the **Location** field. On clusters with zone-redundant and locally redundant backup, location field isn't editable.
81+
82+
1. Select **Next**.
83+
84+
1. (optional) Make data encryption selection for restored cluster on the **Encryption (preview)** tab.
85+
86+
1. Select **Create**. A notification shows that the restore operation is initiated.
4987

5088
1. When the restore completes, follow the [post-restore tasks](#post-restore-tasks).
5189

@@ -54,8 +92,8 @@ and time of your choosing.
5492
After a restore, you should do the following to get your users and applications
5593
back up and running:
5694

57-
* If the new server is meant to replace the original server, redirect clients
58-
and client applications to the new server
95+
* If the new cluster is meant to replace the original cluster, redirect clients
96+
and client applications to the new cluster.
5997
* Ensure appropriate [networking settings for private or public access](./concepts-security-overview.md#network-security) are in place for
6098
users to connect. These settings aren't copied from the original cluster.
6199
* Ensure appropriate [logins](./howto-create-users.md) and database level permissions are in place.
@@ -65,4 +103,5 @@ back up and running:
65103

66104
* Learn more about [backup and restore](concepts-backup.md) in
67105
Azure Cosmos DB for PostgreSQL.
106+
* See [backup and restore limits and limitations](./reference-limits.md#backup-and-restore).
68107
* Set [suggested alerts](./howto-alert-on-metric.md#suggested-alerts) on clusters.

articles/cosmos-db/postgresql/product-updates.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.custom: mvc, references_regions
77
ms.service: cosmos-db
88
ms.subservice: postgresql
99
ms.topic: conceptual
10-
ms.date: 09/18/2023
10+
ms.date: 09/25/2023
1111
---
1212

1313
# Product updates for Azure Cosmos DB for PostgreSQL
@@ -23,6 +23,8 @@ Updates that don’t directly affect the internals of a cluster are rolled out g
2323
Updates that change cluster internals, such as installing a [new minor PostgreSQL version](https://www.postgresql.org/developer/roadmap/), are delivered to existing clusters as part of the next [scheduled maintenance](concepts-maintenance.md) event. Such updates are available immediately to newly created clusters.
2424

2525
### September 2023
26+
* Preview: Geo-redundant backup and restore
27+
* Learn more about [backup and restore Azure Cosmos DB for PostgreSQL](./concepts-backup.md)
2628
* Preview: [32 TiB storage per node for multi-node configurations](./resources-compute.md#multi-node-cluster) is now available in all supported regions.
2729
* See [how to maximize IOPS on your cluster](./resources-compute.md#maximum-iops-for-your-compute--storage-configuration).
2830
* General availability: Azure Cosmos DB for PostgreSQL is now available in Australia Central, Canada East, and Qatar Central.
@@ -136,6 +138,7 @@ might have constrained capabilities. For more information, see
136138
[Supplemental Terms of Use for Microsoft Azure
137139
Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/)
138140

141+
* [Geo-redundant backup and restore](./concepts-backup.md#backup-redundancy)
139142
* [32 TiB storage per node in multi-node clusters](./resources-compute.md#multi-node-cluster)
140143
* [Azure Active Directory (Azure AD) authentication](./concepts-authentication.md#azure-active-directory-authentication-preview)
141144
* [Azure CLI support for Azure Cosmos DB for PostgreSQL](/cli/azure/cosmosdb/postgres)

articles/cosmos-db/postgresql/reference-limits.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ be scaled down (decreased).
6262

6363
### Storage size
6464

65-
Up to 16 TiB of storage is supported on coordinator and worker nodes in multi-node configuration. Up to 2 TiB of storage is supported for single node configurations. See [the available storage options and IOPS calculation](resources-compute.md)
65+
Up to 32 TiB of storage is supported on coordinator and worker nodes in multi-node configuration. Up to 2 TiB of storage is supported for single node configurations. See [the available storage options and IOPS calculation](resources-compute.md)
6666
for various node and cluster sizes.
6767

6868
## Compute
@@ -85,6 +85,7 @@ currently **not supported**:
8585
* PostgreSQL 11 support
8686
* Read replicas
8787
* High availability
88+
* Geo-redundant backup
8889
* The [azure_storage](howto-ingest-azure-blob-storage.md) extension
8990

9091
## Authentication
@@ -104,6 +105,17 @@ with an error.
104105

105106
By default this database is called `citus`. Azure Cosmos DB for PostgreSQL supports custom database names at cluster provisioning time only.
106107

108+
## Backup and restore
109+
110+
### Geo-redundant backup and restore (preview)
111+
* Geo-redundant backup can be enabled only during cluster creation.
112+
* You can enable geo-redundant backup when you perform a cluster restore.
113+
* You can enable geo-redundant backup when you [promote a cluster read-replica to an independent cluster](./howto-read-replicas-portal.md#promote-a-read-replica).
114+
* Geo-redundant backup can't be enabled on single node clusters with [burstable compute](./concepts-burstable-compute.md).
115+
* Geo-redundant backup can't be disabled once cluster is created.
116+
* [Customer managed key (CMK)](./concepts-customer-managed-keys.md) isn't supported for clusters with geo-redundant backup enabled.
117+
* Azure Cosmos DB for PostgreSQL cluster with geo-redundant backup enabled can't have a [cluster read replica](./concepts-read-replicas.md) in the region where geo-redundant backup is stored.
118+
107119
## Next steps
108120

109121
* Learn how to [create a cluster in the

0 commit comments

Comments
 (0)