列出所有 EC2 实例 - AWSCLI
List all EC2 Instances - AWSCLI
我想列出我们在 ~/.aws/credentials 上的每个帐户的所有 ec2 实例,但是 aws ec2 describe-instances
没有 return 任何东西。
ACC=$(cat ~/.aws/credentials | egrep "\[.*\]" | cut -d '[' -f2 | cut -d ']' -f1 | grep -v default | sort)
FILE="${HOME}/ec2.csv"
echo -e "ACCOUNT;EC2" > ${FILE}
for account in ${ACC}
do
for region in $(aws ec2 describe-regions --profile default --region sa-east-1 --output text | cut -f3)
do
EC2=$(aws ec2 describe-instances --profile ${account} --region ${region} --query "Reservations[*].Instances[*].{PrivateIP:PrivateDnsName,Name:Tags[?Key=='Name']|[0].Value,Status:State.Name}" --output text)
echo -e "${account};${EC2}" >> ${FILE}
done
done
我在第二个 for
.
上替换默认配置文件解决了这个问题
for region in $(aws ec2 describe-regions --profile ${account} --region sa-east-1 --output text | cut -f3)
这个脚本有效,我希望这个脚本能帮到你。
我想列出我们在 ~/.aws/credentials 上的每个帐户的所有 ec2 实例,但是 aws ec2 describe-instances
没有 return 任何东西。
ACC=$(cat ~/.aws/credentials | egrep "\[.*\]" | cut -d '[' -f2 | cut -d ']' -f1 | grep -v default | sort)
FILE="${HOME}/ec2.csv"
echo -e "ACCOUNT;EC2" > ${FILE}
for account in ${ACC}
do
for region in $(aws ec2 describe-regions --profile default --region sa-east-1 --output text | cut -f3)
do
EC2=$(aws ec2 describe-instances --profile ${account} --region ${region} --query "Reservations[*].Instances[*].{PrivateIP:PrivateDnsName,Name:Tags[?Key=='Name']|[0].Value,Status:State.Name}" --output text)
echo -e "${account};${EC2}" >> ${FILE}
done
done
我在第二个 for
.
for region in $(aws ec2 describe-regions --profile ${account} --region sa-east-1 --output text | cut -f3)
这个脚本有效,我希望这个脚本能帮到你。