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

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

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

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

對於 Amazon EBS 磁碟區上的資料,Amazon EC2 會針對每一連接的 Amazon EBS 磁碟區,使用 DeleteOnTermination 屬性的值,以判定是否保留或刪除該磁碟區。

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

根磁碟區

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

非根磁碟區

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

注意

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

AMI 建立者及執行個體的啟動者可以設定 DeleteOnTermination 屬性。當 AMI 建立者或執行個體的啟動者建立此屬性時,新設定會覆寫原始 AMI 預設設定。使用 AMI 啟動執行個體後,建議您驗證 DeleteOnTermination 屬性的預設設定。

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

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

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

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

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

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

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

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

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

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

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

啟動 EBS 後端執行個體時,您可使用下列命令之一將根設備磁碟區變更為保留。如需有關這些命令列介面的詳細資訊,請參閱存取 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 後端執行個體的根設備磁碟區變更為保留。如需有關這些命令列介面的詳細資訊,請參閱存取 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 } } ]