1

I am building an app where I have 5 different instances on Azure. I want a way to use a single IP address for all these instances. I have tried to setup the "Application Gateway" because it works as reverse proxy where I can assign ports to different instances. But the problem is, Azure does not support Static public IP for Application Gateway. I need the IP to be static so that customer can assign this IP in their thousands of device's firewall, which is not easy to change every time I restart the instance. Is the Azure's "Load Balancer"/"Traffic Manager" correct technology for this or something else. Please suggest.

Gaurav
  • 113
  • 1
  • 5

1 Answers1

3

Are you actually looking for a reverse proxy, or just a way to assign a single IP to a set of resources?

Azure Loadbalancer allows you to distribute load over multiple VM's in the same region, you would have a single static IP for the LB and the traffic would be allocated to a particular VM. Your application obviously needs to support being load balenced.

Azure Traffic manager is similar, but on a global scale, load balancing between regions. It also has the ability to balance based on location or active/passive setup.

Neither of these are providing reverse proxy capabilities, but then neither is application gateway. If you really need a reverse proxy rather than a load balancer then you need to look at Azure Application Proxy (which I don't think allows a static IP eitehr, just a name), or running your own in a VM.

Edit: Ok, based on your comment what you really need is a Load Balancer, with NAT rules. This will allow you to have a single IP for the LB, and then forward individual ports to different machines. You would create an inbound NAT rule for each port, then on the NIC for the VM you want accessible on that port you would use that NAT rule. This article has a pretty good how to.

Sam Cogan
  • 38,736
  • 6
  • 78
  • 114
  • Suppose, I have 4 instances A, B, C and D. A and B are Ubuntu and C and D are Windiws server. I want to have single IP, say 11.22.33.44 with port :1001 mapped to instance A, port :1002 mapped to instance B and so on. – Gaurav Feb 21 '17 at 14:45
  • 2
    See my edit, what you need are NAT rules on a load balancer – Sam Cogan Feb 21 '17 at 14:51
  • Thanks Sam! I have created the LoadBalancer with inbound NAT rules and its working exactly how I want. – Gaurav Feb 21 '17 at 17:01
  • For future reference, on Azure to make load balancer work, the instances needs to be in an "Availability Set". And this "availability set" can be configured only while creating the instance, there is not any option to add instance later to the availability set. – Gaurav Feb 21 '17 at 17:03