Load Balancer should use Standard SKU
High
Azure
General
loadbalancers-load-balancer-standard-sku
Applies to
Microsoft.Network/loadBalancers
What CGPulse checks
A resource passes this rule when sku.name must equal Standard. Anything else is reported as a finding with the evaluated property value attached as evidence.
How to fix it
Upgrade to Standard SKU for zone redundancy and better security defaults. In Azure Portal: create new Standard Load Balancer and migrate. See: https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-overview#skus
CLI
az network lb show --ids "{id}" --query "sku.name" -o tsvBicep
// SKU cannot be changed — create new Load Balancer with Standard SKU
resource lb 'Microsoft.Network/loadBalancers@2024-01-01' = {{
name: '{name}'
location: resourceGroup().location
sku: {{
name: 'Standard'
tier: 'Regional'
}}
properties: {{
frontendIPConfigurations: [
{{
name: 'frontend'
properties: {{
publicIPAddress: {{
id: '<public-ip-resource-id>'
}}
}}
}}
]
}}
}}Terraform
resource "azurerm_lb" "{name}" {
name = "{name}"
resource_group_name = "{rg}"
location = var.location
sku = "Standard"
frontend_ip_configuration {
name = "frontend"
public_ip_address_id = "<public-ip-id>"
}
}
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