| title | Configure App Service Plans for Zone Redundancy |
|---|---|
| description | Learn how to configure an App Service plan for zone redundancy, see how plan instances spread across availability zones, and check for zone redundancy support. |
| ms.topic | how-to |
| ms.service | azure-app-service |
| ms.date | 07/15/2025 |
| author | anaharris |
| ms.author | anaharris |
Azure App Service provides built-in reliability features to help ensure that your applications remain available and resilient. This article describes how to create an App Service plan that includes zone redundancy. It also covers how to disable and enable zone redundancy on existing plans and how to check for zone redundancy support. For more information about zone redundancy, see Reliability in App Service.
To create a new App Service plan that includes zone redundancy, follow the appropriate steps.
Follow the guidance to create an App Service plan. Make sure to select Enabled for Zone redundancy.
:::image type="content" source="./media/configure-zone-redundancy/app-service-create-zr-plan.png" alt-text="Screenshot of zone redundancy enablement during App Service plan creation in the Azure portal.":::
- Set the
--zone-redundantargument. - Set the
--number-of-workersargument, which is the number of instances, to a value of 2 or more.
az appservice plan create \
-n <app-service-plan-name> \
-g <resource-group-name> \
--zone-redundant \
--number-of-workers 2 \
--sku P1V3
- Set the
zoneRedundantproperty totrue. - Set the
sku.capacityproperty to a value of 2 or more. If you don't define thesku.capacityproperty, the value defaults to 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
}
}-
To enable zone redundancy on an existing App Service plan, check for zone redundancy support.
-
If your App Service plan supports zone redundancy, use the Azure portal, the Azure CLI, or Bicep and Azure Resource Manager to enable or disable it.
-
In the Azure portal, go to your App Service plan.
-
Select Settings > Scale out (App Service plan) in the left navigation pane.
-
Select Zone Redundancy to enable zone redundancy. Deselect it to disable it.
The zone redundancy status of an App Service plan changes almost instantaneously. No downtime or performance problems occur during the process.
:::image type="content" source="./media/configure-zone-redundancy/app-service-plan-zone-redundancy-portal.png" alt-text="Screenshot of zone redundancy property for an App Service plan in the Azure portal.":::
[!IMPORTANT] If you have Rules Based scaling enabled, you can't use the Azure portal to enable zone redundancy. You must use the Azure CLI or Bicep and Resource Manager instead.
-
To enable zone redundancy, set the
zoneRedundantproperty totrue. -
Set the
sku.capacityargument, which is the number of instances, to a value of 2 or more.az appservice plan update \ -n <app-service-plan-name> \ -g <resource-group-name> \ --set zoneRedundant=true sku.capacity=2 -
To disable zone redundancy, set the
zoneRedundantproperty tofalse.az appservice plan update \ -n <app-service-plan-name> \ -g <resource-group-name> \ --set zoneRedundant=false
-
To enable zone redundancy, set the
zoneRedundantproperty totrue. -
Set the
sku.capacityproperty to a value of 2 or more. If you don't define thesku.capacityproperty, the value defaults to 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 } }
-
To disable zone redundancy, set the
zoneRedundantproperty tofalse.
-
-
If your App Service plan is on a scale unit that doesn't support zone redundancy, you can't enable zone redundancy on your plan. Instead, you need to redeploy your apps to a new plan on a different scale unit.
To check whether an existing App Service plan supports zone redundancy, do the following steps:
-
Determine the maximum number of availability zones that the App Service plan supports by using the Azure portal, the Azure CLI, or Bicep and Resource Manager.
-
In the Azure portal, go to your App Service plan.
-
Select Scale out (App Service plan).
Maximum available zones shows the maximum number of zones that your App Service plan can use.
:::image type="content" source="./media/configure-zone-redundancy/app-service-plan-max-zones-portal.png" alt-text="Screenshot of the maximum available zones property in the scale-out section in the Azure portal for an App Service plan.":::
Query the plan's
maximumNumberOfZonesproperty.az appservice plan show \ -n <app-service-plan-name> \ -g <resource-group-name> \ --query properties.maximumNumberOfZonesQuery the plan's
maximumNumberOfZonesproperty.resource appServicePlan 'Microsoft.Web/serverfarms@2024-11-01' existing = { name: '<app-service-plan-name>' } #disable-next-line BCP083 output maximumNumberOfZones int = appServicePlan.properties.maximumNumberOfZones
-
-
Compare the number with the following table to determine whether your plan supports zone redundancy.
Maximum number of zones Zone redundancy support More than 1 Supported Equal to 1 Not supported* * If you use a plan or a stamp that doesn't support availability zones, you must create a new App Service plan in a new resource group. This setup ensures that your deployment lands on App Service infrastructure that supports availability zones.
When you have a zone-redundant App Service plan, the platform automatically places the instances across physical availability zones. To verify that your instances are spread across zones, use the Azure portal or the Azure CLI to check which physical availability zones your plan's instances use.
-
In the Azure portal, go to your App Service app. If you have multiple apps in a plan, you can select any app.
-
Select Health check.
-
Select Instances to view the physical zone placement for each of your instances.
:::image type="content" source="./media/configure-zone-redundancy/app-service-physical-zones.png" alt-text="Screenshot of the Instances tab in the Health Check section with the physical zone information in the Azure portal for an App Service app.":::
Use the REST API, which returns the physicalZone value for each instance in the App Service plan.
az rest --method get --url https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Web/sites/{appName}/instances?api-version=2024-04-01
Bicep doesn't support this operation. Use the Azure CLI or the Azure portal instead.