如何使用 boto 在 Windows ec2 实例上挂载临时存储



我有一个将Windows Server 2008作为EBS根设备的AMI。 我可以使用 boto 和远程桌面启动它的一个实例,但我似乎无法让它挂载其临时存储。 我的 BlockDeviceMapping 有问题吗?

这是我的代码:

import boto
from boto.ec2.connection import EC2Connection
conn = EC2Connection(mykey, mysecretkey)
bdm = boto.ec2.blockdevicemapping.BlockDeviceMapping({'/dev/xvdb':'ephemeral0'})
conn.run_instances(myami, key_name=mykeyname,security_groups=[mysecgroup],block_device_map=bdm)

当我运行此代码时,一个实例会启动,我可以访问,但我只看到挂载的根设备。

我想通了。 我看过一些例子,让我相信块设备映射应该是一个字符串到字符串映射,但它实际上应该是一个字符串到BlockDeviceType映射。 这是我如何让它工作:

from boto.ec2.connection import EC2Connection
from boto.ec2.blockdevicemapping import BlockDeviceType, BlockDeviceMapping
conn = EC2Connection(mykey, mysecretkey)
xvdb = BlockDeviceType()
xvdb.ephemeral_name='ephemeral0'
bdm = BlockDeviceMapping()
bdm['/dev/xvdb'] = xvdb
conn.run_instances(myami, key_name=mykeyname,security_groups=[mysecgroup],block_device_map=bdm)

登录时,我可以看到我的临时驱动器。 并不是说它不会在 AWS 管理控制台中显示为块储存设备。 您仍然只能看到您的根设备。

这是一个代码示例/论坛问题,帮助我弄清楚了。

最新更新