从同一个实例创buildEBS卷和附加?

是否有可能创build一个EBS卷并附加到同一个实例? 博托会有一些帮助吗?

是的。 将您的凭据设置为环境variables( AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY ),安装botoAWS_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中,这样每个新的实例都可以根据需要给自己一个新的卷。