ruby AWS EC2インスタンスをたくさん立ち上げて,削除する

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby AWS EC2インスタンスをたくさん立ち上げて,削除する相关的知识,希望对你有一定的参考价值。

require 'aws-sdk'
require 'pp'

ec2 = AWS::EC2.new(region: 'ap-northeast-1')

# Launch many instances
(1..30).each do |n|
  pp new_instance = ec2.instances.create(
    image_id: 'ami-0b13700a',
    instance_type: 't1.micro'
    #key_pair: 'TestSV'
  )
  # add tag. server name
  new_instance.add_tag('Name', value: "TestSV-#{n}")
  sleep 1
end

instances = ec2.instances
# Select launched instances
pp testsv = instances.select{|instance|
  instance.tags.Name =~ /TestSV-[0-9]+/
}
testsv.each do |sv|
  pp sv.tags.Name
  pp sv.status.to_s
end
puts "waiting TestSVs terminate..."
# terminate instances
testsv.map(&:terminate)
loop do
  terminated_servers = testsv.select{|x| x.status == :terminated}.size
  if testsv.size == terminated_servers then
    puts "TestSVs termination has been complete!"
    break
  end
  sleep 3
end

=begin
AWS::EC2::Instance.status values
:pending
:running
:shutting_down
:terminated
:stopping
:stopped
=end

以上是关于ruby AWS EC2インスタンスをたくさん立ち上げて,削除する的主要内容,如果未能解决你的问题,请参考以下文章

markdown AWS CLIでインスタンスのメトリクスを取得

markdown AWS VPCの作成からEC2インスタンスの起动,ELBの设定まで

markdown EC2インスタンスからファイルをダウンロード

ruby モジュールとインスタンス変数について

ruby クラスメソッドとインスタンスメソッドをミックスイン

java 同クラスの各インスタンスから,共通であるインスタンスメソッドを呼び出して,特定の结果を得る