将 Azure 服务总线命名空间移到另一个区域
在很多情况下,可能需要将现有服务总线命名空间从一个区域移到另一个区域。 例如,可能需要创建一个具有相同配置的命名空间,以便进行测试。 此外,还可能需要在另一个区域中再创建一个命名空间,作为灾难恢复计划的一部分。
下面是概要步骤:
- 将当前区域中的服务总线命名空间导出到 Azure 资源管理器模板。
- 更新模板中资源的位置。 此外,从模板中删除默认订阅筛选器,因为用户无法创建默认规则,系统会自动创建。
- 使用该模板将服务总线命名空间部署到目标区域。
- 验证部署,确保已在目标区域中创建命名空间、队列、主题和主题订阅。
- 处理完所有消息后,从源区域中删除命名空间,完成移动。
先决条件
确保目标区域支持帐户使用的 Azure 服务总线和功能。
准备
若要开始,请导出资源管理器模板。 此模板包含描述服务总线命名空间的设置。
登录 Azure 门户。
选择“所有资源”,然后选择你的服务总线命名空间。
在“服务总线命名空间”页上,选择左侧菜单中的“自动化”下的“导出模版”。
选择“导出模板”页中的“下载”。
找到从门户下载的 .zip 文件,并将该文件解压缩到所选的文件夹。 此 zip 文件包含模板和参数 JSON 文件。
在解压缩的文件夹中打开 template.json 文件。
搜索
location
,并将该属性的值替换为区域或位置的新名称。 若要获取位置代码,请参阅 Azure 位置。 区域的代码是不带空格的区域名称,例如China East
等同于chinaeast
。删除以下类型的资源定义:
Microsoft.ServiceBus/namespaces/topics/subscriptions/rules
。 别忘了删除此部分前面的逗号 (,
) 字符,以确保 JSON 有效。注意
不能使用资源管理器模板为订阅创建默认规则。 在目标区域中创建订阅时,系统将自动创建默认规则。
移动
部署模板以在目标区域中创建服务总线命名空间。
在 Azure 门户中,选择“创建资源”。
在“搜索市场”中,键入“模板部署”作为搜索文本,选择“模板部署(使用自定义模板进行部署)”,然后按 ENTER。
在“模板部署”页面上,选择“创建”。
在“自定义部署”页上,选择“在编辑器中生成自己的模板”。
在“编辑模板”页的工具栏上选择“加载文件”,然后按照说明加载你在上一部分下载的 template.json 文件。
选择“保存”以保存该模板。
在“自定义部署”页上执行以下步骤:
选择 Azure 订阅。
选择现有的资源组或创建一个资源组。
选择目标位置或区域。 如果选择了现有资源组,则此设置为只读。
输入新的命名空间名称。
选择“查看 + 创建”。
在“查看 + 创建”页上,选择页面底部的“创建”。
验证
在部署成功后,选择“转到资源组”。
在“资源组”页上,选择“服务总线命名空间”。
在“服务总线命名空间”页上,验证是否可以看到源区域中的队列、主题和订阅。
在右侧窗格底部的命名空间中可以看到“队列”。
切换到“主题”选项卡,查看命名空间中的主题
选择主题,验证是否已创建订阅。
丢弃或清理
部署后,如果要重新开始,则可以删除目标服务总线命名空间,然后重复执行本文“准备”和“移动”部分所述的步骤。
要提交更改并完成命名空间的移动,请删除源服务总线命名空间。 确保处理完所有消息后,再删除该命名空间。
使用 Azure 门户删除源或目标服务总线命名空间:
在 Azure 门户顶部的搜索窗口中,键入“服务总线”,然后从搜索结果中选择“服务总线”。 此时会在列表中看到服务总线命名空间。
选择要删除的目标命名空间,并从工具栏中选择“删除”。
在“删除资源”页上,验证所选资源,并键入“是”确认删除,然后选择“删除”。
另一种方法是删除包含该服务总线命名空间的资源组。 在“资源组”页上,选择工具栏上的“删除资源组”,然后确认删除。
后续步骤
在本教程中,我们将 Azure 服务总线命名空间从一个区域移到了另一个区域,并清理了源资源。 若要详细了解如何在区域之间移动资源,以及如何在 Azure 中进行灾难恢复,请参阅: