2012-05-06 5 views
3

私はEBSルートデバイスとしてWindows Server 2008のAMIを持っています。 botoとリモートデスクトップを使ってインスタンスを起動することはできますが、一時的なストレージをマウントすることはできません。 BlockDeviceMappingで何か問題がありますか?私はこのコードを実行するとbotoを使用してWindowsのec2インスタンスに一時記憶域をマウントするにはどうすればよいですか?

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) 

は、インスタンスが起動発射と私はアクセスできますが、私は唯一のルートデバイスがマウントを参照してください。

は、ここに私のコードです。

+0

私はbotoを知らないが、これはデバイス名をデバイスドライバにマッピングしているように見えるが、デバイスを名前空間にフォーマットまたはマウントするための何もしない。 – sarnold

+0

@sarnold hmmmmm。ドキュメンテーションの私の読書はあなたのためにマウントを行うことを示しているようだが、私は間違っている可能性があります。 Amazon EBSでバックアップされたWindowsインスタンス上のインスタンスストアへのアクセスを参照してください。http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/InstanceStorage.html – oob

答えて

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管理コンソールに表示されるわけではありません。それでもルートデバイスのみが表示されます。

Hereは、わかりやすいコードサンプル/フォーラムの質問です。

関連する問題