繁体   English   中英

使用aws sdk for ruby​​创建实例时如何命名?

[英]How do I give an instance a name when created with the aws sdk for ruby?

因此,我正在编写一个Rails应用,该应用将允许用户在ec2上创建实例。 到目前为止,除了一个例外,我已经能够很好地启动并运行它:我似乎无法为实例命名。 当我在管理控制台中查看并看到一堆无名实例时,这变得令人困惑。 我查看了用于创建实例的文档 ,似乎没有可用的选项符合要求,但是也许我缺少了一些东西。

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:上面的错误是由于放错了括号。

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

假设您的实例具有“ i-123abc”,则类似的事情应该可以解决。

ec2 = AWS::EC2.new
ec2.client.create_tags(:resources => ["i-123abc"], :tags => [
  { :key => 'Name', :value => 'an instance' }
])

我会尝试以下...

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?

完成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM