3

次のコードは、VPCに新しくデプロイされたEC2インスタンスをロードバランサーに追加することを目的としています。(これは明らかにテスト/ダミーコードですが、一般的なワークフローは実際のシステムでも同じです)

require 'yaml'
gem 'aws-sdk','1.6.0'
require 'aws-sdk'

AWS.config({
  :access_key_id => KEY,
  :secret_access_key => SECRET_KEY
})
ec2 = AWS::EC2.new
elb = AWS::ELB.new

i = ec2.instances["i-abcd1234"]
elb.load_balancers["lb-name"].instances.register(i)

このコードを実行すると、次のエラーが発生します。

AWS::ELB::Errors::ValidationError: ELB in VPC is not supported in this version of API. Please try 2011-11-15 or newer.

私のaws-sdkgemは、RubyGemsから入手できる最新バージョンであり、今週更新されました。これは、Ruby SDK for AWSで利用できる機能ではありませんか?このgemまたはその他の方法で、Rubyコードを使用してVPCノードをロードバランサーに追加するにはどうすればよいですか?

4

1 に答える 1

2

解決済み:このエラーは、古いバージョンのAWSAPIを使用したaws-sdkgemのELB部分の結果でした。新しいgemバージョン(1.6.1)が2012年8月6日にリリースされ、ELBは2012-06-01バージョンのAPIを使用するようになり、質問のようなコードを使用してインスタンスをELBに追加できるようになりました。

于 2012-08-08T15:43:22.507 に答える