Use at least Standard C1 cache instances

March 21, 2025 ยท View on GitHub

SYNOPSIS

Use Azure Cache for Redis instances of at least Standard C1.

DESCRIPTION

Azure Cache for Redis supports a range of different scale options. Basic tier or Standard C0 caches are not suitable for production workloads.

  • Basic tier is a single node system with no data replication and no SLA.
  • Standard C0 caches used shared resources and subject to noisy neighbor issues.

RECOMMENDATION

Consider using a minimum of a Standard C1 instance for production workloads.

EXAMPLES

Configure with Azure template

To deploy caches that pass this rule:

  • Set the properties.sku.name property to Premium or Standard.
  • Set the properties.sku.family property to P or C.
  • Set the properties.sku.capacity property to a capacity valid for the SKU 1 or higher.

For example:

{
  "type": "Microsoft.Cache/redis",
  "apiVersion": "2024-03-01",
  "name": "[parameters('name')]",
  "location": "[parameters('location')]",
  "properties": {
    "redisVersion": "6",
    "sku": {
      "name": "Premium",
      "family": "P",
      "capacity": 1
    },
    "redisConfiguration": {
      "aad-enabled": "True",
      "maxmemory-reserved": "615"
    },
    "enableNonSslPort": false,
    "publicNetworkAccess": "Disabled"
  },
  "zones": [
    "1",
    "2",
    "3"
  ]
}

Configure with Bicep

To deploy caches that pass this rule:

  • Set the properties.sku.name property to Premium or Standard.
  • Set the properties.sku.family property to P or C.
  • Set the properties.sku.capacity property to a capacity valid for the SKU 1 or higher.

For example:

resource cache 'Microsoft.Cache/redis@2024-03-01' = {
  name: name
  location: location
  properties: {
    redisVersion: '6'
    sku: {
      name: 'Premium'
      family: 'P'
      capacity: 1
    }
    redisConfiguration: {
      'aad-enabled': 'True'
      'maxmemory-reserved': '615'
    }
    enableNonSslPort: false
    publicNetworkAccess: 'Disabled'
  }
  zones: [
    '1'
    '2'
    '3'
  ]
}