0

I'm attempting to create a backend address pool via an ARM template for a load balancer with the following code:

            "type": "Microsoft.Network/loadBalancers/backendAddressPools",
        "apiVersion": "2020-05-01",
        "name": "[concat(variables('engineLbName'), '/LoadBalancerBEAddressPool')]",
        "dependsOn": [
            "[resourceId('Microsoft.Network/loadBalancers', variables('engineLbName'))]"
        ],
        "properties": {}

The loadbalancer it is targetting is using a basic SKU. When i attempt to deploy this arm template through the azure portal, I am given the following error message:

{
"error": {
    "code": "BackendOperationOnlyAllowedForStandardLB",
    "message": "Operation on backend pool /subscriptions/****/resourceGroups/*******/providers/Microsoft.Network/loadBalancers/LB-engine/backendAddressPools/LoadBalancerBEAddressPool not allowed. This operation is only allowed for standard SKU load balancers.",
    "details": []
}

}

Obviously, this indicates that i need to make my LB/LBIP of a standard SKU, however i specifically need this done on a basic SKU.

I am very confused as to why this error occurs, as we have many basic LB's that have backend configuration, and you are freely able to create a BE pool through the portal on a basic LB - I am unsure on how to do this via an ARM template.

1

I had the same issue, I downloaded the Template from Azure which effectively had my Load Balancer's Backend Address Pool as a "dependsOn" and as a "property".

This is under the load balancer's "dependsOn" list :

    "[resourceId('Microsoft.Network/loadBalancers/backendAddressPools', 'LB-db-phi-dbphipri', 'LoadBalancerBEAddressPool')]"

And the property under the Load Balancer's property list:

    "backendAddressPools": [
      {
        "name": "LoadBalancerBEAddressPool",            
        "properties": {}
      }
    ]

Lastly, I had a child definition of the backendAddressPool as well

{
  "type": "Microsoft.Network/loadBalancers/backendAddressPools",
  "apiVersion": "2020-05-01",
  "name": "LB-db-phi-dbphipri/LoadBalancerBEAddressPool",
  "properties": {}
}

You don't need both. In my case I removed the "child" and the "dependsOn" and just have the property defined under the load balancer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.