IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

EC2インスタンスの起動と停止

rubyからEC2インスタンスを操作を小さなサンプルを作り練習しました。

ASW.configにてaccess_key_idsecret_access_keyだけでなくregion_idも必要なのですね。それに気づかずかなり嵌りました。

そもそもどのリージョンに属しているかは、インスタンスの情報ページではなく、management consoleの右上にありました。

f:id:naotoogawa:20140514220803p:plain

そのリージョンに対応するregion_idはこちらから。

http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-regions-availability-zones.html

EC2インスタンス起動

  1 require File.expand_path(File.dirname(__FILE__) + '/../samples_config')
  2 
  3 instance_id = "i-XXXXXXXX"
  4 instance = nil
  5 begin
  6   instance = AWS::EC2.new.instances[instance_id]
  7   if instance.status == :stopped
  8       instance.start
  9       p instance_id + " send run signal"
 10   end
 11 end

EC2インスタンス停止

  1 require File.expand_path(File.dirname(__FILE__) + '/../samples_config')
  2 
  3 instance_id = "i-XXXXXXXX"
  4 instance = nil
  5 begin
  6   instance = AWS::EC2.new.instances[instance_id]
  7   if instance.status == :running
  8       instance.stop
  9       p instance_id + " send stop signal"
 10   end
 11 end