2

所以我正在编写一个允许用户在 ec2 上创建实例的 rails 应用程序。到目前为止,我已经能够很好地启动和运行,但有一个例外:我似乎无法为实例命名。当我查看管理控制台并看到一堆无名实例时,我会感到困惑。我查看了创建实例的文档,但似乎没有可用的选项符合要求,但也许我遗漏了一些东西。

tl;dr 当我使用适用于 ruby​​ 的 AWS 开发工具包创建实例时,如何为实例命名?

编辑:有人建议我ec2.client.create_tags这样使用:

ec2.client.create_tags(:resources => [@instance.instance_id, :tags => [
    { :key => 'Name', :value => @instance.instance_name },
]])

但我得到这个错误:expected string value for member 2 of option resources

@instance.instance_name和都是@instance.instance_id字符串,所以我不知道发生了什么。

EDIT2:上面的错误是由于括号放错了。

4

2 回答 2

4

创建实例后,您需要为其添加标签。您最多可以添加 10 个任意键值对,如果键是“名称”,则 aws 控制台将默认显示该值。您还可以配置控制台以显示您认为有用的任何其他标签。

假设您的实例具有“i-123abc”,这样的事情应该可以解决问题。

ec2 = AWS::EC2.new
ec2.client.create_tags(:resources => ["i-123abc"], :tags => [
  { :key => 'Name', :value => 'an instance' }
])
于 2013-06-24T20:44:38.340 回答
0

我会尝试以下...

1.(设置 AWS)

   ec2 = AWS::EC2.new(
  :access_key_id => 'YOUR_ACCESS_KEY_ID',
  :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')

2.(运行实例)

ec2.instances.create(:image_id => "ami-8c1fece5")

3.(检查实例是否正在运行)

i = ec2.instances["i-12345678"]
i.exists?

完毕。

于 2013-06-24T20:53:13.350 回答