我想將亞馬遜EC2競價型實例作爲CI服務器運行。 爲了保留歷史信息,我希望將所有數據保留在單獨的EBS捲上,因爲每當它終止時,現貨實例的EBS卷將被刪除。啓動亞馬遜EC2競價型實例時附加EBS
如何在啓動過程中掛載EBS卷?
謝謝, 伊多。
我想將亞馬遜EC2競價型實例作爲CI服務器運行。 爲了保留歷史信息,我希望將所有數據保留在單獨的EBS捲上,因爲每當它終止時,現貨實例的EBS卷將被刪除。啓動亞馬遜EC2競價型實例時附加EBS
如何在啓動過程中掛載EBS卷?
謝謝, 伊多。
你可以有一個init
腳本重視的已有量,使用這個命令:
ec2-attach-volume volume_id --instance instance_id --device device
爲了這個工作,你需要
EC2-API安裝在機器
你需要有EC2_PRIVATE_KEY
和EC2_CERT
作爲一個環境變量或將要明確地傳遞。
您試圖附加的音量應該可用。或者,您可以選擇強制detach the volume。
您可以使用curl http://169.254.169.254/latest/meta-data/instance-id
來獲取當前實例的instance_id。
參見:
希望這有助於。
您可以使用EC2 API和EBS卷ID知識來完成此操作。
確切的步驟取決於您的操作系統。這裏說明了如何做到這一點在Linux上
http://ec2dream.blogspot.com/search/label/EBS
這個特定的腳本是在Ruby中,你可能需要根據你的Linux發行版來安裝的鏈接。校長可以很容易地移植到例如bash
。
如果您的實例在運行Windows,看看這個:
有什麼辦法可以做到這一點與根卷?據推測,你不能使用init腳本,因爲如果它已經使用根磁盤來運行腳本,那麼現有的EBS磁盤已經爲時過晚了,無法成爲根卷? –
也要注意init腳本是由root運行的,所以你的憑證需要以root身份加入。 awscli特別需要這個。連接設備後,可能需要明確安裝。 – mckenzm