

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

# Amazon EC2 執行個體的根磁碟區
<a name="RootDeviceStorage"></a>

當您啟動執行個體時，系統會為執行個體建立*根磁碟區*。根磁碟區內含用來啟動執行個體的映像。每個執行個體都有一個根磁碟區。您可以在啟動期間或結束後，將儲存磁碟區新增至執行個體。

您啟動執行個體時使用的 AMI，會判斷根磁碟區的類型。您可以從 *Amazon EBS 支援的 AMI* (Linux 和 Windows 執行個體) 或*Amazon S3 支援的 AMI* (僅限 Linux 執行個體) 啟動執行個體。每種類型的 AMI 的用途存在顯著差異。如需這些差異的詳細資訊，請參閱 [根磁碟區類型](ComponentsAMIs.md#storage-for-the-root-device)。

建議您使用 Amazon EBS 支援的 AMI，因這些執行個體啟動速度較快且採用持久性儲存。

系統會為根磁碟區保留特定的裝置名稱。如需詳細資訊，請參閱[Amazon EC2 執行個體上磁碟區的裝置名稱](device_naming.md)。

**Topics**
+ [

## 具有 Amazon EBS 根磁碟區的執行個體
](#root-volume-ebs-backed)
+ [

## 具有執行個體儲存體根磁碟區的執行個體 （僅限 Linux 執行個體）
](#root-volume-instance-store-backed)
+ [

# 在 Amazon EC2 執行個體終止後保留 Amazon EBS 根磁碟區
](configure-root-volume-delete-on-termination.md)
+ [

# 在不停止 Amazon EC2 執行個體的情況下，取代根磁碟區。
](replace-root.md)

## 具有 Amazon EBS 根磁碟區的執行個體
<a name="root-volume-ebs-backed"></a>

使用 Amazon EBS 做為根磁碟區的執行個體會自動連接 Amazon EBS 磁碟區。啟動具有 Amazon EBS-AMI 的執行個體時，我們會為 AMI 所參考的各個 Amazon EBS 快照，建立 Amazon EBS 磁碟區。您可根據執行個體類型選擇使用其他 Amazon EBS 磁碟區或執行個體存放區磁碟區。

具有 EBS 根磁碟區的執行個體可停止並在稍後重新啟動，不會影響連接磁碟區內儲存的資料。當具有 EBS 根磁碟區的執行個體處於停止狀態時，您仍可執行多種執行個體和磁碟區的相關任務。例如，您可修改執行個體的屬性、變更其大小、更新其正使用的核心，或者您可將根磁碟區連接至另一個運作中執行個體以進行除錯或其他用途。如需詳細資訊，請參閱 [Amazon EBS 磁碟區](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html)。

![\[從 Amazon EBS 支援的 AMI 啟動之執行個體的根磁碟區與其他 Amazon EBS 磁碟區\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ebs_backed_instance.png)


**限制**  
您無法使用 `st1` 或 `sc1` EBS 磁碟區做為根磁碟區。

**執行個體失敗**

若具有 EBS 根磁碟區的執行個體出現故障，您可採取下列方法之一來還原工作階段：
+ 停止然後再次啟動 (請先嘗試此方法)。
+ 自動拍攝所有相關磁碟區的快照，並建立新的 AMI。如需詳細資訊，請參閱 [建立 Amazon EBS 支援的 AMI](creating-an-ami-ebs.md)。
+ 採取下列步驟將磁碟區連接至新的執行個體：

  1. 建立根磁碟區的快照。

  1. 使用快照註冊新的 AMI。

  1. 從新的 AMI 啟動新的執行個體。

  1. 將剩餘的 Amazon EBS 磁碟區自舊的執行個體分離。

  1. 將 Amazon EBS 磁碟區重新連接至新的執行個體。

## 具有執行個體儲存體根磁碟區的執行個體 （僅限 Linux 執行個體）
<a name="root-volume-instance-store-backed"></a>

**注意**  
Windows 執行個體不支援執行個體儲存體的根磁碟區。

將執行個體儲存體用於根磁碟區的執行個體，自動具備一個或多個可用的執行個體儲存體磁碟區，其中一個磁碟區會當成根磁碟區使用。從 Amazon S3 支援的 AMI 啟動執行個體時，該 AMI 會複製到根磁碟區。請注意，您可根據執行個體類型選擇使用其他執行個體存放區磁碟區。

只要執行個體持續運作，執行個體儲存體磁碟區上的資料就會永久保存，但若執行個體被終止 (具有執行個體儲存體根磁碟區的執行個體不支援**停止**動作) 或故障 (如底層磁碟區出現問題)，這些資料就會被刪除。如需詳細資訊，請參閱[EC 2 執行個體的執行個體儲存體暫時區塊儲存](InstanceStorage.md)。

![\[從 Amazon S3 支援的 AMI 啟動的 Amazon EC2 執行個體上的根磁碟區\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/instance_store_backed_instance.png)


**支援的執行個體類型**  
只有下列執行個體類型支援執行個體儲存體磁碟區做為根磁碟區：C1、C3、D2、I2、M1、M2、M3、R3 和 X1。

**執行個體失敗**  
具有執行個體儲存體根磁碟區的執行個體故障或終止後，將無法還原。若您計畫使用具有執行個體儲存體根磁碟區的執行個體，我們強烈建議您將執行個體儲存體磁碟區上的資料分散至多個可用區域。您也應將執行個體存放區磁碟區上的重要資料，定期備份為持久性儲存。

# 在 Amazon EC2 執行個體終止後保留 Amazon EBS 根磁碟區
<a name="configure-root-volume-delete-on-termination"></a>

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

**Topics**
+ [

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

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

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

## 將根磁碟區設定為執行個體啟動期間持續存在
<a name="Using_ChangeRootDeviceVolumeToPersist"></a>

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

------
#### [ 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
```

------

## 將根磁碟區設定為若為現有執行個體則持續存在
<a name="set-deleteOnTermination-aws-cli"></a>

您可以設定根磁碟區在執行個體執行期間持續存在。請注意，您無法使用 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
```

------

## 確認根磁碟區已設定為持續存在
<a name="Using_ConfirmRootDeviceVolumeToPersist"></a>

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

------
#### [ 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
```

------

# 在不停止 Amazon EC2 執行個體的情況下，取代根磁碟區。
<a name="replace-root"></a>

Amazon EC2 可讓您取代執行中執行個體的根 Amazon EBS 磁碟區，同時保留下列項目：
+ 儲存在執行個體存放區磁碟區上的資料 - 在還原根磁碟區後，執行個體存放區磁碟區仍會保持連接至執行個體。
+ 資料 (非根) Amazon EBS 磁碟區上儲存的資料 - 在還原根磁碟區後，非根 Amazon EBS 磁碟區會保持連接到執行個體。
+ 網路組態 – 所有網路介面都會保持連接至執行個體，並保留其 IP 地址、識別符和附件 ID。當執行個體可用時，會清除所有擱置中的網路流量。此外，執行個體會保留在相同的實體主機上，因此會保留其公有和私有 IP 地址和 DNS 名稱。
+ IAM 政策 – IAM 描述檔和與執行個體相關聯的政策 (例如索引標籤政策) 會保留並強制執行。

**Topics**
+ [

## 取代根磁碟區的運作方式
](#replace-root-how)
+ [

## 考量事項
](#replace-root-considerations)
+ [

## 取代根磁碟區
](#replace)

## 取代根磁碟區的運作方式
<a name="replace-root-how"></a>

取代執行個體的根磁碟區時，會建立*根磁碟區取代任務*。原始根磁碟區會從執行個體中分離，新根磁碟區會連接至其位置中的執行個體。執行個體的區塊型裝置映射已更新，以反映取代根磁碟區的 ID。

當您取代執行個體的根磁碟區時，您必須指定新磁碟區的快照來源。下列為可能選項。

### 將根磁碟區還原至原始狀態
<a name="replace-launchstate"></a>

此選項將目前根磁碟區取代為基於該磁碟區時所使用快照的新磁碟區。

**使用啟動狀態的考量事項**  
取代根磁碟區會獲得與原始根磁碟區相同的類型、大小和「在終止時刪除」屬性。

### 使用快照取代根磁碟區
<a name="replace-snapshot"></a>

此選項會根據您指定的快照，將目前根磁碟區取代為替代磁碟區。例如，您先前在此根磁碟區所建立的特定快照。如果您需要復原客體操作系統中發生的根磁碟機或網路組態錯誤損壞，這個功能非常實用。

取代根磁碟區會獲得與原始根磁碟區相同的類型、大小和「在終止時刪除」屬性。

**使用快照時的考量事項**
+ 您僅能使用直接從執行個體目前或先前根磁碟區建立的快照。
+ 您無法使用從根磁碟區擷取的快照中建立的快照複本。
+ 在成功取代根磁碟區之後，您依然可以使用從原始根磁碟區中取得的快照來取代新的 (取代) 根磁碟區。

### 使用 AMI 取代根磁碟區
<a name="replace-ami"></a>

此選項會使用您指定的 AMI 取代目前的根磁碟區。如果您需要執行作業系統和應用程式修補或升級，此功能非常實用。AMI 必須具有與執行個體相同的產品代碼、帳單資訊、架構類型和虛擬化類型。

如果已對 ENA 或 sriov-net 啟用執行個體，則您必須使用支援這些功能的 AMI。如果未對 ENA 或 sriov-net 啟用執行個體，您可以選擇不包含這些功能支援的 AMI，或者在選擇支援 ENA 或 sriov-net 的 AMI 時，自動新增對這些功能的支援。

如果已對 NitroTPM 啟用執行個體，則您必須使用已啟用 NitroTPM 的 AMI。如果尚未為 NitroTPM 設定執行個體，無論您選擇的 AMI 為何，NitroTPM 支援都不會啟用。

只要執行個體支援 AMI 的開機模式，您就可以選取開機模式與執行個體不同的 AMI。如果執行個體不支援該開機模式，則請求會失敗。如果執行個體支援該開機模式，則新的開機模式會傳播至執行個體，並相應地更新其 UEFI 資料。如果您已手動修改開機順序，或已新增私有 UEFI 安全開機金鑰來載入私有核心模組，則變更會在根磁碟區取代期間遺失。

取代根磁碟區獲得與原始根磁碟區相同的磁碟區類型和終止時刪除屬性，且它會獲得根磁碟區的 AMI 區塊型裝置映射的大小。

**注意**  
AMI 根磁碟區區塊型裝置映射的大小必須等於或大於原始根磁碟區的大小。如果 AMI 根磁碟區區塊型裝置映射的大小小於原始根磁碟區的大小，則請求失敗。

根磁碟區替換任務完成後，當您使用主控台 AWS CLI 或 AWS SDKs 描述執行個體時，會反映下列新的和更新的資訊：
+ 新的 AMI ID
+ 根磁碟區的新磁碟區 ID
+ 已更新開機模式組態 (如果由 AMI 變更)
+ 已更新 NitroTPM 組態 (如果由 AMI 啟用)
+ 已更新 ENA 組態 (如果由 AMI 啟用)
+ 已更新 sriov-net 組態 (如果由 AMI 啟用)

新的 AMI ID 也會反映在執行個體中繼資料中。

**使用 AMI 時的考量事項**
+ 如果您使用具有多個區塊型裝置映射的 AMI，則只會使用 AMI 的根磁碟區。其他 (非根) 磁碟區會被忽略。
+ 只有在您擁有使用 AMI 及其關聯根磁碟區快照的權限時，才能使用此功能。您無法將此功能與 AWS Marketplace AMIs搭配使用。
+ 只有在執行個體沒有產品代碼的情況下，才能使用不含產品代碼的 AMI。
+ AMI 根磁碟區區塊型裝置映射的大小必須等於或大於原始根磁碟區的大小。如果 AMI 根磁碟區區塊型裝置映射的大小小於原始根磁碟區的大小，則請求失敗。
+ 執行個體的執行個體身分文件會自動更新。
+ 如果執行個體支援 NitroTPM，則會重設執行個體的 NitroTPM 資料，並產生新的金鑰。

您可以選擇是否要在根磁碟區取代程序完成後保留原始根磁碟區。如果您選擇在取代程序完成之後刪除原始根磁碟區，則原始根磁碟區會自動刪除並變得無法復原。如果您選擇在程序完成後保留原始根磁碟區，則該磁碟區仍會在您的帳戶中佈建；當您不再需要它時必須手動刪除磁碟區。

根磁碟區取代任務將通過以下狀態進行轉換：
+ `pending` – 正在建立取代磁碟區。
+ `in-progress` – 原始磁碟區正在分離，且取代磁碟區正在連接。
+ `succeeded` – 取代磁碟區已成功連接至執行個體，且執行個體可用。
+ `failing` – 取代任務處於失敗的程序中。
+ `failed` – 取代任務失敗，但仍連接至根磁碟區。
+ `failing-detached` - 取代任務正在失敗的過程中，執行個體可能不會連接根磁碟區。
+ `failed-detached` – 取代任務失敗，且執行個體沒有連接根磁碟區。

如果根磁碟區取代任務失敗，則執行個體會重新啟動，而原始根磁碟區會保持連接到執行個體。

## 考量事項
<a name="replace-root-considerations"></a>

開始之前，請考慮以下項目。

**要求**
+ 執行個體必須處於 `running` 狀態。
+ 執行個體會在過程中自動重新啟動。重新開機期間會清除記憶體 (RAM) 的內容。不需要手動重新啟動。
+ 如果根磁碟區是執行個體存放區磁碟區，則無法取代根磁碟區。僅支援具有 Amazon EBS 根磁碟區的執行個體。
+ 您可取代所有虛擬化執行個體類型和 EC2 Mac 裸機執行個體的根磁碟區。不支援其他裸機執行個體類型。
+ 您僅能使用直接從執行個體目前或先前根磁碟區建立的快照。
+ 如果帳戶在目前區域中已啟用 Amazon EBS 預設加密，無論指定快照的加密狀態或指定 AMI 的根磁碟區為何，都會一律加密根磁碟區取代任務建立的取代根磁碟區。

**加密結果**  
下表摘要提供了可能的加密結果的摘要。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/replace-root.html)

## 取代根磁碟區
<a name="replace"></a>

取代執行個體的根磁碟區時，會建立*根磁碟區取代任務*。您可以使用根磁碟區取代任務來監視取代過程的進度和結果。

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

**取代根磁碟區**

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

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

1. 選取要取代根磁碟區的執行個體，然後依序選取 **Actions (動作)**、**Monitor and troubleshoot (監控與疑難排解)**、**Replace root volume (取代根磁碟區)**。
**注意**  
如果選定的執行個體不在 `running` 狀態，則會停用**取代根磁碟區**操作。

1. 針對**區域**，選擇以下其中一個選項：
   + **啟動狀態** – 從用來建立目前根磁碟區的快照還原取代根磁碟區。
   + **快照** – 將取代的根磁碟區還原至指定的快照。針對**快照**，選取要使用的快照。
   + **映像** – 使用您指定的 AMI 還原取代根磁碟區。針對**映像**，選取要使用的 AMI。

1. (選用) 對於**磁碟區初始化速率**，您可指定磁碟區初始化的 Amazon EBS 佈建速率 (磁碟區初始化速率)，以 MiB/s 為單位，快照區塊將以此速率從 Amazon S3 下載至磁碟區。如需詳細資訊，請參閱[使用 Amazon EBS 佈建速率進行磁碟區初始化](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html#volume-initialization-rate)。要使用預設初始化速率或快速快照還原 (若已針對選取的快照啟用)，請勿指定速率。

1. (選用) 若要刪除要取代的根磁碟區，請選取**刪除取代的根磁碟區**。

1. 選擇**建立取代任務**。

1. 若要監控取代任務，請選擇執行個體的**儲存體**索引標籤，然後展開**最近的根磁碟區取代任務**。

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

**若要將取代根磁碟區還原至啟動狀態**  
使用 [create-replace-root-volume-task](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-replace-root-volume-task.html) 指令。若為 `--instance-id`，請指定要對其取代根磁碟區的執行個體 ID。省略 `--snapshot-id` 和 `--image-id` 參數。若要在取代原始根磁碟區之後將其刪除，請包含 `--delete-replaced-root-volume` 並指定 `true`。要指定快照區塊從 Amazon S3 下載到磁碟區的磁碟區初始化速率，請針對 `--volume-initialization-rate` 指定介於 `100` 和 `300` MiB/s 之間的值。

```
aws ec2 create-replace-root-volume-task \
--instance-id i-1234567890abcdef0 \
--delete-replaced-root-volume \ 
--volume-initialization-rate 150
```

**若要將取代根磁碟區還原至特定快照**  
使用 [create-replace-root-volume-task](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-replace-root-volume-task.html) 指令。若為 `--instance-id`，請指定要對其取代根磁碟區的執行個體 ID。若為 `--snapshot-id`，請指定要使用的快照 ID。若要在取代原始根磁碟區之後將其刪除，請包含 `--delete-replaced-root-volume` 並指定 `true`。要指定快照區塊從 Amazon S3 下載到磁碟區的磁碟區初始化速率，請針對 `--volume-initialization-rate` 指定介於 `100` 和 `300` MiB/s 之間的值。

```
aws ec2 create-replace-root-volume-task \
--instance-id i-1234567890abcdef0 \
--snapshot-id snap-9876543210abcdef0 \
--delete-replaced-root-volume \ 
--volume-initialization-rate 150
```

**若要使用 AMI 來還原取代根磁碟區**  
使用 [create-replace-root-volume-task](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-replace-root-volume-task.html) 指令。若為 `--instance-id`，請指定要對其取代根磁碟區的執行個體 ID。若為 `--image-id`，請指定要使用的 AMI ID。若要在取代原始根磁碟區之後將其刪除，請包含 `--delete-replaced-root-volume` 並指定 `true`。要指定快照區塊從 Amazon S3 下載到磁碟區的磁碟區初始化速率，請針對 `--volume-initialization-rate` 指定介於 `100` 和 `300` MiB/s 之間的值。

```
aws ec2 create-replace-root-volume-task \
--instance-id i-1234567890abcdef0 \
--image-id ami-09876543210abcdef \
--delete-replaced-root-volume \ 
--volume-initialization-rate 150
```

**檢視根磁碟區取代任務的狀態**  
使用 [describe-replace-root-volume-tasks](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-replace-root-volume-tasks.html) 命令，並指定要檢視的根磁碟區取代任務的 ID。

```
aws ec2 describe-replace-root-volume-tasks \
    --replace-root-volume-task-ids replacevol-1234567890abcdef0 \
    --query ReplaceRootVolumeTasks[].TaskState
```

以下為範例輸出。

```
[
    "succeeded"
]
```

或者，指定要依執行個體篩選結果的 `instance-id` 篩選條件。

```
$ aws ec2 describe-replace-root-volume-tasks \
    --filters Name=instance-id,Values=i-1234567890abcdef0
```

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

**若要將取代根磁碟區還原至啟動狀態**  
使用 [New-EC2ReplaceRootVolumeTask](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ReplaceRootVolumeTask.html) 命令。若為 `-InstanceId`，請指定要對其取代根磁碟區的執行個體 ID。省略 `-SnapshotId` 和 `-ImageId` 參數。若要在取代原始根磁碟區之後將其刪除，請包含 `-DeleteReplacedRootVolume` 並指定 `$true`。要指定快照區塊從 Amazon S3 下載到磁碟區的磁碟區初始化速率，請針對 `-VolumeInitializationRate` 指定介於 `100` 和 `300` MiB/s 之間的值。

```
New-EC2ReplaceRootVolumeTask `
    -InstanceId i-1234567890abcdef0 `
    -VolumeInitializationRate 150 `
    -DeleteReplacedRootVolume $true
```

**若要將取代根磁碟區還原至特定快照**  
使用 [New-EC2ReplaceRootVolumeTask](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ReplaceRootVolumeTask.html) 命令。若為 `--InstanceId`，請指定要對其取代根磁碟區的執行個體 ID。若為 `-SnapshotId`，請指定要使用的快照 ID。若要在取代原始根磁碟區之後將其刪除，請包含 `-DeleteReplacedRootVolume` 並指定 `$true`。要指定快照區塊從 Amazon S3 下載到磁碟區的磁碟區初始化速率，請針對 `-VolumeInitializationRate` 指定介於 `100` 和 `300` MiB/s 之間的值。

```
New-EC2ReplaceRootVolumeTask `
    -InstanceId i-1234567890abcdef0 `
    -SnapshotId snap-9876543210abcdef0 `
    -VolumeInitializationRate 150 `
    -DeleteReplacedRootVolume $true
```

**若要使用 AMI 來還原取代根磁碟區**  
使用 [New-EC2ReplaceRootVolumeTask](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ReplaceRootVolumeTask.html) 命令。若為 `-InstanceId`，請指定要對其取代根磁碟區的執行個體 ID。若為 `-ImageId`，請指定要使用的 AMI ID。若要在取代原始根磁碟區之後將其刪除，請包含 `-DeleteReplacedRootVolume` 並指定 `$true`。要指定快照區塊從 Amazon S3 下載到磁碟區的磁碟區初始化速率，請針對 `-VolumeInitializationRate` 指定介於 `100` 和 `300` MiB/s 之間的值。

```
New-EC2ReplaceRootVolumeTask `
    -InstanceId i-1234567890abcdef0 `
    -ImageId ami-0abcdef1234567890 `
    -VolumeInitializationRate 150 `
    -DeleteReplacedRootVolume $true
```

**檢視根磁碟區取代任務的狀態**  
使用 [Get-EC2ReplaceRootVolumeTask](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReplaceRootVolumeTask.html) 命令，並指定要檢視之根磁碟區取代任務的 ID。

```
(Get-EC2ReplaceRootVolumeTask `
    -ReplaceRootVolumeTaskIds replacevol-1234567890abcdef0).TaskState.Value
```

以下為範例輸出。

```
Succeeded
```

或者，指定要依執行個體篩選結果的 `instance-id` 篩選條件。

```
PS C:\> Get-EC2ReplaceRootVolumeTask -Filters @{Name = 'instance-id'; Values = 'i-1234567890abcdef0'} | Format-Table 
```

------