我一直在尝试使用ec2-describe-instances
EC2ec2-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 "实例状态名称=已停止"
这将仅向您提供已停止实例的列表。