ruby AWS EC2インスタンスRuby Rubyから立ち上げ.SSHキーを用意させるので,立ち上げたあとにそのまま利用できる。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby AWS EC2インスタンスRuby Rubyから立ち上げ.SSHキーを用意させるので,立ち上げたあとにそのまま利用できる。相关的知识,希望对你有一定的参考价值。
require 'aws-sdk'
require 'pp'
# if not set region, it will set us-east by default
ec2 = AWS::EC2.new(region: 'ap-northeast-1')
# List up key pairs you have
#pp ec2.key_pairs.map(&:name)
# Available Regions
#pp ec2.regions.map(&:name)
=begin
ami_id = "ami-a25415cb" # RHL
ami_id = "ami-10314d79" # Ubuntu
ami_id = "ami-29d54d28" # AMIMOTO Wordpress AMI
=end
ami_id = "ami-0b13700a" # Amazon Linux (amzn-ami-pv-2013.09.2.i386-ebs)
key_pair_name = 'amazon_linux'
# create a key if not exists
key_pair = proc {|key_pair_name|
file_path = File.expand_path("~/.ssh/#{key_pair_name}.pem")
if ec2.key_pairs[key_pair_name].exists? then
puts "key pair is exist."
else
puts "key pair is not exist."
key_pair = ec2.key_pairs.create(key_pair_name)
private_key = key_pair.private_key
File.open(file_path, 'w', 0400) do |f|
f.write private_key
end
end
ec2.key_pairs[key_pair_name]
}.call(key_pair_name)
# Launch Instance
pp instance = ec2.instances.create(
image_id: ami_id.to_s,
instance_type: 't1.micro',
key_pair: key_pair
)#=> <AWS::EC2::Instance id:i-xxxxxxxx>
# Add Tag to launched instance. (eg. key=name, value=ruby-auto-launch)
pp instance.add_tag('name', value: 'ruby-auto-launch') #=> <AWS::EC2::Tag:instance:i-xxxxxxxx:name>
# List up Instances status
pp ec2.instances.inject({}) {|m, i| m[i.id] = i.status; m }
#=>
=begin
{"i-xxxxxxxx"=>:running,
"i-xxxxxxxx"=>:stopped,
"i-xxxxxxxx"=>:running,
"i-xxxxxxxx"=>:terminated,
"i-xxxxxxxx"=>:pending,
"i-xxxxxxxx"=>:terminated,
"i-xxxxxxxx"=>:stopped}
=end
以上是关于ruby AWS EC2インスタンスRuby Rubyから立ち上げ.SSHキーを用意させるので,立ち上げたあとにそのまま利用できる。的主要内容,如果未能解决你的问题,请参考以下文章
ruby モジュールとインスタンス変数について
markdown AWS VPCの作成からEC2インスタンスの起动,ELBの设定まで
ruby クラスメソッドとインスタンスメソッドをミックスイン
markdown EC2インスタンスからファイルをダウンロード
markdown AWS CLIでインスタンスのメトリクスを取得
java 同クラスの各インスタンスから,共通であるインスタンスメソッドを呼び出して,特定の结果を得る