You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/event-hubs/event-hubs-geo-dr.md
+24-39Lines changed: 24 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,22 +1,17 @@
1
1
---
2
2
title: Geo-disaster recovery - Azure Event Hubs| Microsoft Docs
3
-
description: How to use geographical regions to fail over and perform disaster recovery in Azure Event Hubs
4
-
ms.topic: article
5
-
ms.date: 06/01/2023
3
+
description: Describes how to use geographical regions to fail over and perform metadata-only disaster recovery in Azure Event Hubs.
4
+
ms.topic: concept-article
5
+
ms.date: 07/29/2024
6
+
#customer intent: As an IT administrator or an architect, I would like to know how Azure Event Hubs recovers entities where there is a disaster in an Azure region.
6
7
---
7
8
8
9
# Azure Event Hubs - Geo-disaster recovery
10
+
This article describes the Geo-disaster recovery feature that replicates metadata and is generally available. It doesn't describe the public preview Geo-replication feature, which replicates both data and metadata. For more information, see [Geo-replication](./geo-replication.md).
9
11
10
-
> [!NOTE]
11
-
> This article is about the GA Geo-disaster recovery feature that replicated metadata and not the public preview Geo-replication feature described at [Geo-replication](./geo-replication.md).
12
-
13
-
The all-active Azure Event Hubs cluster model with [availability zone support](../reliability/reliability-event-hubs.md) provides resiliency against hardware and datacenter outages. However, if a disaster where an entire region and all zones are unavailable, you can use Geo-disaster recovery to recover your workload and application configuration.
14
-
15
-
Geo-Disaster recovery ensures that the entire configuration of a namespace (Event Hubs, Consumer Groups, and settings) is continuously replicated from a primary namespace to a secondary namespace when paired.
12
+
The all-active Azure Event Hubs cluster model with [availability zone support](../reliability/reliability-event-hubs.md) provides resiliency against hardware and datacenter outages. However, if a disaster where an entire region and all zones are unavailable, you can use Geo-disaster recovery to recover your workload and application configuration. Geo-Disaster recovery ensures that the entire configuration of a namespace (Event Hubs, Consumer Groups, and settings) is continuously replicated from a primary namespace to a secondary namespace when paired.
16
13
17
-
The Geo-disaster recovery feature of Azure Event Hubs is a disaster recovery solution. The concepts and workflow described in this article apply to disaster scenarios, and not to temporary outages. For a detailed discussion of disaster recovery in Microsoft Azure, see [this article](/azure/architecture/resiliency/disaster-recovery-azure-applications).
18
-
19
-
With Geo-Disaster recovery, you can initiate a once-only failover move from the primary to the secondary at any time. The failover move points the chosen alias name for the namespace to the secondary namespace. After the move, the pairing is then removed. The failover is nearly instantaneous once initiated.
14
+
The Geo-disaster recovery feature of Azure Event Hubs is a disaster recovery solution. The concepts and workflow described in this article apply to disaster scenarios, and not to temporary outages. For a detailed discussion of disaster recovery in Microsoft Azure, see [this article](/azure/architecture/resiliency/disaster-recovery-azure-applications). With Geo-Disaster recovery, you can initiate a once-only failover move from the primary to the secondary at any time. The failover move points the chosen alias name for the namespace to the secondary namespace. After the move, the pairing is then removed. The failover is nearly instantaneous once initiated.
20
15
21
16
22
17
> [!IMPORTANT]
@@ -25,17 +20,14 @@ With Geo-Disaster recovery, you can initiate a once-only failover move from the
25
20
26
21
## Basic concepts and terms
27
22
28
-
The disaster recovery feature implements metadata disaster recovery, and relies on primary and secondary disaster recovery namespaces.
29
-
30
-
The Geo-disaster recovery feature is available for the [standard, premium, and dedicated tiers](https://azure.microsoft.com/pricing/details/event-hubs/) only. You don't need to make any connection string changes, as the connection is made via an alias.
23
+
The disaster recovery feature implements metadata disaster recovery, and relies on primary and secondary disaster recovery namespaces. The Geo-disaster recovery feature is available for the [standard, premium, and dedicated tiers](https://azure.microsoft.com/pricing/details/event-hubs/) only. You don't need to make any connection string changes, as the connection is made via an alias.
31
24
32
25
The following terms are used in this article:
33
26
34
-
-*Alias*: The name for a disaster recovery configuration that you set up. The alias provides a single stable Fully Qualified Domain Name (FQDN) connection string. Applications use this alias connection string to connect to a namespace.
35
-
36
-
-*Primary/secondary namespace*: The namespaces that correspond to the alias. The primary namespace is "active" and receives messages (can be an existing or new namespace). The secondary namespace is "passive" and doesn't receive messages. The metadata between both is in sync, so both can seamlessly accept messages without any application code or connection string changes. To ensure that only the active namespace receives messages, you must use the alias.
37
-
-*Metadata*: Entities such as event hubs and consumer groups; and their properties of the service that are associated with the namespace. Only entities and their settings are replicated automatically. Messages and events aren't replicated.
38
-
-*Failover*: The process of activating the secondary namespace.
27
+
-**Alias**: The name for a disaster recovery configuration that you set up. The alias provides a single stable Fully Qualified Domain Name (FQDN) connection string. Applications use this alias connection string to connect to a namespace.
28
+
-**Primary/secondary namespace**: The namespaces that correspond to the alias. The primary namespace is active and it receives messages (can be an existing or a new namespace). The secondary namespace is passive and doesn't receive messages. The metadata between both is in sync, so both can seamlessly accept messages without any application code or connection string changes. To ensure that only the active namespace receives messages, you must use the alias.
29
+
-**Metadata**: Entities such as event hubs and consumer groups, and their properties of the service that are associated with the namespace. Only entities and their settings are replicated automatically. Messages and events aren't replicated.
30
+
-**Failover**: The process of activating the secondary namespace.
39
31
40
32
## Supported namespace pairs
41
33
The following combinations of primary and secondary namespaces are supported:
@@ -46,14 +38,14 @@ The following combinations of primary and secondary namespaces are supported:
46
38
| Premium | Premium |
47
39
| Dedicated | Dedicated |
48
40
49
-
> [!NOTE]
41
+
> [!IMPORTANT]
50
42
> You can't pair namespaces that are in the same dedicated cluster. You can pair namespaces that are in separate clusters.
51
43
52
44
## Setup and failover flow
53
45
54
46
The following section is an overview of the failover process, and explains how to set up the initial failover.
55
47
56
-
:::image type="content" source="./media/event-hubs-geo-dr/geo1.png" alt-text="Image showing the overview of failover process":::
48
+
:::image type="content" source="./media/event-hubs-geo-dr/geo1.png" alt-text="Screenshot showing the overview of failover process.":::
57
49
58
50
> [!NOTE]
59
51
> The Geo-disaster recovery feature doesn't support an automatic failover.
@@ -67,25 +59,27 @@ You first create or use an existing primary namespace, and a new secondary names
67
59
1. In the Azure portal, navigate to your primary namespace.
68
60
1. Select **Geo-recovery** on the left menu, and select **Initiate pairing** on the toolbar.
69
61
70
-
:::image type="content" source="./media/event-hubs-geo-dr/primary-namspace-initiate-pairing-button.png" alt-text="Initiate pairing from the primary namespace":::
62
+
:::image type="content" source="./media/event-hubs-geo-dr/primary-namspace-initiate-pairing-button.png" alt-text="Screenshot that shows the Geo-recovery page for an Event Hubs namespace with Initiate Pairing button selected." lightbox="./media/event-hubs-geo-dr/primary-namspace-initiate-pairing-button.png":::
71
63
1. On the **Initiate pairing** page, follow these steps:
72
64
1. Select an existing secondary namespace or create one in a different region. In this example, an existing namespace is selected.
73
65
1. For **Alias**, enter an alias for the geo-dr pairing.
74
66
1. Then, select **Create**.
75
67
76
-
:::image type="content" source="./media/event-hubs-geo-dr/initiate-pairing-page.png" alt-text="Select the secondary namespace":::
68
+
:::image type="content" source="./media/event-hubs-geo-dr/initiate-pairing-page.png" alt-text="Screenshot that shows the selection of the secondary namespace for pairing.":::
77
69
1. You should see the **Geo-DR Alias** page. You can also navigate to this page from the primary namespace by selecting **Geo-recovery** on the left menu.
78
70
79
-
:::image type="content" source="./media/event-hubs-geo-dr/geo-dr-alias-page.png" alt-text="Geo-DR alias page":::
71
+
:::image type="content" source="./media/event-hubs-geo-dr/geo-dr-alias-page.png" alt-text="Screenshot that shows the Geo-DR Alias page showing both the primary and secondary namespaces." lightbox="./media/event-hubs-geo-dr/geo-dr-alias-page.png":::
80
72
1. On the **Geo-DR Alias** page, select **Shared access policies** on the left menu to access the primary connection string for the alias. Use this connection string instead of using the connection string to the primary/secondary namespace directly.
81
73
1. On this **Overview** page, you can do the following actions:
82
74
1. Break the pairing between primary and secondary namespaces. Select **Break pairing** on the toolbar.
83
75
1. Manually fail over to the secondary namespace. Select **Failover** on the toolbar.
84
-
76
+
77
+
:::image type="content" source="./media/event-hubs-geo-dr/break-pairing-fail-over-menu.png" alt-text="Screenshot that shows the Break Pairing and Failover menus on the Event Hubs Geo-DR Alias page." lightbox="./media/event-hubs-geo-dr/break-pairing-fail-over-menu.png":::
78
+
85
79
> [!WARNING]
86
-
> Failing over will activate the secondary namespace and remove the primary namespace from the Geo-Disaster Recovery pairing. Create another namespace to have a new geo-disaster recovery pair.
80
+
> Failing over activates the secondary namespace and remove the primary namespace from the Geo-Disaster Recovery pairing. Create another namespace to have a new geo-disaster recovery pair.
87
81
88
-
Finally, you should add some monitoring to detect if a failover is necessary. In most cases, the service is one part of a large ecosystem, thus automatic failovers are rarely possible, as often failovers must be performed in sync with the remaining subsystem or infrastructure.
82
+
Finally, you should add some monitoring to detect if a failover is necessary. In most cases, the service is one part of a large ecosystem and thus automatic failovers are rarely possible, as often failovers must be performed in sync with the remaining subsystem or infrastructure.
89
83
90
84
### Example
91
85
@@ -98,13 +92,12 @@ You can automate failover either with monitoring systems, or with custom-built m
98
92
If you initiate the failover, two steps are required:
99
93
100
94
1. If another outage occurs, you want to be able to fail over again. Therefore, set up another passive namespace and update the pairing.
101
-
102
95
2. Pull messages from the former primary namespace once it's available again. After that, use that namespace for regular messaging outside of your geo-recovery setup, or delete the old primary namespace.
103
96
104
97
> [!NOTE]
105
98
> Only fail forward semantics are supported. In this scenario, you fail over and then re-pair with a new namespace. Failing back is not supported; for example, in a SQL cluster.
106
99
107
-
:::image type="content" source="./media/event-hubs-geo-dr/geo2.png" alt-text="Image showing the failover flow":::
100
+
:::image type="content" source="./media/event-hubs-geo-dr/geo2.png" alt-text="Image showing the failover flow." lightbox="./media/event-hubs-geo-dr/geo2.png":::
108
101
109
102
## Manual failover
110
103
This section shows how to manually fail over using Azure portal, CLI, PowerShell, C#, etc.
@@ -197,17 +190,9 @@ Advantage of this approach is that failover can happen at the application layer
197
190
## Role-based access control
198
191
Microsoft Entra role-based access control (RBAC) assignments to entities in the primary namespace aren't replicated to the secondary namespace. Create role assignments manually in the secondary namespace to secure access to them.
199
192
200
-
## Next steps
193
+
## Related content
201
194
Review the following samples or reference documentation.
Copy file name to clipboardExpand all lines: articles/event-hubs/includes/event-hubs-connectivity.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
-
title: include file
3
-
description: include file
2
+
title: Troubleshoot connectivity issues
3
+
description: Include file with some common content that helps you with troubleshooting connectivity issues.
4
4
author: spelluru
5
5
ms.service: event-hubs
6
6
ms.topic: include
7
-
ms.date: 12/15/2022
7
+
ms.date: 07/29/2024
8
8
ms.author: spelluru
9
9
ms.custom: "include file"
10
10
@@ -48,7 +48,7 @@ Also, verify that the IP address for your namespace is allowed. To find the righ
48
48
```
49
49
2. Note down the IP address returned in `Non-authoritative answer`.
50
50
51
-
If you use a namespace hosted in an older cluster (based on Cloud Services - CNAME ending in *.cloudapp.net) and the namespace is **zone redundant**, you will need to follow few extra steps below. If your namespace is on a newer cluster (based on Virtual Machine Scale Set (VMSS) - CNAME ending in *.cloudapp.azure.com) and zone redundant you can skip below steps.
51
+
If you use a namespace hosted in an older cluster (based on Cloud Services - CNAME ending in *.cloudapp.net) and the namespace is **zone redundant**, you'll need to follow few extra steps below. If your namespace is on a newer cluster (based on Virtual Machine Scale Set (VMSS) - CNAME ending in *.cloudapp.azure.com) and zone redundant you can skip below steps.
There are various reasons for client applications not able to connect to an event hub. The connectivity issues might be permanent or transient. If the issue happens all the time (permanent), you might want to check the connection string, your organization's firewall settings, IP firewall settings, network security settings (service endpoints, private endpoints, etc.), and more. For transient issues, upgrading to latest version of the SDK, running commands to check dropped packets, and obtaining network traces might help with troubleshooting the issues. This article provides tips for troubleshooting connectivity issues with Azure Event Hubs.
9
+
There are various reasons for client applications not able to connect to an event hub. The connectivity issues might be permanent or transient.
10
+
11
+
If the issue happens all the time (**permanent**), check these settings and other options mentioned in the [Troubleshoot permanent connectivity issues](#troubleshoot-permanent-connectivity-issues) section in this article.
12
+
13
+
- Connection string
14
+
- Your organization's firewall settings
15
+
- IP firewall settings
16
+
- Network security settings (service endpoints, private endpoints, etc.), and more
17
+
18
+
For **transient issues**, try the following options that can help with troubleshooting the issues. For more information, see [Troubleshoot transient connectivity issues](#troubleshoot-transient-connectivity-issues).
19
+
20
+
- Upgrade to latest version of the SDK
21
+
- Run commands to check dropped packets
22
+
- Obtain network traces.
10
23
11
24
## Troubleshoot permanent connectivity issues
12
25
If the application isn't able to connect to the event hub at all, follow steps from this section to troubleshoot the issue.
@@ -22,7 +35,7 @@ For Kafka clients, verify that producer.config or consumer.config files are conf
### Verify that Event Hubs service tag is allowed in your network security groups
25
-
If your application is running inside a subnet and there's an associated network security group, confirm whether the internet outbound is allowed or Event Hubs service tag (`EventHub`) is allowed. See [Virtual network service tags](../virtual-network/service-tags-overview.md) and search for `EventHub`.
38
+
If your application is running inside a subnet and there's an associated network security group, confirm whether the internet outbound traffic is allowed or Event Hubs service tag (`EventHub`) is allowed. See [Virtual network service tags](../virtual-network/service-tags-overview.md) and search for `EventHub`.
26
39
27
40
### Check if the application needs to be running in a specific subnet of a virtual network
28
41
Confirm that your application is running in a virtual network subnet that has access to the namespace. If it's not, run the application in the subnet that has access to the namespace or add the IP address of the machine on which application is running to the [IP firewall](event-hubs-ip-filtering.md).
0 commit comments