获取AWS-EC2实例信息

#!/bin/bash
rm -rf test.csv
region="ap-northeast-1"
echo "实例名称,实例ID,私网IP,实例类型,系统,磁盘">>test.csv
instancesids=`aws ec2 describe-instances --region $region|jq -r .Reservations[].Instances[].InstanceId`

for instancesid in $instancesids
do
instanceinfo=`aws ec2 describe-instances --instance-ids $instancesid --region $region|jq -r .Reservations[].Instances[]`
ImageId=`echo $instanceinfo|jq -r .ImageId`
InstanceId=`echo $instanceinfo|jq -r .InstanceId`
InstanceName=`aws ec2 describe-tags --filters "Name=resource-id,Values='$instancesid'" "Name=key,Values=Name" --region $region|jq -r .Tags[].Value`
PlatformDetails=`aws ec2 describe-images --image-ids $ImageId|jq -r .Images[].PlatformDetails`
PrivateIpAddress=`echo $instanceinfo|jq -r .PrivateIpAddress`
InstanceType=`echo $instanceinfo|jq -r .InstanceType`
status=`echo $instanceinfo|jq -r .State.Name`
VolumeIds=`echo $instanceinfo|jq -r .BlockDeviceMappings[].Ebs.VolumeId`
i=0
VolumeIdSize=()
for VolumeId in $VolumeIds
do
size=`aws ec2 describe-volumes --volume-ids $VolumeId --region $region |jq -r .Volumes[].Size`
VolumeIdSize[$i]=`echo $size`
i=`expr $i + 1`
done
sum=0
for size in ${VolumeIdSize[@]}
do
sum=`expr $sum + $size`
done
echo $InstanceName,$InstanceId,$PrivateIpAddress,$InstanceType,$PlatformDetails,$sum>>test.csv
done

posted on 2021-12-31 10:34  无聊的时候看一下  阅读(246)  评论(0)    收藏  举报

导航