雑記帳
2011-10-11 (Tue) [長年日記]
■ [Ruby][AWS] AWS SDK for Ruby 1.2.0 Release
いつの間にかでてた。リリースによると、ELBが新規にサポート対象となった。ELBはAWS Management Consoleではできないことが結構あるので、Rubyで使えるようになって嬉しい。
Management Consoleではできない事の例として、ひとつのEC2インスタンスを複数のELBに追加してみた。
AWS.config(YAML.load(File.read('config.yml'))) ec2 = AWS::EC2.new elb = AWS::ELB.new %w(my-lb1 my-lb2).each do |n| lb = elb.load_balancers.create(n, :availability_zones => ['us-east-1b', 'us-east-1c'], :listeners => [ {:port => 80, :protocol => :http, :instance_port => 80, :instance_protocol => :http} ]) lb.instances.register(ec2.instances.map {|i| i.id}) end elb.load_balancers.each do |lb| puts "#{lb.name}:" lb.instances.each do |i| puts "\t#{i.id}" end end
EC2インスタンスが既に起動していることを前提としている。ELBを二つ作成して、それぞれのELBにインスタンスを登録している。
今回は、EC2が二つ起動している状態で実行してみた。結果として、以下のように出力される。
my-lb1: i-4e624e2e i-9c614dfc my-lb2: i-9c614dfc i-4e624e2e
使い方は、ELBのドキュメントに。機能は比較的単純なので、簡単に使える。