App Service Plan should enable zone redundancy
Medium
Azure
General
serverfarms-app-service-plan-enable
Applies to
Microsoft.Web/serverfarms
What CGPulse checks
A resource passes this rule when zoneRedundant must equal true. Anything else is reported as a finding with the evaluated property value attached as evidence.
How to fix it
Configure zone-redundant high availability to protect against zone failures. In Azure Portal: App Service Plan > Scale up > select zone-redundant tier. See: https://learn.microsoft.com/en-us/azure/app-service/overview-hosting-plans
Careful: Zone redundancy requires Premium v2/v3 tier and cannot be changed in-place. Requires creating a new plan and migrating apps
CLI
az appservice plan show --ids "{id}" --query "zoneRedundant" -o tsvBicep
// Zone redundancy requires a new App Service Plan with Premium v2/v3 SKU
resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {{
name: '{name}'
location: resourceGroup().location
sku: {{
name: 'P1v3'
tier: 'PremiumV3'
capacity: 3
}}
properties: {{
zoneRedundant: true
}}
}}
// Migrate existing apps to the new zone-redundant planTerraform
# Zone redundancy requires creating a new plan (cannot enable on existing)
resource "azurerm_service_plan" "{name}" {
name = "{name}"
resource_group_name = "{rg}"
location = var.location
os_type = "Linux"
sku_name = "P1v3"
zone_balancing_enabled = true
worker_count = 3
}
Compliance frameworks
Is your environment compliant with this rule?
CGPulse checks it — and 621 others — against your Azure and AWS accounts with read-only access.
Related Azure rules
- Action Group should be enabled
- Activity Log Alert should be enabled
- AKS cluster logs should be sent to Log Analytics
- AKS cluster must enable RBAC
- AKS cluster must enable RBAC
- AKS cluster should be a private cluster
- AKS cluster should disable local accounts
- AKS cluster should enable Azure RBAC for Kubernetes