Move your VMware and KVM applications to the cloud without making any changes

  • May 12, 2015

How to keep Static IPs on AWS & Google Cloud?

Application owners feel challenged when they move their multi-VM, multi-tier environment from data-center to AWS & Google cloud. The networking changes -- you cannot keep the same IP addresses, netmask, networking interconnect on public cloud as you have in your data center. Ravello’s software defined networking (SDN) overlay gives you the ability to mirror your data-center network on AWS & Google cloud without making changes. This article goes over how to mirror the static IPs that you have in your data center on top of Ravello’s platform to be able to run your application on AWS & Google cloud.

Here’s a quick video showing you how to set up your Static IPs for interfaces on Ravello.

[video url="https://www.youtube.com/watch?v=_ofUqNlDGjo"]

As an example, I will walk you through how to mirror the Static IPs that I have in my Data Center onto Ravello’s platform.

Data Center Setup

I have the following load-balancer network setup in my data-center that I want to mirror on Ravello.

Ravello Setup

Ravello allows you to set up the network properties for each of the VMs - including static IPs. Navigate to the VM → Network Tab to be able to change the network settings.

Scroll to the network interface for the VM that you want to associate a Static IP with, and click on the ‘Static’ radio button for IP configuration.

Next, you will be presented with fields to enter the Static IP, Netmask, Gateway and DNS server for this interface.

Ravello’s SDN automatically creates a virtual switch based on the IP address and netmask of the interfaces, and adds the interfaces that are part of the same subnet to the same virtual switch. As an example, look at the following:

The webserver-1 is configured with an IP address of and webserver-2 This prompts Ravello’s SDN to create two virtual switches and (highlighted in red above).

To put both webserver-1 and webserver-2 onto the same switch, all that you need to do is give webserver-1 and webserver-2 an IP address that are a part of the same subnet and have the same netmask, and Ravello’s SDN will put both the network interfaces corresponding to webserver-1 and webserver-2 onto the same virtual switch. For example, if we change the IP address of webserver-2 to, Ravello will put both of them on the same virtual switch (highlighted in red below).

Next, if we want to put both the web-servers onto the same virtual switch as NetScaler load balancer, we will assign webserver-1, webserver-2 and NetScaler’s internal interface IP addresses & netmask that are on the same subnet. Changing IP for webserver-1 to, webserver-2 to and NetScaler’s internal interface to leads to new virtual switch on Ravello that joins these three interfaces (see below).

With these changes, the network on Ravello mirrors my network in data center.

Ravello’s SDN - behind the scenes

Here is how Ravello’s SDN behaves behind the scenes

  • Once a Static IP and Netmask is defined, Ravello’s SDN will connect the VM’s network interface to virtual switch to which rest of the VMs on the same subnet are connected
  • If a default Gateway is defined on Ravello’s user interface
    • And the guest VM has a Gateway IP defined at the application level (i.e. you have configured the VM to serve as a Router), Ravello’s SDN will adhere to VM’s Gateway setting
    • If the guest VM doesn’t have Gateway IP defined at the application level, Ravello’s SDN will add a virtual Router with the defined Gateway IP, and add it to the virtual switch
  • If a default Gateway is not defined on Ravello’s user interface, Ravello’s SDN will simply do nothing
  • If a DNS IP is defined on Ravello’s user-interface, Ravello’s SDN will add a leg to DNS server with this IP, and connect it to the same virtual switch as rest of the VMs on this subnet

Using the constructs listed above, I can configure static IPs for my application and run it on AWS or Google cloud using Ravello.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.