知識庫
在終止AWS 實例時是如何保留根卷?當你終止一個 EC2 實例時,與其關聯的 EBS 卷是否被刪除取決于該卷的“刪除終止”屬性。默認情況下,當你通過 AWS Management Console 創建 EC2 實例時,根設備卷的“刪除終止”屬性通常被設置為“true”,這意味著當實例被終止時,該卷也會被自動刪除。
免綁卡注冊AWS 實例:http://www.bxgb88.com/zt/2023-05-06/
首先,讓我們明確一點:根卷是EC2實例中存儲操作系統和其他程序文件的地方。通常情況下,根卷與實例綁定在一起,當實例被終止時,根卷也會被刪除。但在某些情況下,我們可能希望保留根卷中的數據或配置信息,以便后續使用或恢復。以下是幾種保留根卷的方法:
一、在創建時設置:
當你在 AWS Management Console 創建 EC2 實例時,我們在添加存儲步驟中,如果使用默認配置的情況下,可以在“添加存儲”步驟中取消勾選與根設備卷關聯的“刪除終止”選項。就是說在這個實例被終止的時候,所掛載的這個EBS卷也同時會被刪除;這樣帶來的影響就是我們在這個卷中所配置的軟件包或者存儲的數據也就直接被刪除了。
二、修改現有實例的 EBS 設置:
打開 AWS Management Console 并導航到 EC2 服務。在“實例”頁面中,選擇要修改的實例。
在“描述”選項卡下,找到“根設備”條目并點擊鏈接。
在彈出的“塊設備”窗口中,找到你要修改的卷并點擊它旁邊的“編輯”圖標。取消勾選“刪除終止”選項。點擊“保存”。
但是很不幸,aws的web管理控制臺并沒有選項取消這個默認配置,那么我們有沒有方案能夠滿足這個需求呢?答案是有的,就是需要通過aws的cli命令行工具才能實現。
三、使用 AWS CLI:
首先我們先啟動一個ec2實例,就是我們上面提到的,在添加存儲時“終止時刪除”配置選項使用默認配置。這時我們通過cli工具來查看一下DeleteOnTermination屬性值,然后這個時候我們嘗試終止這個實例,然后看一下系統提示:當終止實例時,系統給出的提示,在警告中明確給出了對應信息。
在aws的ec2服務中,這個關聯屬性是“DeleteOnTermination”,當用戶在終止一個ec2實例的時候,系統會檢查這個屬性值來確定是保留還是刪除該卷。根據卷是否為實例的根卷,DeleteOnTermination屬性的默認值會有所不同,我們直接來看如何來處理這個問題吧。
如果你使用 AWS CLI,可以使用 modify-instance-attribute 命令來更改“刪除終止”屬性。以下是一個示例命令,將實例 i-0abcd1234efgh5678 的根設備卷的“刪除終止”屬性設置為“false”:aws ec2 modify-instance-attribute --instance-id i-0abcd1234efgh5678 --block-device-mappings "[{\"DeviceName\":\"/dev/xvda\",\"Ebs\":{\"DeleteOnTermination\":false}}]"
然后我們來操作將DeleteOnTermination屬性值置為false,使用命令modify-instance-attribute,完整命令為:aws ec2 modify-instance-attribute –instance-id –block-device-mappings "[{"DeviceName": "","Ebs":{"DeleteOnTermination":false}}]",將和部分根據實際情況進行修改。然后我們執行指令,并查看更改結果:
我們看到實例對應的屬性已經被修改了,然后我們在看一下終止實例時系統的提示:這時我們已經看到了系統提示的變化了,這個時候我們來嘗試直接終止實例后,EBS卷的狀態。上面實例已經被正常終止了。上面我們看到這個EBS卷的狀態依然是正常,仍然可以繼續使用。
四、 創建快照備份:除了停止實例的方式,我們還可以通過創建快照來備份根卷數據。使用Amazon EBS(彈性塊存儲)服務,我們可以在終止實例之前創建根卷的快照。這樣,在需要時,我們可以通過快照恢復根卷數據,并將其附加到新的EC2實例上。
五、使用AMI(Amazon Machine Image):AMI是一個包含完整操作系統和預裝軟件的映像。我們可以通過創建AMI的方式來保留根卷數據。在終止實例之前,我們可以創建一個自定義的AMI,其中包含了當前實例的根卷數據。然后,在需要時,我們可以使用此AMI來啟動新的實例,并保持根卷數據的完整性。
除了上述方法,還有一些其他的技術手段可以用于保留AWS EC2實例的根卷。例如,使用第三方工具或腳本進行數據備份和恢復,或者聯系互聯數據客服將根卷掛載到其他EC2實例中進行數據訪問。通過合理選擇和運用這些方法,我們可以有效地保留根卷數據,并在需要時進行恢復和重用。然而,無論采用哪種方法,我們都應該在實施前進行充分的測試,以確保數據的完整性和可用性。