Azure 应用服务提供内置可靠性功能,可帮助确保应用程序保持可用且具有复原能力。 本文介绍如何创建包含区域冗余的应用服务计划。 它还介绍如何在现有计划中禁用和启用区域冗余,以及如何检查区域冗余支持。 有关区域冗余的详细信息,请参阅 应用服务中的可靠性。
创建新的区域冗余应用服务计划
若要创建包含区域冗余的新应用服务计划,请执行以下步骤。
- 将
--zone-redundant
的参数设置。
- 将
--number-of-workers
参数(即实例数)设置为值 2 或更多。
az appservice plan create \
-n <app-service-plan-name> \
-g <resource-group-name> \
--zone-redundant \
--number-of-workers 2 \
--sku P1V3
- 将
zoneRedundant
属性设置为 true
。
- 将
sku.capacity
属性设置为值 2 或更多。 如果未定义 sku.capacity
属性,则值默认值为 1。
resource appServicePlan 'Microsoft.Web/serverfarms@2024-11-01' = {
name: appServicePlanName
location: location
sku: {
name: sku
capacity: 2
}
kind: 'linux'
properties: {
reserved: true
zoneRedundant: true
}
}
为现有应用服务计划设置区域冗余
若要在现有应用服务计划中启用区域冗余, 请检查区域冗余支持。
如果应用服务计划支持区域冗余,请使用 Azure 门户、Azure CLI 或 Bicep 和 Azure 资源管理器来启用或禁用它。
在 Azure 门户中,转到应用服务计划。
在左侧导航窗格中选择“设置横向扩展”>(应用服务计划)。
选择 区域冗余 以启用区域冗余。 取消选择它以禁用它。
应用服务计划的区域冗余状态几乎即时更改。 在此过程中不会发生停机或性能问题。
重要
如果已启用 基于规则 的缩放,则无法使用 Azure 门户启用区域冗余。 必须改用 Azure CLI 或 Bicep 和 Resource Manager。
若要 启用区域冗余,请将 zoneRedundant
属性设置为 true
。
将 sku.capacity
参数(即实例数)设置为值 2 或更多。
az appservice plan update \
-n <app-service-plan-name> \
-g <resource-group-name> \
--set zoneRedundant=true sku.capacity=2
若要 禁用区域冗余,请将 zoneRedundant
属性设置为 false
。
az appservice plan update \
-n <app-service-plan-name> \
-g <resource-group-name> \
--set zoneRedundant=false
若要 启用区域冗余,请将 zoneRedundant
属性设置为 true
。
将 sku.capacity
属性设置为值 2 或更多。 如果未定义 sku.capacity
属性,则值默认值为 1。
resource appServicePlan 'Microsoft.Web/serverfarms@2024-11-01' = {
name: appServicePlanName
location: location
sku: {
name: sku
capacity: 2
}
kind: 'linux'
properties: {
reserved: true
zoneRedundant: true
}
}
若要 禁用区域冗余,请将 zoneRedundant
属性设置为 false
。
检查应用服务计划上的区域冗余支持
若要检查现有应用服务计划是否支持区域冗余,请执行以下步骤:
使用 Azure 门户、Azure CLI 或 Bicep 和 Resource Manager 确定应用服务计划支持的最大可用性区域数。
在 Azure 门户中,转到应用服务计划。
选择“扩展规模”(应用服务计划)。
最大可用区域 显示应用服务计划可以使用的最大区域数。
查询计划 maximumNumberOfZones
的属性。
az appservice plan show \
-n <app-service-plan-name> \
-g <resource-group-name> \
--query properties.maximumNumberOfZones
查询计划 maximumNumberOfZones
的属性。
resource appServicePlan 'Microsoft.Web/serverfarms@2024-11-01' existing = {
name: '<app-service-plan-name>'
}
#disable-next-line BCP083
output maximumNumberOfZones int = appServicePlan.properties.maximumNumberOfZones
将数字与下表进行比较,以确定计划是否支持区域冗余。
最大区域数 |
区域冗余支持 |
超过 1 |
已支持 |
等于 1 |
不支持* |
* 如果使用不支持可用性区域的计划或戳记,则必须在新资源组中创建新的应用服务计划。 此设置可确保部署位于支持可用性区域的应用服务基础结构上。
查看应用服务计划的物理区域
有了区域冗余的应用服务计划时,平台会自动将实例置于 物理可用性区域。 若要验证实例是否分布在多个区域,请使用 Azure 门户或 Azure CLI 来检查计划实例使用的物理可用性区域。
在 Azure 门户中,转到应用服务应用。 如果计划中有多个应用,可以选择任何应用。
选择 “运行状况检查”。
选择 “实例 ”以查看每个实例的物理区域位置。
使用 REST API,该 API 返回 physicalZone
应用服务计划中每个实例的值。
az rest --method get --url https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Web/sites/{appName}/instances?api-version=2024-04-01
Bicep 不支持此作。 请改用 Azure CLI 或 Azure 门户。
相关内容