Skip to content

Instantly share code, notes, and snippets.

Created February 27, 2016 08:29
What would you like to do?
Python program to reboot multiple ec2 instances together. This can be used for performing some scheduled restart of EC2 machines in an Amazon account. I used python boto library for performing this operation.
__author__ = 'Amal G Jose'
import boto.ec2
class EC2Reboot(object):
def __init__(self):
self.instance_id_list = ["i-xxxxxx", "i-xxxxxx", "i-xxxxx", "i-xxxx", "i-xxxxx", "i-xxxxx", "i-xxxxx"]
self.aws_access_key = "XXXXXXXXXXX"
self.aws_secret_key = "XXXXXXXXXXX"
self.region = "xx-xxxx-x"
self.conn = boto.ec2.connect_to_region(self.region,
def restart_instances(self):
print "Rebooting instances: %s" %(str(self.instance_id_list))
except Exception, e:
print "Error occurred while restarting instances: %s" %(str(e))
if __name__ == '__main__':
restart = EC2Reboot()
Copy link

I was trying to get a similar thing done but realized that AWS throttle the API access so If you reboot multiple instances at once this will create a bit of problem. You might want to put a sleep for like 5 seconds between each attempt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment