This script shows summary about using "Reserved" and "On-demand" ec2 instances. Namely:
- Which "On-demand" instances haven't got a "Reserved" instance;
- Which "Reserved" instances are unused;
- And which "Reserved" instances are expiring soon.
The script is heavily based on Scott Bigelow's work: https://github.com/epheph/ec2-check-reserved-instances
The script is written in Python and uses only boto, optparse and standard datetime modules.
For the script needs your AWS Security Credentials. You can specify them in the Boto config (~/.boto or /etc/boto.cfg) or using script command line arguments or by exporting in an environment variables (AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY).
Example:
host# export AWS_ACCESS_KEY_ID=ABCDE
host# export AWS_SECRET_ACCESS_KEY=5ji7haengeeFoh8eziebeu
host# check-reserved-instances --region us-west-1 -w 60
Unused reserved instances:
(2) m1.small us-west-1c
(3) m1.large us-west-1c
Soon expiring (less than 60d) reserved instances:
93bbbca2-d072-4dcc-bb7e-7c137ad565f7 m1.small us-west-1c 2014-04-15
bbcd9749-4bf0-440a-bf53-3641e3732b73 m1.small us-west-1c 2014-04-03
On-demand instances, which haven't got a reserved instance:
(1) m3.medium us-west-1c
(3) m1.large us-west-1b
(1) m1.medium us-west-1b
Running on-demand instances: 27
Reserved instances: 22
For more help use:
host# check-reserved-instances -h