Azure ARM | Cannot add the second NIC to Load Balancer (different availability sets)

Imagine that you need to configure Load Balancer (LB) to handle requests from outside to multiple scale sets , virtual machines or internal LB needs to be added in addition to external LBs. You configure VMs, scale sets, load balancer(s), backend pool and define load balancing rule. The following example shows an excerpt from the arm template:

 ####
"loadBalancingRules": [
                    {
                        "name": "[variables('lbInternalName')]",
                        "properties": {
                            "frontendIPConfiguration": {
                                "id": "[variables('lbInternalFrontEndId')]"
                            },
                            "backendAddressPool": {
                                "id": "[variables('lbInternalBackEndPoolId')]"
                            },
                            "protocol": "Tcp",
                            "frontendPort": 80,
                            "backendPort": 80, 
                            "enableFloatingIP": false,
                            "idleTimeoutInMinutes": 5,
                            "probe": {
                                "id": "[variables('lbInternalProbeId')]"
                            }
                        }
                    }
                ],
####

What can go wrong? Pay attention to the Load Balancer SKU.

You deployment/configuration may fail with the following errrors:

  • Network <..> associated with different availability set <…>
  • Network Interface and Load Balancer are in different availability sets

And, if you are trying to configure scale sets with multiple load balancers:

  • Different basic sku and standard sku load balancer or public Ip resources in VMSS is not allowed

So, if your goal is to associate multiple scale sets with a load balancer, the load balancer must be Standard. Only Standard LB allows you to have multiple endpoints in a backend pool. Also, make sure you are not mixing the LB SKUs. It happens often when int and ext LBs are in use.

My blog statistics

I started this blog about seven year ago. A lot of things (good and bad) happened since then. However, the blog statistics, which I want to share with you, have being increasing steadily since December, 2012:

  • 2 design refactoring
  • 213 posts so far
  • 31 unpublished posts (drafts)
  • 500 views daily (avg.)
  • 4k followers (w/social accounts)
  • Over 100 comments
  • Domain Authority : 31
  • Domain Rating: 55
  • URL Rating: 27
  • Page Authority : 30
  • External links to domain: 80 619
  • Domain Age (rlevchenko.com): 6.8 years
  • Based on the referrals details, such companies like Dell, HP, Samsung, Intel, Microsoft and others have links to my blog posts in their wiki/jira/kb
  • The SpiceWorks, TechNet, Habrahabr, Experts-Exchange, Stack OverFlow communities have solutions that refer to the blog’s posts.
  • There are multiple set of keywords that get my blog on the first page of Google and other search engines

Thanks everyone who reads and supports the blog in any way. I really appreciate that. Also, I am pleased with such statistics and going to continue running the blog in upcoming new year.

Since then,

Happy holidays!