In my previous post, I indicated that one could allocate more than one address on the Public interface and could then use this to create virtual IP’s. Let me explain what this means by providing an example:
Let’s say I am building a large web farm, putting a load balancer in front of a few web heads to serve my web site. Eliminating single point of failures within the web head layer is easy; I just need to have a few extra ones so that if one blows up, only a few sessions will die. Of course, the next step is to eliminate any single point of failure at the load balancer layer. The trick to do so is to configure the load balancer as a High Availability (HA) cluster with at least two servers: a Master node and a Slave node. During normal operations, the Master node is active and processes all requests. Should it fail, the Slave node would detect the failure and then take over for processing all requests. This includes taking over its IP address (or in fact, taking over the IP that was used to advertise the Master node to the world). This IP address is known as a Virtual IP as it can float between two or more nodes within a cluster.
Building such a cluster requires using the API to build and configure a “Shared IP Group.” This will allow:
• A placeholder for creating servers within the same network domain. Once servers are created within such a domain, it will be possible to move IP addresses from one to another in real-time.
• An IP address to be shared between one or multiple servers.
- Best practice is to request an extra IP to do so (via ticket)
- Sharing an IP address means that the network security is readied so that traffic to and from the IP address is allowed to the server set (remember the basic anti-snooping and anti-spoofing we always configure)
• This new shared IP address can be automatically used for a HA configuration (e.g., http://cloudservers.rackspacecloud.com/index.php/IP_Failover_-_High_Availability_Explained)
- Another option is to perform a manual failover. When doing so, one needs to ensure that the world knows which Cloud server should receive the traffic associated with the shared IP – Sending a gratuitous ARP allows you to do so (see .
To summarize, the “Shared IP Groups” feature of Cloud Servers allows creating IP addresses that can float within a known set of servers which is a great tool to create failover or HA clusters.