It’s important to understand Elastic IPs and Elastic IP pricing on Amazon Web Services (AWS) because you can still be billed for Elastic IP charges even when you’re not using them. In this article, we outline what Amazon Elastic IP addresses are, how Elastic IP pricing works, and a solution to identify unattached Elastic IPs and reduce unnecessary costs.
Public and private IP addresses with Amazon EC2 instances
When you launch an EC2 instance on AWS, the instance is automatically assigned a private IP address and (depending on the subnet/VPC settings) a public IP address. The private IP address is assigned so the instance can communicate with other AWS services and other instances within the same private network, and the public IP address is assigned so the instance can communicate with the internet.
The public IP address assigned to the instance is a dynamic IPv4 IP address from Amazon´s pool of public IP addresses. The dynamic IPv4 IP address is free to use, but as soon as the instance is stopped or hibernated, the address is automatically released back into the pool and you're unable to reuse it. When you restart the instance, a new dynamic IPv4 IP address is assigned to it.
This can create an issue inasmuch as the public IP address is the address used by the internet to direct web traffic to your instance in the same way your physical address is used by the postal service to deliver mail. If a new dynamic IPv4 IP address is assigned to the instance each time it is stopped and restarted, it makes it nearly impossible for the internet to find the EC2 instance.
What are Amazon Elastic IP addresses?
Amazon Elastic IP addresses are static public IPv4 IP addresses that remain assigned to EC2 instances regardless of their state. The “elasticity” of the IP address enables businesses to stop EC2 instances and transfer the IP address to another EC2 instance—or direct traffic to a second instance if a first instance fails—so that the internet can continue to direct web traffic to the right destination.
A second benefit of using an Elastic IP address is that it’s “clean”. Auto-assigned public IP addresses come from a pool of IP addresses used by EC2 instances, and the scenario exists that a business’ newly launched instance could inherit web traffic from the IP address' previous owner. By assigning an Elastic IP address to the newly launched instance, that scenario cannot occur.
Due to there being a finite number of public IPv4 addresses available, AWS limits the number of Elastic IP addresses a business can reserve to five per region per Virtual Private Cloud (VPC). This limit can be increased on request, provided there’s a good reason, and provided the number of VPCs per region multiplied by the number of security groups per VPC does not exceed ten thousand.
An explanation of AWS Elastic IP pricing
AWS Elastic IP pricing isn’t that complicated to explain. Businesses can have a single Elastic IP address assigned to a running EC2 instance for free. Businesses only incur Elastic IP pricing charges if they assign additional Elastic IPs to the same instance, if the instance is stopped, if the IP address is unattached from the network interface, or if it’s re-mapped more than one hundred times per month.
- Additional IP addresses and IP addresses not applied to a running instance currently incur an Elastic IP pricing charge of $0.005 per hour on a pro-rata basis.
- An Elastic IP pricing charge of $0.10 is incurred for each re-map after the one hundred limit is reached.
Although individually AWS Elastic IP pricing isn't expensive, each unattached Elastic IP address (or IP address assigned to a stopped instance) wastes $3.60 of a business’s budget per thirty-day month. Over the course of a year, that amounts to $43.20, and, if a business fails to maintain control of the number of Elastic IP addresses being used, it’s not difficult to see the figure increasing into thousands of dollars.
How to maintain control of Elastic IP pricing
Maintaining control of Elastic IP pricing is a simple two-step process with CloudHealth. The first step involves running the CloudHealth Rightsizing Report in order to identify unattached Elastic IPs and release them. The second step is to apply a policy to notify system administrators when an Elastic IP address has remained attached for a certain period of time. The notification enables administrators to investigate why an IP address is unattached and either reassign it or release it as appropriate.
This process can be used to identify and terminate any zombie assets, potentially saving businesses thousands of dollars per month. If you’d like to know more about maintaining control of Elastic IP pricing on AWS and reducing unnecessary costs elsewhere in your cloud infrastructure, our team of cloud cost optimization professionals would be happy to guide you through the cost-saving benefits of CloudHealth. Feel free to reach out to us here.
And for more best practices on reducing cloud spend in AWS, see our eBook: 10 Best Practices For Reducing Spend in AWS