Skip to content

Commit d29d4eb

Browse files
authored
Merge pull request #100450 from jlian/master
Add info about failover and private links
2 parents a73d3d9 + adf1d2d commit d29d4eb

File tree

2 files changed

+76
-59
lines changed

2 files changed

+76
-59
lines changed

articles/iot-hub/iot-hub-ha-dr.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
title: Azure IoT Hub high availability and disaster recovery | Microsoft Docs
33
description: Describes the Azure and IoT Hub features that help you to build highly available Azure IoT solutions with disaster recovery capabilities.
4-
author: rkmanda
4+
author: jlian
55
ms.service: iot-hub
66
services: iot-hub
77
ms.topic: conceptual
8-
ms.date: 08/21/2019
8+
ms.date: 03/17/2020
99
ms.author: philmea
1010
---
1111

@@ -55,7 +55,7 @@ Both these failover options offer the following recovery point objectives (RPOs)
5555
Once the failover operation for the IoT hub completes, all operations from the device and back-end applications are expected to continue working without requiring a manual intervention. This means that your device-to-cloud messages should continue to work, and the entire device registry is intact. Events emitted via Event Grid can be consumed via the same subscription(s) configured earlier as long as those Event Grid subscriptions continue to be available.
5656

5757
> [!CAUTION]
58-
> - The Event Hub-compatible name and endpoint of the IoT Hub built-in Events endpoint change after failover. When receiving telemetry messages from the built-in endpoint using either the event hub client or event processor host, you should [use the IoT hub connection string](iot-hub-devguide-messages-read-builtin.md#read-from-the-built-in-endpoint) to establish the connection. This ensures that your back-end applications continue to work without requiring manual intervention post failover. If you use the Event Hub-compatible name and endpoint in your back-end application directly, you will need to reconfigure your application by [fetching the new Event Hub-compatible name and endpoint](iot-hub-devguide-messages-read-builtin.md#read-from-the-built-in-endpoint) after failover to continue operations.
58+
> - The Event Hub-compatible name and endpoint of the IoT Hub built-in Events endpoint change after failover, and configured consumer groups are removed (this is a bug that will be fixed before May 2020). When receiving telemetry messages from the built-in endpoint using either the Event Hub client or event processor host, you should [use the IoT hub connection string](iot-hub-devguide-messages-read-builtin.md#read-from-the-built-in-endpoint) to establish the connection. This ensures that your back-end applications continue to work without requiring manual intervention post failover. If you use the Event Hub-compatible name and endpoint in your application directly, you will need to [reconfigure the consumer group that they use and fetch the new Event Hub-compatible endpoint](iot-hub-devguide-messages-read-builtin.md#read-from-the-built-in-endpoint) after failover to continue operations. If you use Azure Functions or Azure Stream Analytics to connect the built-in endpoint, you might need to perform a **Restart**.
5959
>
6060
> - When routing to storage, we recommend listing the blobs or files and then iterating over them, to ensure all blobs or files are read without making any assumptions of partition. The partition range could potentially change during a Microsoft-initiated failover or manual failover. You can use the [List Blobs API](https://docs.microsoft.com/rest/api/storageservices/list-blobs) to enumerate the list of blobs or [List ADLS Gen2 API](https://docs.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/list) for the list of files.
6161
@@ -71,10 +71,15 @@ If your business uptime goals aren't satisfied by the RTO that Microsoft initiat
7171

7272
The manual failover option is always available for use irrespective of whether the primary region is experiencing downtime or not. Therefore, this option could potentially be used to perform planned failovers. One example usage of planned failovers is to perform periodic failover drills. A word of caution though is that a planned failover operation results in a downtime for the hub for the period defined by the RTO for this option, and also results in a data loss as defined by the RPO table above. You could consider setting up a test IoT hub instance to exercise the planned failover option periodically to gain confidence in your ability to get your end-to-end solutions up and running when a real disaster happens.
7373

74-
> [!IMPORTANT]
75-
> - Test drills should not be performed on IoT hubs that are being used in your production environments.
76-
>
77-
> - Manual failover should not be used as a mechanism to permanently migrate your hub between the Azure geo paired regions. Doing so would cause an increased latency for the operations being performed against the hub from devices homed in the old primary region.
74+
For step-by-step instructions, see [Tutorial: Perform manual failover for an IoT hub](tutorial-manual-failover.md)
75+
76+
### Running test drills
77+
78+
Test drills should not be performed on IoT hubs that are being used in your production environments.
79+
80+
### Don't use manual failover to migrate IoT hub to a different region
81+
82+
Manual failover should *not* be used as a mechanism to permanently migrate your hub between the Azure geo paired regions. Doing so increases latency for the operations being performed against the IoT hub from devices homed in the old primary region.
7883

7984
## Failback
8085

0 commit comments

Comments
 (0)