簡體   English   中英

如何以編程方式在Amazon Windows 2008 AMI上啟用實例存儲

[英]How to programmatically enable instance storage on Amazon Windows 2008 AMI

我正在使用PHP腳本以編程方式創建一個新的Windows實例並在其上運行測試。

一切正常,直到我升級為使用小實例 (而不是微型)。 最初我認為Windows 2008的C:\\驅動器大小將是160 GB ,但不,似乎必須啟用此空間。

我搜索了很多,發現可以使用命令行或使用此PHP函數modify_instance_attribute以編程方式啟用此存儲

但是,目前還不清楚如何做到這一點。 我的問題是 :是否可以以D:\\ (例如)訪問此實例存儲。 如果是這樣,我怎么能用PHP做到這一點? 即。

$ec2->modify_instance_attribute($instance_id, 
       array('BlockDeviceMapping' => array(
            'DeviceName' => '/dev/sdc=ephemeral0'
       )
));

PS。 不關心數據完整性,我只需要那些160 GB,這樣我就可以動態生成隨機數據以進行自動化測試。

嘗試這個:

  1. 創建您的m1.small實例
  2. 通過RDP連接並轉到“開始”菜單 - >“計算機” - >“管理”
  3. 在服務器管理器窗口GoTo Storage中 ,您應該在底部面板中找到列為未分配空間的實例存儲(149GB)
  4. 右鍵單擊它並選擇“ 在線”
  5. 再次右鍵單擊並將其作為新硬盤安裝
  6. 格式化這個新驅動器並仔細檢查它在那里的資源管理器
  7. 現在注銷,轉到Amazon控制面板並將此運行實例保存為新圖像

就這樣。 從現在開始,每當您從PHP啟動一個新的小實例時,您的160GB驅動器應該已經安裝並可用。

PS。 不需要modify_instance_attribute()函數,你可以使用run_instances(),即。

<?php
$ec2 = new AmazonEC2();
$ec2->set_region(AmazonEC2::REGION_EU_W1);
$ec2->run_instances($ami_image_id, 1, 1, array(
                    'KeyName'       => 'my-Key',
                    'Placement'     => array('AvailabilityZone' => 'eu-west-1a'),
                    'BlockDeviceMapping' => array(
                              'VirtualName'    => 'ephemeral0',
                              'DeviceName'     => '/dev/xvdb'
                     ),
                     'InstanceType'  => 'm1.small',
                     'SecurityGroup' => 'my-RDP-group'
 ));
?>

啟動后,無法以編程方式為Amazon EC2實例啟用/映射實例存儲 ,請參閱Amazon EC2實例存儲使用方案中的實例 上可用的 實例存儲部分

默認情況下,使用Amazon EBS作為根設備的實例在啟動時不具備實例存儲。 如果要將實例存儲與EBS支持的實例一起使用,則必須在啟動實例時顯式地將實例存儲與設備映射 [強調我的]

在該頁面上也概述了實現此目標所需的高級步驟,並且cyberx86 對m1.xlarge實例上缺少短暫磁盤的回答提供了兩種可用方法的很好的總結。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM