14

How to export Amazon EC2 instances to a CSV file

 3 years ago
source link: https://thehftguy.com/2016/03/10/how-to-export-amazon-ec2-instances-to-a-csv-file/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

The HFT Guy

A developer in London

Amazon website is limited to 50 instances per page. Viewing lots of instances is a pain and it doesn’t support exporting to CSV/TSV/Excel/other out of the box. The only fix is to use the CLI.

Requirements

  • An AWS account with access rights to see your servers
  • A pair of AWS keys (Users -> [username] -> Security Credentials -> Create Access Key)
# Install AWS packages
sudo apt-get install -y python python-pip
sudo pip install aws-shell

Listing Instances

# aws-shell will show a wizard to configure your account and region the first time you use it
aws-shell
ec2 describe-instances --output text --query 'Reservations[*].Instances[*].[InstanceId, InstanceType, ImageId, State.Name, LaunchTime, Placement.AvailabilityZone, Placement.Tenancy, PrivateIpAddress, PrivateDnsName, PublicDnsName, [Tags[?Key==`Name`].Value] [0][0], [Tags[?Key==`purpose`].Value] [0][0], [Tags[?Key==`environment`].Value] [0][0], [Tags[?Key==`team`].Value] [0][0] ]' > instances.tsv
# open instances.tsv with Excel
# enjoy

You can modify the command to pick the information you want. Refer to the official AWS command line reference.

Advertisements
Report this ad
AWS

Post navigation

5 thoughts on “How to export Amazon EC2 instances to a CSV file”

  1. 071da2c6ee5f85bdb4ca499518ae90ee?s=50&d=identicon&r=Gchodesuresh says:

    thanks that works. If you want to get instances with name in tabular format use the below command

    aws ec2 describe-instances –output text –query ‘Reservations[*].Instances[*].[InstanceId, State.Name, [Tags[?Key==`Name`].Value] [0][0] ]’ –output table

  2. 787d4d2518d459b32f4dc8851c8a8e5e?s=50&d=identicon&r=Gjohn nicholson says:

    Thank you very much HFT guy for this tip! I was asked to generate a list our AWS instances for coporate SecOps team, and found I could not simply export from console. I had to change ‘ to ” before Reservations and at the end before the >. But this worked for me. I ran it from from a windows 10 laptop with AWS CLI installed. Note also, I used –profile to supply the aws credentials needed for our awsprod environment (we have a test/dev environment too :
    aws –profile awsprod ec2 describe-instances –output text –query “Reservations[*].Instances[*].[InstanceId, InstanceType, ImageId, State.Name, LaunchTime, Placement.AvailabilityZone, Placement.Tenancy, PrivateIpAddress, PrivateDnsName, PublicDnsName, [Tags[?Key==`Name`].Value] [0][0], [Tags[?Key==`purpose`].Value] [0][0], [Tags[?Key==`environment`].Value] [0][0], [Tags[?Key==`team`].Value] [0][0] ]” > c:\instances.tsv

  3. 6630d118067363061cc95f661f64296f?s=50&d=identicon&r=GCorey Hallisey says:

    Any way to include a first row of column headers in the output?

    • bb6c637c91a787d73b91b2a5a085cb62?s=50&d=identicon&r=GSergey says:

      aws ec2 describe-instances –query ‘Reservations[*].Instances[*].{Internal_IP:NetworkInterfaces[0].PrivateIpAddresses[0].PrivateIpAddress,Instance_ID:InstanceId,Instance_name:Tags[?Key==`Name`]|[0].Value,Region:Placement.AvailabilityZone,PublicDNS:PublicDnsName,KeyName:KeyName,Type_of_instance:InstanceType,Public_IP:PublicIpAddress}’ –output table

  4. b4beab98acb1b3d39f2727b0fe24a2e2?s=50&d=identicon&r=GLuke Rawlins says:

    This is definitely going to come in handy! Thanks!

Leave a Reply Cancel reply


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK