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 tsv

Bicep

// 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 plan

Terraform

# 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

Vendor documentation

Is your environment compliant with this rule?

CGPulse checks it — and 621 others — against your Azure and AWS accounts with read-only access.

Run a free scan

Related Azure rules

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.