使用命令行工具包列出所有已停止的 AWS EC2 实例

使用命令行工具包列出所有已停止的 AWS EC2 实例

我一直在尝试使用ec2-describe-instancesEC2ec2-describe-instance-status命令行工具来启动已停止的实例。但是我无法整齐地列出所有已停止的实例。ec2-describe-instance-status仅列出正在运行的实例(除非我做错了什么)。

有没有比 awk-ing 更简单的方法来列出已停止的实例ec2-describe-instances

答案1

使用以下命令列出已停止的实例。

ec2-describe-instances --filter “实例状态名称=已停止”

答案2

您可以使用我为某些目的编写的 ruby​​ 脚本,该脚本使用了 aws gem:

#!/usr/bin/ruby

require 'aws'

ec2 = AWS::EC2.new(
:access_key_id => 'AWS_KEY',
:secret_access_key => 'AWS_SECRET')

ec2.regions.each do |region|
 ec2.regions["#{region.name}"].instances.each do |line|
  if line.status.to_s=="stopped"
   puts("#{line}") #check docs for what exactly you need to output
  end
 end
end

您可以根据自己的目的对其进行修改,以获取所需的所有数据。只需查看以下文档即可https://github.com/grempe/amazon-ec2(如果我没错的话)。

答案3

ec2-describe-instances --filter “实例状态名称 = 已停止”| ec2-start-instances -

“-” 告诉 ec2-start-instances 从 stdin 读取。

答案4

ec2-describe-instance-status --filter "实例状态名称=已停止"

这将仅向您提供已停止实例的列表。

相关内容