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

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

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

當 Amazon EC2 執行個體終止時,您可能會想要保留執行個體儲存體磁碟區或 Amazon EBS 磁碟區上的資料。本主題說明如何確保您的資料在執行個體終止後仍能保留。

執行個體終止如何影響根磁碟區與資料磁碟區

執行個體儲存體磁碟區

執行個體終止時,執行個體儲存體磁碟區上的任何資料會自動刪除,其中的資料也會遺失。要將此資料保留超過執行個體的存留期,在終止執行個體之前,手動將該資料複製到更持久的儲存體,例如 Amazon EBS 磁碟區、Amazon S3 儲存貯體或 Amazon EFS 檔案系統。如需詳細資訊,請參閱Amazon EC2 執行個體的儲存選項

Amazon EBS 磁碟區

執行個體終止時,EBS 磁碟區會被刪除或保留,取決於每個磁碟區的 DeleteOnTermination 屬性值:

  • (主控台) / true (CLI) – 磁碟區會在執行個體終止時遭到刪除。

  • (主控台) / false (CLI) – 磁碟區會在執行個體終止時保留。保留的磁碟區會持續產生費用。

    注意

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

EBS 磁碟區的預設刪除行為

預設 DeleteOnTermination 值會根據磁碟區類型、磁碟區是在啟動時還是之後連接,以及用來連接磁碟區的方法 (主控台或 CLI) 而有所不同:

磁碟區類型 連接時間 連接方法 執行個體終止時的預設行為
根磁碟區 啟動時 主控台或 CLI 刪除
根磁碟區 After launch (啟動後) 主控台或 CLI 保留
資料量 啟動時 主控台 保留
資料量 啟動時 CLI 刪除
資料量 After launch (啟動後) 主控台和 CLI 保留

檢查磁碟區持久性設定

EBS 磁碟區在啟動時的預設值取決於 AMI 上設定的 DeleteOnTermination 屬性。您可以在啟動執行個體時變更此值,覆寫 AMI 的設定。啟動執行個體後,建議您驗證 DeleteOnTermination 屬性的預設設定。

檢查執行個體終止時是否會刪除 Amazon EBS 磁碟區
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇執行個體

  3. 選取執行個體。

  4. 選擇儲存分頁。

  5. 區塊型儲存設備下,向右捲動以檢查終止時刪除欄。

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

    • 如果為,磁碟區不會在執行個體終止時遭到刪除。未刪除的所有磁碟區都會持續產生費用。

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

您可以在啟動執行個體時變更 EBS 根磁碟區的 DeleteOnTermination 屬性。您也可對資料磁碟區使用下列程序。

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

  2. 設定儲存窗格中,選擇進階

  3. EBS 磁碟區下方,展開根磁碟區下的資訊。

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

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

AWS CLI
欲在啟動時將執行個體的根磁碟區變更為保留

使用 run-instances 命令,變更區塊型儲存設備映射中的 DeleteOnTermination 值。

新增 --block-device-mappings 選項:

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

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

[ { "DeviceName": "device_name", "Ebs": { "DeleteOnTermination": false } } ]
PowerShell
欲在啟動時將執行個體的根磁碟區變更為保留

使用 New-EC2Instance cmdlet,變更區塊型儲存設備映射中的 DeleteOnTermination 值。

新增 -BlockDeviceMapping 選項:

-BlockDeviceMapping $bdm

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

$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice $ebd.DeleteOnTermination = false $bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping $bdm.DeviceName = "/dev/sda1" $bdm.Ebs = $ebd

將執行中執行個體的根磁碟區變更為保留

您可以將執行中執行個體的 EBS 根磁碟區變更為保留。您也可對資料磁碟區使用下列程序。

AWS CLI
將根磁碟區變更為持續存在

使用 modify-instance-attribute 命令。

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 } } ]
PowerShell
將根磁碟區變更為持續存在

使用 Edit-EC2InstanceAttribute cmdlet。

新增 -BlockDeviceMapping 選項:

-BlockDeviceMapping $bdm

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

$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice $ebd.DeleteOnTermination = false $bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping $bdm.DeviceName = "/dev/sda1" $bdm.Ebs = $ebd