在執行個體終止時保留資料 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在執行個體終止時保留資料

根據您的使用案例,您可能希望在 Amazon 執行個體終止時保留執行個體存放EBS區磁碟區或 Amazon EC2 磁碟區上的資料。在終止執行個體時,執行個體儲存體磁碟區上的資料就不會再持續存在。如果您需要保留執行個體存放區磁碟區上存放的資料超過執行個體的生命週期,則必須手動將該資料複製到更持久的儲存,例如 Amazon EBS 磁碟區、Amazon S3 儲存貯體或 Amazon EFS 檔案系統。如需詳細資訊,請參閱適用於 Amazon EC2 執行個體的儲存選項

對於 Amazon EBS 卷上的資料,Amazon EC2 會針對每個連接的 Amazon 磁EBS碟區使用DeleteOnTermination屬性值來確定是保留還是刪除磁碟區。

DeleteOnTermination 屬性的預設值會根據磁碟區是執行個體的根磁碟區,還是連接至執行個體的非根磁碟區而有所不同。

根磁碟區

根據預設,當您啟動執行個體時,執行個體根磁碟區的DeleteOnTermination屬性會設定為true。因此,執行個體終止時,預設會刪除執行個體的根磁碟區。

非根磁碟區

依預設,當您將非根EBS磁碟區附加至執行個體時,其DeleteOnTermination屬性會設定為false。因此,預設會保留這些磁碟區。

注意

執行個體終止後,您可拍攝已保留磁碟區的快照,並將其連接到另一個執行個體。您必須刪除磁碟區以免日後產生費用。

DeleteOnTermination屬性可由建立者以AMI及啟動執行個體的人員設定。當屬性由實例的建立者AMI或啟動實例的人員變更時,新設定會覆寫原始AMI預設設定。我們建議您在啟動執行個體後,確認DeleteOnTermination屬性的預設設定AMI。

若要確認是否在執行個體終止時刪除 Amazon EBS 磁碟區,請在執行個體的詳細資料窗格上檢視磁碟區的詳細資訊。在 Storage (儲存) 索引標籤上的 Block devices (區塊型儲存設備) 之下,向右捲動以檢視磁碟區的 Delete on termination (在終止時刪除) 設定。

  • 如果為,磁碟區會在執行個體終止時遭到刪除。

  • 如果為,磁碟區不會在執行個體終止時遭到刪除。執行個體終止時未刪除的任何磁碟區將繼續產生費用。

將根磁碟區變更為在啟動時保留

啟動執行個體時,您可以使用主控台變更 DeleteOnTermination 屬性。若要變更運作中執行個體的這項屬性,您必須使用命令列。

使用下列其中一種方法,將根磁碟區變更為在啟動時予以保留。

Console
欲使用主控台在啟動時將執行個體的根磁碟區變更為保留
  1. 遵循程序啟動執行個體,但在完成下列步驟以將根磁碟區變更為保留之前,請勿啟動執行個體。

  2. 儲存 (磁碟區) 下方,展開根磁碟區下的資訊。

  3. 針對在終止時刪除,選擇

  4. Summary (摘要) 面板中,檢閱您的執行個體組態,然後選擇 Launch instance (啟動執行個體)。如需詳細資訊,請參閱使用主控台中的啟動EC2執行個體精靈啟動執行個體

Command line
欲使用命令列在啟動時將執行個體的根磁碟區變更為保留

當您啟動 EBS-backed 執行個體時,您可以使用下列其中一個指令來變更根裝置磁碟區以持續存在。如需有關這些命令列介面的詳細資訊,請參閱訪問 Amazon EC2

在您要保留的磁碟區的區塊型裝置映射中,包括 --DeleteOnTermination,並指定 false

例如,若要保留磁碟區,將下列選項新增至 run-instances 命令:

--block-device-mappings file://mapping.json

mapping.json 中,指定裝置名稱,例如 /dev/sda1 或者 /dev/xvda,針對 --DeleteOnTermination,指定 false

[ { "DeviceName": "device_name", "Ebs": { "DeleteOnTermination": false } } ]

將執行中執行個體的根磁碟區變更為持續存在

您可以使用下列其中一個命令,將執行中 EBS-backed 執行個體的根裝置磁碟區變更為持續存在。如需有關這些命令列介面的詳細資訊,請參閱訪問 Amazon EC2

例如,使用下列命令:

aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --block-device-mappings file://mapping.json

mapping.json 中,指定裝置名稱,例如 /dev/sda1 或者 /dev/xvda,針對 --DeleteOnTermination,指定 false

[ { "DeviceName": "device_name", "Ebs": { "DeleteOnTermination": false } } ]