2

I'm setting up a test web farm in Azure. Consisting of:

  • Four Ubuntu Servers
    • Two balancers running HAProxy + Keepalived
    • Two web servers running Apache

Keepalived has been configured and everything has been working fine. HAProxy performs great.

My issue is that I want to enable the Keepalived failover clustering, but I can't seem to figure out how to create an Input Endpoint in Azure for the virtual IP address that the Keepalived VRRP is using.

In other words, I want to create an Input Endpoint for a virtual IP address in Azure, but not for an existing VM. So far, the only thing I've been able to do is create Input Endpoints for existing VMs (using their IP) for specific port numbers. I want to be able to configure:

  • Take TCP requests on port XX and map them to IP address YY.YY.YY.YY on port ZZ

Anyone know of a way to do this? I've looked on both portals (new and old) and the closest thing I see is the Cloud Services page for my VNET has the Input Endpoints listed. But no add/edit button.

ryancdotnet
  • 2,015
  • 16
  • 33

1 Answers1

2

This is not currently possible in Azure. Azure IaaS VMs do not yet support multiple IPs per interface, so keepalived will not be able to move a VIP between the nodes. We tried to do the same thing and were told it's not currently available. However, it's supposed to be on the road-map and it is "coming", as is the ability to have multiple interfaces per machine.

Input endpoints are to expose some service on a single VM (it's a NAT), and they are not attachable to an actual interface. The only option that I thought through, was to use Azure's Traffic Manager to round robin between the two HAProxy instances using two exposed endpoints, with a health check to fail to a single HAProxy instance if one fails.

techiejohn
  • 13
  • 3
techiejohn
  • 36
  • 1
  • Thank you techiejohn. This coincides with my research results. Traffic Manager does seem to be the only Azure-managed option at this point. They are constantly improving Azure all the time, so I expect we won't be waiting long. – ryancdotnet Apr 19 '15 at 08:14
  • "so I expect we won't be waiting long." Is this resolved now? – nickjb Jun 21 '16 at 18:09
  • 1
    I think there are more options now, but maybe not directly what I had intended. There is a "Floating IP Address" option when adding an endpoint for the VM (reqs an Availability Group) I searched and found a few resources that may be helpful. It looks like the Load Balancer has been updated and is free, but not for Basic Virtual Machines (of which mine were). https://azure.microsoft.com/en-us/pricing/details/load-balancer/ This project has a nearly identical setup as what I had above: https://azure.microsoft.com/en-gb/documentation/templates/haproxy-redundant-floatingip-ubuntu/ – ryancdotnet Jun 21 '16 at 19:05