[英]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.