我有兩個相關的問題 - 或問題 - 與亞馬遜ec2 API。 雖然我真的想要使用python和boto軟件包,這就是我如何使用下面的代碼,但我得到的結果與 等效的shell ec2- *命令完全相同。我想從基於Debian的公共AMI鏡像 產生一個實例,但我想要一個更大的根分區(因爲我想安裝額外的 Debian軟件包,它們不在圖像中)。文檔使我 相信我應該做這樣的事情:亞馬遜aws/ec2映像的塊設備映射
import boto.ec2 as BE
import boto.ec2.blockdevicemapping as BEM
conn=BE.connect_to_region('us-east-1')
bdt=BEM.BlockDeviceType()
# I want a 10G root device, not a 1G
bdt.size=10
bdm=BEM.BlockDeviceMapping()
bdm['/dev/sda1']=bdt
reservations=conn.run_instances('ami-1234abcd', key_name='mykey',
instance_type='m1.medium', block_device_map=bdm)
然而,這似乎完全沒有影響。實例是催生精品, 正確的圖像和一切,但根本設備仍然只是1G :-(
所以,後來我想也許我需要以某種方式從 圖像初始化BlockDeviceMapping之前,我修改。我試着這樣說:
bdm=conn.get_image_attribute('ami-1234abcd', attribute='blockDeviceMapping')
,這導致一些奇怪的異常跟蹤,說「嘗試 非法操作」或相似的,這種情況即使對於我自己被冰凍另一實例創建的圖像
!在可怕的Web界面中創建 實例時,很容易修改設備配置。請以編程方式告訴我如何做到這一點 !謝謝。
您是否嘗試在啓動實例後調整文件系統大小? – garnaat