2017-07-26 113 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 {} 

這將列出每個地區的所有實例,並顯示可用區。