3

EBS ルート デバイスとして Windows Server 2008 を使用する 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)

このコードを実行すると、インスタンスが起動してアクセスできますが、マウントされているルート デバイスしか表示されません。

4

1 に答える 1

5

私はそれを考え出した。ブロック デバイス マップは文字列から文字列へのマップである必要があると思わせる例をいくつか見たことがありますが、実際には文字列から 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 マネジメント コンソールにブロック デバイスとして表示されないわけではありません。まだルート デバイスしか表示されません。

これは、私がそれを理解するのに役立ったコードサンプル/フォーラムの質問です.

于 2012-05-06T19:30:40.600 に答える