是否有可能创build一个EBS卷并附加到同一个实例? 博托会有一些帮助吗?
是的。 将您的凭据设置为环境variables( AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
),安装boto
并AWS_SECRET_ACCESS_KEY
Python:
>>> import boto >>> ec2 = boto.connect_ec2() >>> reservations = ec2.get_all_instances() >>> ins = reservations.instances[0] # say ins is *this* instance >>> vol = ec2.create_volume(10, ins.placement) >>> vol.attach(inst.id, '/dev/sdh') u'attaching'
上面假设你只有一个实例启动。 如果你知道你的实例ID(你应该!),你可以在所有保留的实例id上简单地匹配所有实例。
最终,您可以简单地格式化您的卷并安装它:
# mkfs -t ext3 /dev/sdh # mkdir /volume # mount -t ext3 /dev/sdh /volume
我认为dynamic获取实例ID是一个更好的select。 您可以使用GET请求来改善上述脚本到实例中的以下URL。
http://169.254.169.254/2009-04-04/meta-data/instance-id
然后你可以编写一个适用于所有实例的脚本。 即使你一次只有一个,你也可以将这个脚本包含在一个自定义的AMI中,这样每个新的实例都可以根据需要给自己一个新的卷。