

# Amazon EC2 实例的根卷
<a name="RootDeviceStorage"></a>

当您启动一个实例时，我们会为该实例创建*根卷*。根卷包含用于启动该实例的映像。每个实例都有单独的根卷。您可以在启动期间或启动后向您的实例添加存储卷。

您用于启动实例的 AMI 决定根卷的类型。您可以从 *Amazon EBS-backed 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-backed AMI 启动的实例的根卷和其他 Amazon EBS 卷\]](http://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/images/ebs_backed_instance.png)


**限制**  
您不能使用 `st1` 或 `sc1` EBS 卷作为根卷。

**实例失败**

如果具有 EBS 根卷的实例失败，您可以通过以下方法之一恢复您的会话：
+ 停止，然后再次启动（先尝试此方法）。
+ 自动为相关卷拍摄快照并创建新的 AMI。有关更多信息，请参阅[创建 Amazon EBS-backed 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 复制到根卷。请注意，您可以根据实例类型选择使用更多实例存储卷。

只要实例正在运行，实例存储卷上的所有数据便会存在，但是在实例终止时（具有实例存储根卷的实例不支持**停止**操作）或是实例失败时（例如底层硬盘有问题时），会删除这些数据。有关更多信息，请参阅 [适用于 EC2 实例的实例存储临时块存储](InstanceStorage.md)。

![\[从 Amazon S3 支持的 AMI 启动的 Amazon EC2 实例上的根卷\]](http://docs.aws.amazon.com/zh_cn/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. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择**实例**，然后选择**启动实例**。

1. 依次选择亚马逊机器映像（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. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择**实例**，然后选择实例。

1. 在**存储**选项卡的**块储存设备**下，找到根卷的条目。如果**终止时删除**为 `No`，则表示卷已配置为保留。

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

**确认已将根卷配置为持久保留**  
使用 [describe-instances](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 policy – 将保留和强制实施与实例相关联的 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。无论选择哪种 AMI，如果没有实例配置它，都不会启用 NitrotPM 支持。

您可以选择与实例的启动模式不同的 AMI，前提是该实例支持 AMI 的启动模式。如果实例不支持启动模式，则该请求将失败。如果实例支持启动模式，则新的启动模式将传播到该实例，并相应更新其 UEFI 数据。如果您手动修改了启动顺序或添加了私有 UEFI 安全启动密钥来加载私有内核模块，则在根卷替换期间，更改将丢失。

替换根卷获得与原始根卷相同的卷类型和终止时删除属性，并获取 AMI 根卷块设备映射的大小。

**注意**  
AMI 根卷块设备映射的大小必须等于或大于原始根卷的大小。如果 AMI 根卷块设备映射的大小小于原始根卷的大小，则请求失败。

在根卷替换任务完成后，当您使用控制台 AWS CLI 或 AWS SDK 描述实例时，将反映以下新的和经过更新的信息：
+ 新 AMI ID
+ 根卷的新卷 ID
+ 经过更新的启动模式配置（如果由 AMI 更改）
+ 经过更新的 NitroTPM 配置（如果由 AMI 启用）
+ 经过更新的 ENA 配置（如果由 AMI 启用）
+ 经过更新的 sriov-net 配置（如果由 AMI 启用）

新 AMI ID 也反映在实例元数据中。

**使用 AMI 的注意事项：**
+ 如果您使用拥有多个块设备映射的 AMI，则仅使用该 AMI 的根卷。其他（非根）卷将被忽略。
+ 只有当您拥有 AMI 及其关联根卷快照的权限时，才能使用此功能。您不能对 AWS Marketplace AMI 使用此功能。
+ 仅当实例没有产品代码时，您才能使用没有产品代码的 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_cn/AWSEC2/latest/UserGuide/replace-root.html)

## 替换根卷
<a name="replace"></a>

当您替换实例的根卷时，将创建*根卷替换任务*。您可以使用根卷更换任务来监控替换过程的进度和结果。

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

**替换根卷**

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择 **Instances (实例)**。

1. 选择要替换其根卷的实例，然后选择 **Actions（操作）**、**Monitor and troubleshoot（监控和故障排除）**、**Replace root volume（替换根卷）**。
**注意**  
如果选定的实例不在 `running` 状态，**替换根卷**操作将被禁用。

1. 对于**还原**，选择以下选项之一：
   + **启动状态**：从用于创建当前根卷的快照中还原替换根卷。
   + **快照**：将替换根卷还原到您指定的快照。对于**快照**，选择要使用的快照。
   + **映像**：使用您指定的 AMI 还原替换根卷。对于**映像**，选择要使用的 AMI。

1. （可选）对于**卷初始化速率**，您可以指定 Amazon EBS 预置卷初始化速率（卷初始化速率），单位为 MiB/s，这是将快照块从 Amazon S3 下载到卷的速率。有关更多信息，请参阅 [Use an Amazon EBS Provisioned Rate for Volume Initialization](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 
```

------