I know that we can't use NLB in Azure, however, I need to be able to load balancer two servers by putting them behind a virtual, internal IP address (similar to NLB).

Normally, I would be able to use the Azure Load Balancer, but the two servers are in two different regions - and the Azure Load Balancer only works if your servers are in the same region.

Traffic Manager won't work either because it uses a public DNS - I want all of the traffic to and from these servers to be internal.

What are my options? Are there


You listed the options for balancing a TCP flow, Azure Load Balancer and Traffic Manager. Here is a blog post explaining Azure load balancing product differences. ALB is layer 4 flow based, TM is DNS based.

If maintaining the same IP is important (why?), use multiple hosts in the same region behind Azure Load Balancer. If your service level objectives are not met, and DNS failover works for you, consider high availability to another region via Traffic Manager.

Cloud regions generally share very few failure domains. It makes for a natural administrative boundary to limit how far your VPC subnet can stretch. Even though you can do inter-region traffic with peering or VPNs, a simple solution is to keep a service IP confined to a region.

  • Basically this is a site that is only used in an internal network and cannot be publicly accessible, but it still needs to be highly available across multiple regions. So there needs to be a single IP / Internal DNS that we can point the CNAME record towards so that if one node fails, traffic is seamless redirected to the remaining node. – William Jan 15 '19 at 16:46
  • You could build or buy a solution to bridge regions, probably with DNS (GSLB) or VPN (and IP layer 4 tricks). But I am skeptical about how much availability all this work gains, just for making DNS records private. – John Mahowald Jan 15 '19 at 20:49
  • The requirements are that we cannot be dependent on the viability of a single physical region and traffic cannot be routed over the internet (as it would with Traffic Manager). Really if NLB just worked on Azure Virtual Networks this problem would be solved - – William Feb 7 '19 at 14:10

You need to use 3rd party products, Microsoft is working on the feature but no ETA has been announced. https://feedback.azure.com/forums/217313-networking/suggestions/35251351-support-communicating-to-the-frontend-ip-address-o

The VNet peering documentation contains the following constraint: Resources in one virtual network cannot communicate with the frontend IP address of an Azure internal load balancer in the globally peered virtual network. The load balancer and the resources that communicate with it must be in the same region. In scenarios that require a resource to access a load balanced application in another region, a 3rd party load balancer is required.

I have not used any products myself but it seems that there are a coulpe that would do thr trick. Example: https://support.kemptechnologies.com/hc/en-us/articles/206870686-Using-GEO-Load-Balancing-In-Azure

The GSLB addon-pack (or GEO load balancing) is an additional feature of the LoadMaster that acts as a DNS responder for multiple sites. GEO offers the ability to move past the single data center, allowing for multi data center High Availability (HA)

  • Kemp came up a few times on previous searches - I'm going to call and see what they have to say. I NLB would just work... – William Jan 15 '19 at 16:50

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.