

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

# 在 Amazon EC2 執行個體終止後保留 Amazon EBS 根磁碟區
在執行個體終止後保留根磁碟區

根據預設，執行個體終止時，將刪除 Amazon EBS 根磁碟區。您可以變更預設行為，以確保在執行個體終止後 Amazon EBS 根磁碟區持續存在。若要變更此預設行為，請將 `DeleteOnTermination` 屬性設定為 `false`。您可以在執行個體啟動時，或啟動後執行此操作。

**Topics**
+ [

## 將根磁碟區設定為執行個體啟動期間持續存在
](#Using_ChangeRootDeviceVolumeToPersist)
+ [

## 將根磁碟區設定為若為現有執行個體則持續存在
](#set-deleteOnTermination-aws-cli)
+ [

## 確認根磁碟區已設定為持續存在
](#Using_ConfirmRootDeviceVolumeToPersist)

## 將根磁碟區設定為執行個體啟動期間持續存在


您可以設定根磁碟區在啟動執行個體期間持續存在。

------
#### [ Console ]

**將根磁碟區設定為啟動執行個體時持續存在**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Instances (執行個體)**，然後選擇 **Launch instances (啟動執行個體)**。

1. 依序選擇 Amazon Machine Image (AMI)、執行個體類型和金鑰對，然後設定網路設定。

1. 針對**設定儲存**，選擇**進階**。

1. 展開根磁碟區。

1. 針對**在終止時刪除**，選擇**否**。

1. 當您完成對執行個體的設定後，選擇**啟動執行個體**。

------
#### [ AWS CLI ]

**將根磁碟區設定為啟動執行個體時持續存在**  
使用 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令，並包含下列選項。

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

在 `mapping.json` 中，指定將 `DeleteOnTermination` 屬性設定為 `false` 的區塊型儲存設備映射。

```
[
    {
        "DeviceName": "/dev/sda1",
        "Ebs": {
            "DeleteOnTermination": false
        }
    }
]
```

------
#### [ PowerShell ]

**將根磁碟區設定為啟動執行個體時持續存在**  
使用 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet，並納入下列參數。

```
-BlockDeviceMapping $bdm
```

建立將 `DeleteOnTermination` 屬性設定為 `$false` 的區塊型儲存設備映射。

```
$ebs = New-Object Amazon.EC2.Model.EbsBlockDevice
$ebs.DeleteOnTermination = $false
$bdm = New-Object Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "dev/xvda"
$bdm.Ebs = $ebs
```

------

## 將根磁碟區設定為若為現有執行個體則持續存在


您可以設定根磁碟區在執行個體執行期間持續存在。請注意，您無法使用 Amazon EC2 主控台完成此任務。

------
#### [ AWS CLI ]

**將根磁碟區設定為若為現有執行個體則持續存在**  
使用 [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) 命令，搭配將 `DeleteOnTermination` 屬性設定為 `false` 的區塊型設備映射。

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

在 `mapping.json` 中指定下列內容。

```
[
    {
        "DeviceName": "/dev/xvda",
        "Ebs": {
            "DeleteOnTermination": false
        }
    }
]
```

------
#### [ PowerShell ]

**將根磁碟區設定為若為現有執行個體則持續存在**  
使用 [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) cmdlet，搭配將 `DeleteOnTermination` 屬性設定為 `$false` 的區塊型儲存設備映射。

```
$ebs = New-Object Amazon.EC2.Model.EbsInstanceBlockDeviceSpecification
$ebs.DeleteOnTermination = $false
$bdm = New-Object Amazon.EC2.Model.InstanceBlockDeviceMappingSpecification
$bdm.DeviceName = "/dev/xvda"
$bdm.Ebs = $ebs
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -BlockDeviceMapping $bdm
```

------

## 確認根磁碟區已設定為持續存在


您可確認根磁碟區已設定為持續存在。

------
#### [ Console ]

**確認根磁碟區已設定為持續存在**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選取 **Instances (執行個體)**，然後選取執行個體。

1. 在 **Storage (儲存體)** 標籤的 **Block devices (區塊型裝置)** 下，找出根磁碟區的項目。如果 **Delete on termination (終止時刪除)** 為 `No`，則磁碟區會設定為持續存在。

------
#### [ AWS CLI ]

**確認根磁碟區已設定為持續存在**  
使用 [describe-instance](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 命令，並驗證 `DeleteOnTermination` 屬性是否已設定為 `false`。

```
aws ec2 describe-instances \
    --instance-id i-1234567890abcdef0 \
    --query "Reservations[].Instances[].BlockDeviceMappings"
```

以下為範例輸出。

```
[
    [
        {
            "DeviceName": "/dev/xvda",
            "Ebs": {
                "AttachTime": "2024-07-12T04:05:33.000Z",
                "DeleteOnTermination": false,
                "Status": "attached",
                "VolumeId": "vol-1234567890abcdef0"
                
        }
    ]              
]
```

------
#### [ PowerShell ]

**確認根磁碟區已設定為持續存在**  
使用 [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet，並驗證 `DeleteOnTermination` 屬性是否已設定為 `False`。

```
(Get-EC2Instance -InstanceId i-i-1234567890abcdef0).Instances.BlockDeviceMappings.Ebs
```

以下為範例輸出。

```
AssociatedResource  : 
AttachTime          : 7/12/2024 4:05:33 AM
DeleteOnTermination : False
Operator            : 
Status              : attached
VolumeId            : vol-1234567890abcdef0
```

------