《Windows Azure Platform 系列文章目录》
我们在使用Azure云平台的时候,可以使用可用区(Availability Zone)的概念。
可用区(Availability Zone,AZ),一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。
对于不同的订阅来说,A订阅看到的可用区(1),和B订阅看到的可用性区(1),从底层实际物理数据中心部署的角度来说,物理位置可能是不一样的。
简单来说,A订阅里的可用区(1)的物理位置,可能在B订阅里是部署在可用区(2)里的
那如何才能查看2个订阅之间,可用性区底层物理数据中心部署的对应关系?我们可以通过下面的PowerShell来实现
本文介绍的是海外的Azure Global,笔者试过Azure China暂不支持下面的脚本和REST API。
1.首先需要注册Azure Feature组件,以下我们以PowerShell为例:
#注册组件 Register-AzProviderFeature -FeatureName AvailabilityZonePeering -ProviderNamespace Microsoft.Resources #查看组件是否注册成功 get-AzProviderFeature -FeatureName AvailabilityZonePeering -ProviderNamespace Microsoft.Resources
如果注册成功的话,会显示下图的信息:
2.如果我们以Azure CLI注册组件,请使用下面的命令:
az feature register -n AvailabilityZonePeering --namespace Microsoft.Resources
az feature show -n AvailabilityZonePeering --namespace Microsoft.Resources
3.下载下面的PowerShell到本地磁盘 (感谢这位Githuber提供的脚本)
https://github.com/RZomerman/Check-AZZones/blob/main/Check-AzureAZmapping.ps1
4.执行PowerShell命令
#登录Azure环境 Add-AzAccount #选择当前订阅 Select-AzureSubscription -Current -SubscriptionName [你的订阅名称] #查看订阅之间的可用区对应关系 #Targetsubscription是目标订阅ID #Location选择Azure数据中心名称 #SourceSubscription是源订阅ID .\checkazmapping.ps1 -Targetsubscription "b5aa1700-1510-" -location eastus -SourceSubscription "8149a599-606f-"
5.执行完毕后,如下图:
可以看到,源订阅ID为:8149a599-606f的可用区1的,针对目标订阅:b5aa1700-1510的对应的可用区为2
6.我们还可以通过REST API的方式,来验证2个订阅之间的AZ对应关系。
具体可以参考:https://docs.microsoft.com/en-us/rest/api/resources/subscriptions/check-zone-peers#code-try-0
POST:https://management.azure.com/subscriptions/8149a599-606f-XXXXXXXXXXXXX/providers/Microsoft.Resources/checkZonePeers/?api-version=2020-01-01
Body:
{
"location": "eastus",
"subscriptionIds": [
"subscriptions/b5aa1700-1510-XXXXXXXXXXXXX"
]
}
Headers:
Authorization: Bearer [Access_Key]
Responses