教程:为 IoT 中心执行手动故障转移

手动故障转移是 IoT 中心服务的一项功能,允许客户将其中心的操作从主要区域故障转移到相应的 Azure 异地配对区域。 在出现区域性灾难或者服务中断时间延长的情况下,可以进行手动故障转移。 也可通过执行计划内故障转移来测试灾难恢复功能,虽然我们建议使用测试性 IoT 中心而不是在生产环境中运行的 IoT 中心。 对于 2017 年 5 月 18 日之后创建的 IoT 中心,提供给客户的手动故障转移功能不另外收费。

将在本教程中执行以下任务:

  • 使用 Azure 门户创建 IoT 中心。
  • 执行故障转移。
  • 查看在辅助位置运行的中心。
  • 执行故障回复,让 IoT 中心的操作返回到主位置。
  • 确认中心在正确的位置正确运行。

有关使用 IoT 中心的手动故障转移和 Microsoft 发起的故障转移的详细信息,请参阅跨区域灾难恢复

先决条件

  • Azure 订阅。 如果没有 Azure 订阅,可在开始前创建一个试用帐户

创建 IoT 中心

此部分介绍如何使用 Azure 门户创建 IoT 中心。

  1. 登录 Azure 门户

  2. 在 Azure 主页上,选择“+ 创建资源”按钮。

  3. 在“类别”菜单中选择“物联网”,然后选择“IoT 中心”。

  4. 在“基本信息”选项卡上,按如下所示填写字段:

    重要

    由于 IoT 中心将作为 DNS 终结点公开可发现,因此请务必避免在命名它时输入任何敏感信息或个人身份信息。

    属性
    订阅 选择要用于中心的订阅。
    资源组 选择一个资源组或新建一个资源组。 若要新建资源组,请选择“新建”并填写要使用的名称。
    IoT 中心名称 输入中心的名称。 此名称必须全局唯一,长度介于 3 到 50 个字母数字字符之间。 名称还可以包含短破折号 ('-') 字符。
    区域 选择离你最近的地区,也就是你希望中心所在的位置。 某些功能(如 IoT 中心设备流)仅适用于特定区域。 对于这些受限功能,你必须选择受支持的区域之一。
    选择要用于中心的层。 根据你需要多少功能以及每天通过解决方案发送多少消息来选择层。

    免费层适用于测试和评估。 如果是免费层,则可将 500 台设备连接到中心,每天最多可传输 8,000 条消息。 每个 Azure 订阅可以在免费层中创建一个 IoT 中心。

    若要比较每个层可使用的功能,请选择“比较层”。 有关详细信息,请参阅选择适用于解决方案的 IoT 中心层
    每日消息数量限制 为中心选择消息的每日最大配额。 可用选项取决于为中心选择的层。 若要查看可用的消息传送和定价选项,请选择“查看所有选项”,然后选择最符合中心需求的选项。 有关详细信息,请参阅 IoT 中心配额和限制

    Screen capture that shows how to create an IoT hub in the Azure portal.

  5. 在完成时选择“下一步:网络”,继续创建中心。

  6. 在“网络”选项卡上填写字段,如下所示:

    属性
    连接配置 选择设备可以用来连接到 IoT 中心的终结点。 本例接受默认设置“公共终结点”。 可以在创建 IoT 中心后更改此设置。 有关详细信息,请参阅管理 IoT 中心的公用网络访问

    Screen capture that shows how to choose the endpoints that can connect to a new IoT hub.

  7. 在完成时选择“下一步:管理”,继续创建中心。

    Screen capture that shows how to set the role-based access control and scale for a new IoT hub.

    可在此处接受默认设置。 如果需要,可以修改以下任何字段:

    • 定价和缩放层级:根据你需要多少功能以及每天通过解决方案发送多少消息来选择层级。 免费层适用于测试和评估。 如果是免费层,则可将 500 台设备连接到中心,每天最多可传输 8,000 条消息。 每个 Azure 订阅可以在免费层中创建一个 IoT 中心。 有关其他层级选项的详细信息,请参阅选择合适的 IoT 中心层级

      如果你正在按照快速入门进行操作,请选择免费层级。

    • IoT 中心单位:每日每单位允许的消息数取决于中心的定价层。 例如,如果希望中心支持 700,000 条消息引入,请选择两个 S1 层单位。

    • 基于角色的访问控制:此属性决定如何管理对 IoT 中心的访问。 允许共享访问策略或仅选择基于角色的访问控制。 有关详细信息,请参阅使用 Azure Active Directory 控制对 IoT 中心的访问

    • 设备到云的分区:此属性会将设备到云的消息与这些消息的同步读取器的数量关联起来。 大多数中心只需要 4 个分区。

    注意

    所示价格仅用作示例。

  8. 在完成时选择“下一步:标记”继续到下一屏幕。

    标记是名称/值对。 可以为多个资源和资源组分配相同的标记,以便对资源进行分类并合并计费。 在本文档中,不会添加任何标记。 有关详细信息,请参阅使用标记来组织 Azure 资源

    Screen capture that shows how to assign tags for a new IoT hub.

  9. 在完成时选择“下一步:查看+创建”可查看选择。

  10. 选择“创建”,以启动新中心的部署。 创建中心时,部署将持续几分钟。 部署完成后,选择“转到资源”以打开新的中心。

执行手动故障转移

注意

一个 IoT 中心每天的限制是两次故障转移和两次故障回复。

  1. 在 Azure 门户中导航到 IoT 中心。

  2. 在导航菜单上的“中心设置”下,选择“故障转移”。

    Screenshot showing IoT Hub properties pane.

  3. 在“故障转移”窗格上,可以看到为 IoT 中心列出的“当前位置”和“故障转移位置”。 当前位置始终指示中心当前处于活动状态的位置。 故障转移位置是标准的 Azure 异地配对区域,与当前位置配对。 不能更改位置值。

  4. 在“故障转移”窗格顶部选择“启动故障转移”。

    Screenshot showing Manual Failover pane.

  5. 在“确认”窗格中填充 IoT 中心的名称,确认是它需要故障转移。 然后,若要启动故障转移,请选择“故障转移”。

    Screenshot showing Manual Failover confirmation pane.

    执行手动故障转移所需时间与中心的已注册设备数成正比。 例如,如果有 1 百万台设备,可能需要 15 分钟,但如果有 5 百万台设备,则可能需要 1 小时或更长的时间。

    在手动故障转移进程正在运行时,会显示一个横幅,告诉你正在进行手动故障转移。

    如果选择“概述”来查看 IoT 中心详细信息,则会看到一个横幅,指出中心正在进行手动故障转移。

    故障转移完成后,“手动故障转移”页上的当前区域和故障转移区域会互换,中心重新处于活动状态。 在本示例中,当前位置现在为 chinaeast,故障转移位置现在为 chinanorth

    Screenshot showing failover is complete.

    “概述”页还显示一个横幅,指示故障转移已完成,IoT 中心正在已配对区域中运行。

执行故障回复

执行手动故障转移以后,可以将中心的操作切换回原始的主要区域。 此操作称为“故障回复”。 如果刚执行故障转移,则需等待大约一小时,然后才能请求故障回复。 如果尝试在比这更短的时间内执行故障回复,则会显示错误消息。

故障回复的执行方式与手动故障转移一样。 下面是步骤:

  1. 若要执行故障回复,请返回到 IoT 中心的“故障转移”窗格。

  2. 在“故障转移”窗格顶部选择“启动故障转移”。

  3. 在“确认”窗格中填充 IoT 中心的名称,确认是它需要故障回复。 然后,若要启动故障回复,请选择“故障转移”。

    Screenshot showing Manual Failover confirmation pane.

    故障回复完成后,IoT 中心会将原始区域再次显示为当前位置,并将已配对区域显示为故障转移位置,正如你最初所看到的那样。

清理资源

若要删除为本教程创建的资源,请删除资源组。 此操作会一并删除组中包含的所有资源。 在本示例中,它会删除 IoT 中心和资源组本身。

  1. 单击“资源组”。

  2. 找到并选择包含你的 IoT 中心的资源组。

  3. 如果要删除整个组及其中的所有资源,请选择“删除资源组”。 系统提示时,请输入资源组的名称,然后选择“删除”以确认该操作。

    如果只想从组中删除特定资源,请选中要删除的每个资源旁边的框,然后选择“删除”。 出现提示时,请键入“是”,然后选择“删除”以确认该操作。

后续步骤

本教程介绍了如何配置并执行手动故障转移,以及如何启动故障回复。

请继续学习下一教程,了解如何从后端服务配置设备。