Newsletters Archive - 2012

If you would like to know more about the Newsletter, please email me.

  Associate Elastic IP on Instance Startup - (Linux) — (03-July-2012)

Amazon Web Services (AWS) provides the ability to associate (map) a static IP 
address with a running EC2 instance through the use of an Elastic IP addresses. 
An Elastic IP address is a static IP address which you can allocate and assign 
to any one of your running EC2 instances either through the AWS Management 
Console or using the Amazon EC2 API Tools. By default, your account is limited 
to 5 Elastic IP addresses per region and only one Elastic IP address can be 
assigned to an instance. On a normal startup, every instance will come with a 
private IP address and a dynamic Internet routable public IP address. When an 
Elastic IP address is associated with an instance, it replaces the dynamic 
public IP address. Because an Elastic IP address is associated with your 
account and not permanently with a particular instance, you are able to quickly 
and efficiently mask instance or Availability Zone failures by associating the 
Elastic IP address to any surviving instance under your account. Associating an 
Elastic IP address to an instance is a manual process that can take several 
minutes from when you instruct Amazon to associate the IP address to fully 
propagating through their system of network devices.

With all of this flexibility and ease of use, there is one feature to be 
cognitive of. When an instance is stopped and then restarted, the Elastic IP no 
longer gets associated with the instance. When the instance is started again, 
the default action is to assign another dynamic IP address (and new hostname) 
to the public IP address instead of the previously associated Elastic IP 

In the following guide, I present one approach that can be used to 
automatically associate an Elastic IP with an instance on startup using an EC2 
startup script and user data. The example in this guide will be performed on an 
Amazon EBS-backed instance running CentOS 6. In addition to associating the 
Elastic IP address, I will also be setting the hostname.

Jeffrey M. Hunter, OCP
Sr. Database Administrator