Quick note on connection to EC2 to list instances.
– Ensure IAM User permissions. In my case I tried EC2FullAccess.
– Ensure you have your access and secret key handy.
– This example just cycle through regions and list any instances.
import argparseimport boto.ec2
access_key = ''secret_key = ''
def get_ec2_instances(region): ec2_conn = boto.ec2.connect_to_region(region, aws_access_key_id=access_key, aws_secret_access_key=secret_key) reservations = ec2_conn.get_all_reservations() for reservation in reservations: print region+':',reservation.instances
for vol in ec2_conn.get_all_volumes(): print region+':',vol.id
def main(): regions = ['us-east-1','us-west-1','us-west-2','eu-west-1','sa-east-1', 'ap-southeast-1','ap-southeast-2','ap-northeast-1'] parser = argparse.ArgumentParser() parser.add_argument('access_key', help='Access Key'); parser.add_argument('secret_key', help='Secret Key'); args = parser.parse_args() global access_key global secret_key access_key = args.access_key secret_key = args.secret_key
for region in regions: get_ec2_instances(region)
if __name__ =='__main__':main()Example:
$ python list.py myaccess_key mysecret_key
us-east-1: [Instance:i-1aac5699]
us-east-1: vol-d121290e