AWS: Unused Elastic IP charges
Asked Answered
U

2

5

I had 2 elastic IPs assigned to my account for use with 2 different instances. For some reason, I had to take down my instance(terminate) which unassigned the IP assigned to it and made it free on my account but not automatically released (as mentioned in the docs).

I'm wondering whether this unassigned Elastic IP will cost me even if i don't re-assign it to any instance. I know there is no harm in releasing the IP(which I did) but this is a topic I couldn't find an answer. There are few posts I found on google that do talk about reducing AWS bills and a mention of pro-rata charges for >1 elastic IPs to an instance but nowhere did I find about the charges for an unassigned Elastic IP.

P.S: I know networking questions are off topic. But this one doesn't essentially talk about a networking concept. This one definitely doesn't fit in ServerFault or SuperUser. BTW, I did follow Practical Cloud Computing, hope it will move to next phase soon.

Unpromising answered 15/6, 2016 at 11:32 Comment(0)
P
11

You will be charged "$0.005 per Elastic IP address not associated with a running instance per hour on a pro rata basis"

Please find the associated documentation about the pricing at https://aws.amazon.com/ec2/pricing/

Photoluminescence answered 15/6, 2016 at 12:15 Comment(2)
Thanks for the link to docs. I can't believe I missed that, I never would have thought about checking for Elastic IP costs under EC2 pricing when they have a completely separate page in docs for Elastic IP.Unpromising
Now unused EIP price is doubled and monthly around 7.5 USD. per hour $0.01.Courtesan
D
3

Elastic IP

According to the answer from Shibashis you will be charged:

$0.005 x 24hr x 30 days = $3.60 / months / per Elastic IP address not associated with

DynamicURL

You may consider other option that does not require for an assignment of an Elastic IP.
There is a service called DynamicURL that change IP Address on A of your domain dynamically.

https://ipv4.cloudns.net/api/dynamicURL/?q=XXX...

Some services are free. You need only to set NAME SERVER of your domain.
Following are the example script to run each time an instance is started:

Wget

wget -q --read-timeout=0.0 --waitretry=5 --tries=400 \\
--background https://ipv4.cloudns.net/api/dynamicURL/?q=XXX... 

php

<?php file_get_contents('https://ipv4.cloudns.net/api/dynamicURL/?q=XXX...'); ?>

Python

#!/usr/bin/python
import urllib
page = urllib.urlopen("https://ipv4.cloudns.net/api/dynamicURL/?q=XXX...");
page.close();

Perl

#!/usr/bin/perl
my $uri = 'https://ipv4.cloudns.net/api/dynamicURL/?q=XXX...';

use IO::Socket;
my ($domain, $path) = $uri =~ m{^https://([^/]*)(.*)};
$path = '/' unless length $path;
my $sock = IO::Socket::INET->new(
    Proto => 'tcp',
    PeerAddr => $domain,
    PeerPort => '80',
) or die "can't connect to $domain\n";
my $CRLF = "\x{0d}\x{0a}";
print $sock "GET $path HTTP/1.0$CRLF$CRLF";
close($sock);

If you are behind proxy and your real IP is set in the header X-Forwarded-For you need to add &proxy=1 at the end of the DynamicURL.

Desegregate answered 8/7, 2016 at 13:22 Comment(1)
Why all the languages?Ranitta

© 2022 - 2024 — McMap. All rights reserved.