Use o seguinte comando para listar as instâncias interrompidas.
ec2-describe-instances --filter "instance-state-name=stopped"
Eu tenho experimentado com ec2-describe-instances
e ec2-describe-instance-status
nas ferramentas de linha de comando do EC2 com o objetivo de iniciar instâncias interrompidas. No entanto, não consigo listar todas as instâncias interrompidas. ec2-describe-instance-status
apenas lista instâncias em execução (a menos que esteja fazendo algo errado).
Existe uma maneira mais fácil de listar as instâncias interrompidas do que fazer o awk-out do ec2-describe-instances
?
Você pode usar um script ruby que escrevi para algumas finalidades que usa a gem aws:
#!/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
Você pode modificá-lo para seus próprios fins para obter todos os dados de que precisa. Basta verificar os documentos no link (se não estiver errado).
ec2-describe-instances - filtro "instance-state-name = parado" | ec2-start-instances -
O "-" diz ao ec2-start-instances para ler o stdin.
ec2-describe-instance-status --filter "instance-state-name=stopped"
Isso fornecerá apenas uma lista de instâncias interrompidas.