2017-07-26 162 views
0

我想在Beanstalk环境下的服务器上进行一些命令 在我们的组织中。 有些设置为使用密钥对,有些则不是 我想过使用aws cli或eb cli 要采样所有服务器并返回是否存在密钥对 如果是这样,它的价值是什么。AWS Elastic Beanstalk cli检查现有密钥对的实例

我很乐意听到关于如何实现这一点的任何建议。

回答

0

您可以运行下面的命令

aws ec2 describe-instances --query \ 
"Reservations[].Instances[].[InstanceId,KeyName,State.Name]" 

这将返回所有实例的列表以及它们的密钥对沿(如果存在)和实例

[ 
    [ 
     "i-07a25c4ae7e6abxxx", 
     "MyEC2KeyPair", 
     "stopped" 
    ], 
    [ 
     "i-0c76af91e45018xxx", 
     null, 
     "pending" 
    ], 
    [ 
     "i-05acb0a0be3d21xxx", 
     "MyEC2KeyPair", 
     "shutting-down" 
    ] 
] 

注意的状态,这必须针对每个地区进行;所以,如果你想运行它所有可用的EC2区域,您可以运行下面的查询

aws ec2 describe-regions --query "Regions[].[RegionName]" --output text \ 
| xargs -I {} aws ec2 describe-instances \ 
    --query "Reservations[].Instances[].[Placement.AvailabilityZone,InstanceId,KeyName,State.Name]" \ 
    --region {} 

这将列出每个地区的所有实例,并显示可用区。