以编程方式将ELPC节点添加到ELB

以下代码旨在将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-sdk gem是RubyGems提供的最新版本,本周更新了。 这不是Ruby SDK for AWS中可用的function吗? 如何通过此gem或其他方式将VPC节点添加到带有Ruby代码的Load Balancer?

已解决:此错误是使用旧版AWS API的aws-sdk gem的ELB部分的结果。 2012年8月6日发布了新的gem版本(1.6.1),导致ELB使用2012-06-01版本的API,现在可以使用问题中的代码将实例添加到ELB。