Skip to content

Commit 2198750

Browse files
Merge pull request #212869 from sethmanheim/cedr
Add new cross-region recovery article
2 parents 06d690b + c389f12 commit 2198750

File tree

8 files changed

+106
-0
lines changed

8 files changed

+106
-0
lines changed

articles/notification-hubs/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@
9595
items:
9696
- name: Availability zones
9797
href: availability-zones.md
98+
- name: Cross-region disaster recovery
99+
href: cross-region-recovery.md
98100
- name: Data encryption at rest
99101
href: encrypt-at-rest.md
100102
- name: Transport Layer Security (TLS)
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
title: Azure Notification Hubs cross-region disaster recovery
3+
description: Learn about cross-region disaster recovery options in Azure Notification Hubs.
4+
author: sethmanheim
5+
ms.author: sethm
6+
ms.service: notification-hubs
7+
ms.topic: conceptual
8+
ms.date: 10/07/2022
9+
10+
---
11+
12+
# Cross-region disaster recovery (preview)
13+
14+
> [!NOTE]
15+
> The ability to edit your cross region disaster recovery options is available in preview. If you are interested in using this feature, contact your customer success manager at Microsoft, or create an Azure support ticket which will be triaged by the support team.
16+
17+
[Azure Notification Hubs](notification-hubs-push-notification-overview.md) provides an easy-to-use and scaled-out push engine that enables you to send notifications to any platform (iOS, Android, Windows, etc.) from any back-end (cloud or on-premises). This article describes the cross-region disaster recovery configuration options currently available.
18+
19+
Cross-region disaster recovery provides *metadata* disaster recovery coverage. This is supported in paired and flexible region recovery
20+
options. Each Azure region is paired with another region within the same geography. All Notification Hubs tiers support [Azure paired regions](/azure/availability-zones/cross-region-replication-azure#azure-cross-region-replication-pairings-for-all-geographies)
21+
(where available) or a flexible recovery region option that enables you to choose from a list of supported regions.
22+
23+
## Enable cross region disaster recovery
24+
25+
Cross-region disaster recovery options can be modified at any time.
26+
27+
### Use existing namespace
28+
29+
Use the Azure portal to edit an existing namespace:
30+
31+
1. Sign in to the [Azure portal](https://portal.azure.com).
32+
33+
2. Select **All services** on the left menu.
34+
35+
3. Select **Notification Hub Namespaces** in the **Internet of Things** section.
36+
37+
4. On the **Notification Hub Namespaces** page, select the namespace for which you want to modify the disaster recovery settings.
38+
39+
5. On the **Notification Hub Namespace** page for your namespace, you can see the current disaster recovery setting in the **Essentials** section.
40+
41+
6. In the following example, paired recovery region is enabled. To modify your disaster recovery region selection, select the **(edit)** link next to the current selection.
42+
43+
:::image type="content" source="media/cross-region-recovery/cedr1.png" alt-text="Azure portal namespace":::
44+
45+
7. On the **Edit Disaster** recovery pop-up screen, you can change your selections. Save your changes.
46+
47+
:::image type="content" source="media/cross-region-recovery/cedr2.png" alt-text="Azure portal edit recovery":::
48+
49+
### Use new namespace
50+
51+
To create a new namespace with disaster recovery, follow these steps:
52+
53+
1. Sign in to the [Azure portal](https://portal.azure.com).
54+
55+
2. Select **All services** on the left menu.
56+
57+
3. Select **Notification Hubs** in the **Mobile** section.
58+
59+
4. Select the star icon next to the service name to add the service to the **FAVORITES** section on the left menu. After you add **Notification Hubs** to **FAVORITES**, select it on the left menu.
60+
61+
:::image type="content" source="media/cross-region-recovery/cedr3.png" alt-text="Azure portal favorites":::
62+
63+
5. On the **Notification Hubs** page, select **Create** on the toolbar.
64+
65+
:::image type="content" source="media/cross-region-recovery/cedr4.png" alt-text="Create notification hub":::
66+
67+
6. In the **Basics** tab on the **Notification Hub** page, perform the following steps:
68+
69+
1. In **Subscription**, select the name of the Azure subscription you want to use, and then select an existing resource group, or create a
70+
new one.
71+
1. Enter a unique name for the new namespace in **Namespace Details**.
72+
1. A namespace contains one or more notification hubs, so type a name for the hub in **Notification Hub Details**. Or, select an existing
73+
namespace from the drop-down.
74+
1. Select a value from the **Location** drop-down list box. This value specifies the location in which you want to create the hub.
75+
1. Choose your **Disaster recovery** option – None, Paired recovery region or Flexible recovery region. If you choose **Paired recovery region**, the failover region is displayed.
76+
77+
:::image type="content" source="media/cross-region-recovery/cedr5.png" alt-text="Notification hub properties":::
78+
79+
1. If you select **Flexible recovery region**, use the drop-down to choose from a list of recovery regions.
80+
81+
:::image type="content" source="media/cross-region-recovery/cedr6.png" alt-text="Select region":::
82+
83+
1. Select **Create**.
84+
85+
### Add resiliency
86+
87+
Paired and flexible region recovery only backs up metadata. You must implement a solution to repopulate the registration data into your new
88+
hub post-recovery:
89+
90+
1. Create a secondary notification hub in a different datacenter. We recommend creating one from the beginning, to shield you from a disaster recovery event that might affect your management capabilities. You can also create one at the time of the disaster recovery event.
91+
92+
2. Keep the secondary notification hub in sync with the primary notification hub using one of the following options:
93+
- Use an app backend that simultaneously creates and updates installations in both notification hubs. Installations allow you to specify your own unique device identifier, making it more suitable for the replication scenario. For more information, [see this sample](https://github.com/Azure/azure-notificationhubs-dotnet/tree/main/Samples/RedundantHubSample).
94+
- Use an app backend that gets a regular dump of registrations from the primary notification hub as a backup. It can then perform a bulk insert into the secondary notification hub.
95+
96+
The secondary notification hub might end up with expired installations/registrations. When the push is made to an expired handle, Notification Hubs automatically cleans the associated installation/registration record based on the response received from the PNS server. To clean expired records from a secondary notification hub, add custom logic that processes feedback from each send. Then, expire installation/registration in the secondary notification hub.
97+
98+
If you don't have a backend, when the app starts on target devices, they perform a new registration in the secondary notification hub. Eventually the secondary notification hub will have all the active devices registered.
99+
100+
There will be a time period when devices with unopened apps won't receive notifications.
101+
102+
## Next steps
103+
104+
- [Azure Notification Hubs](notification-hubs-push-notification-overview.md)
14.8 KB
Loading
27.8 KB
Loading
31.5 KB
Loading
116 KB
Loading
54.7 KB
Loading
54 KB
Loading

0 commit comments

Comments
 (0)