有誰知道如何在亞馬遜的Elastic Compute Cloud(EC2)中啓動Windows 2003實例時自動掛載Elastic Block Storage(EBS)卷?Amazon EC2中的Automount EBS卷Windows實例
7
A
回答
4
設置:
- 確保EBS卷格式化並標記(在本例中我使用了標籤PDrive工具)。
- 安裝使用Ec2ConfigServiceSettings.exe
- 驅動器映射上的實例
- 安裝Java安裝EC2 API命令行工具
- 安裝您的證書副本和私鑰
- 安裝捲曲的副本。 exe(開源工具)
您可以使用組策略編輯器將此腳本設置爲啓動腳本。有關更多信息,請參閱http://technet.microsoft.com/en-us/library/cc739591(WS.10).aspx。
REM @echo off
REM setlocal ENABLEDELAYEDEXPANSION
C:\WINDOWS\system32\eventcreate /l SYSTEM /t information /id 100 /so AttachEbsBoot /d "Starting attach-ebs-boot.cmd"
REM local variables
REM Make sure you include the directory with curl.exe and the EC2 command line tools in the path
set path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Utils;C:\ebin\ec2\bin
set JAVA_HOME=c:\java
set EC2_HOME=c:\ebin\ec2
set EC2_CERT=<your_cert>
set EC2_PRIVATE_KEY=<your_private_key>
REM Please note: you should use the Ec2 Config Serive Settings application to ensure
REM that your EBS volume is mapped to a particular drive letter.
REM
REM edit as needed
set EBS_DRIVE=P:
set EBS_DEVICE=xvdp
REM Test to see if the drive is already attached. If it is then we're done.
if exist %EBS_DRIVE%\nul (goto done)
REM get the EBS volume ID from the user data and the instance ID from the meta-data
for /f "delims=" %%a in ('curl http://169.254.169.254/latest/user-data') do (set EBS_VOLUME=%%a)
for /f "delims=" %%b in ('curl http://169.254.169.254/latest/meta-data/instance-id') do (set INSTANCE_ID=%%b)
C:\WINDOWS\system32\eventcreate /l SYSTEM /t information /id 102 /so AttachEbsBoot /d "Volume == %EBS_VOLUME%"
C:\WINDOWS\system32\eventcreate /l SYSTEM /t information /id 103 /so AttachEbsBoot /d "Instance == %INSTANCE_ID%"
REM attach the volume
REM
REM Use a series of set command to build the command line
SET COMMAND_LINE=%EBS_VOLUME%
SET COMMAND_LINE=%COMMAND_LINE% -i
SET COMMAND_LINE=%COMMAND_LINE% %INSTANCE_ID%
SET COMMAND_LINE=%COMMAND_LINE% -d
SET COMMAND_LINE=%COMMAND_LINE% %EBS_DEVICE%
C:\WINDOWS\system32\eventcreate /l SYSTEM /t information /id 104 /so AttachEbsBoot /d "calling ec2attvole %COMMAND_LINE%"
call ec2attvol.cmd %COMMAND_LINE%
:DONE
C:\WINDOWS\system32\eventcreate /l SYSTEM /t information /id 101 /so AttachEbsBoot /d "Exiting attach-ebs-boot.cmd"
REM Events logged in the System event log
REM source === AttachEbsBoot
REM
REM Event 100 - Script start
REM Event 101 - Script end
REM Event 102 - Volume ID
REM Event 103 - Instance ID
REM Event 104 - Command line for ec2attvol
3
我在http://www.ioncannon.net/system-administration/199/automounting-amazon-ebs-volumes-on-ec2-instances/發現了以下Ruby代碼,由Carson McDonald提供。它適用於Linux/Unix,但也許你可以在Windows 2003上重新配置Ruby,或者將它用作其他腳本語言的模型。
請注意,您可以將內容作爲用戶數據(如ECS EBS卷ID和設備名稱(例如,下例中的/ dev/sdh或您的情況下的Windows中的任何內容))傳遞到您的映像中。您可以從實例本身作爲元數據訪問用戶數據,大致如下所示,以獲取實例ID。更具體地說,您可以訪問http://169.254.169.254/1.0/user-data以獲取用戶數據。
#!/usr/bin/ruby
require 'rubygems'
require 'right_aws'
require 'net/http'
url = 'http://169.254.169.254/2008-02-01/meta-data/instance-id'
instance_id = Net::HTTP.get_response(URI.parse(url)).body
AMAZON_PUBLIC_KEY='your public key'
AMAZON_PRIVATE_KEY='your private key'
EC2_LOG_VOL='the volume id'
ec2 = RightAws::Ec2.new(AMAZON_PUBLIC_KEY, AMAZON_PRIVATE_KEY)
vol = ec2.attach_volume(EC2_LOG_VOL, instance_id, '/dev/sdh')
puts vol
# It can take a few seconds for the volume to become ready.
# This is just to make sure it is ready before mounting it.
sleep 20
system('mount /dev/sdh /mymountpoint')
相關問題
- 1. 將EBS卷附加到EC2實例
- 2. 具有特定EBS卷大小的Amazon EC2實例Java SDK
- 3. Amazon EC2實例卷大小
- 4. 在Amazon EC2實例中附加新的EBS卷後,我應該在根設備中分離EBS卷嗎?
- 5. 在創建時增加Amazon EC2 Windows AMI EBS根卷大小
- 6. MySQL的 - 分區數據庫表到Amazon EC2實例不同EBS卷
- 7. AWS .Net SDK使用特定的EBS卷大小創建Amazon EC2實例
- 8. 將以前的EBS卷附加到新的EC2 Linux實例
- 9. Ubuntu服務器EC2實例上的EBS卷的最大數量?
- 10. 實例庫與EBS優化的EC2或RAID卷的性能
- 11. 將舊的EBS卷安裝到新的實例 - 亞馬遜EC2
- 12. 如何用新的Amazon EC2實例替換Amazon EC2實例?
- 13. 如何訪問我在EC2實例上創建的EBS卷?
- 14. 在Amazon EC2中,如何將EBS卷複製到其他用戶?
- 15. Amazon EC2 EBS快照損壞?
- 16. Amazon EC2 - 使用EBS設備交換根實例存儲設備
- 17. Amazon EBS EC2實例IP在重新啓動時發生更改
- 18. EC2實例在EBS卷調整後非常緩慢
- 19. 用ebs卷附上ec2
- 20. 本地啓動EC2 EBS卷?
- 21. Amazon EC2:臨時卷在創建的新實例中不可見
- 22. 將EBS添加到Ubuntu EC2實例
- 23. 的Amazon EC2實例預留
- 24. Amazon EC2實例上的pyvirtualdisplay
- 25. 用EC2實例創建JSON雲形成模板,該實例還附加EBS卷...
- 26. 如何將圖像傳輸到Amazon EBS卷以使用EC2?
- 27. Amazon EC2存儲
- 28. Jenkins ssh到amazon ec2實例
- 29. Amazon EC2微型實例
- 30. Amazon EC2默認實例