Skip to content

Public IP addresses should use Standard SKU#

Reliability · Public IP address · Rule · 2021_12 · Important

Public IP addresses should be deployed with Standard SKU for production workloads.

Description#

Public IP addresses allow Internet resources to communicate inbound to Azure resources. Currently two SKUs are supported: Basic and Standard.

However, the Basic SKU for Public IP addresses will be retired on September 30, 2025.

The Standard SKU additionally offers security and redundancy improvements over the Basic SKU. Including:

  • Secure by default model and be closed to inbound traffic when used as a frontend. Network security groups are required to allow inbound traffic.
  • Support for zone-redundancy and zonal deployments at creation. Zone-redundancy should mach the zone-redundancy of the resource it is attached to.
  • Have an adjustable inbound originated flow idle timeout.
  • More granular control of how traffic is routed between Azure and the Internet.

Recommendation#

Consider using Standard SKU for Public IP addresses deployed in production.

Examples#

Configure with Azure template#

To configure Standard SKU for a Public IP address.

  • Set sku.name to Standard.

For example:

Azure Template snippet
{
  "type": "Microsoft.Network/publicIPAddresses",
  "apiVersion": "2023-05-01",
  "name": "[parameters('name')]",
  "location": "[parameters('location')]",
  "sku": {
    "name": "Standard",
    "tier": "Regional"
  },
  "properties": {
    "publicIPAddressVersion": "IPv4",
    "publicIPAllocationMethod": "Static",
    "idleTimeoutInMinutes": 4
  },
  "zones": [
    "1",
    "2",
    "3"
  ]
}

Configure with Bicep#

To configure Standard SKU for a Public IP address.

  • Set sku.name to Standard.

For example:

For example:

Azure Bicep snippet
resource pip 'Microsoft.Network/publicIPAddresses@2023-05-01' = {
  name: name
  location: location
  sku: {
    name: 'Standard'
    tier: 'Regional'
  }
  properties: {
    publicIPAddressVersion: 'IPv4'
    publicIPAllocationMethod: 'Static'
    idleTimeoutInMinutes: 4
  }
  zones: [
    '1'
    '2'
    '3'
  ]
}

Comments