繁体   English   中英

如何列出多个账户(配置文件)的所有 EC2 实例

[英]How to list all EC2 instances of multiple accounts (profiles)

有没有我可以给这个命令的选项,让它遍历我的所有配置文件/帐户?

aws ec2 describe-instances --query "Reservations[*].Instances[*].
{PublicIP:PublicIpAddress,Type:InstanceType,Name:Tags[?Key=='Name']|
[0].Value,Status:State.Name}"  --filters "Name=instance-state-name,Values=running"
"Name=tag:Name,Values='*'"  --output table

我必须在多个帐户中运行它,我想知道是否有办法避免编写循环遍历所有配置文件的脚本

如果有 --profile allProfiles 或 --profiles [*] 之类的东西,我找不到任何地方

您将需要创建一个简单的脚本,因为aws cli 仅适用于单个配置文件。

bash中,它类似于:

for profile in `aws configure list-profiles`; do aws ec2 describe-instances --profile $profile ;done;   

可能有用的是 append 每个命令的 output 到同一个文件,然后处理该文件,就好像它是单个命令的 output 一样:

outputFile=`mktemp` ; for profile in `aws configure list-profiles`; do aws ec2 describe-instances --profile  $profile >> $outputFile  ;done; cat $outputFile

对于 json,您可能希望在附加到文件之前通过jq处理命令 output。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM