Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

迁移到最新一代实例类型

AWS Windows AMI 是使用默认设置配置的,该设置由包含一些自定义项(包括驱动程序和配置)的 Microsoft 安装介质使用,且支持最新一代实例类型。但是,如果您要从自定义 Windows AMI 或从由 Amazon 提供的在 2018 年 8 月之前创建的 Windows AMI 启动实例,我们建议您在迁移到最新一代 EC2 实例、Nitro 实例(包括裸机实例)时按照本主题中的步骤操作。

有关更多信息,请参阅 Amazon EC2 更新 - 更多实例类型、Nitro 系统和 CPU 选项

注意

或者,您可以使用 AWSSupport-UpgradeWindowsAWSDrivers 自动化文档自动完成第 1 部分、第 2 部分和第 3 部分中所述的过程。如果您选择使用自动过程,请先阅读(替代方法)使用 AWS Systems Manager 升级 AWS PV、ENA 和 NVMe 驱动程序,然后再继续执行第 4 部分和第 5 部分。

开始前的准备工作

本过程假定您当前在上一代基于 Xen 的实例类型(如 M4 或 C4)上运行,并且要迁移到最新一代实例类型(如 M5 或 C5)。

注意

在迁移到最新一代的实例时,现有 ENI 上的静态 IP 或自定义 DNS 网络设置可能会丢失,因为该实例默认为新的增强网络适配器设备。

在按照本过程中的步骤操作之前,建议您先创建实例的备份。从 EC2 控制台中,选择需要迁移的实例,打开上下文(右键单击)菜单,然后依次选择 Instance State (实例状态)Stop (停止)

警告

当您停止某个实例时,任何实例存储卷上的数据都将被擦除。要保留实例存储卷上的数据,请确保将这些数据备份到持久性存储中。

EC2 控制台中打开实例的上下文(右键单击)菜单,选择 Image (映像),然后选择 Create Image (创建映像)

注意

这些说明的第 4 部分和第 5 部分可以在您将实例类型迁移或更改为最新一代(如 M5 或 C5)后完成。但是,如果您要专门迁移到 EC2 Bare Metal 实例类型,则建议您在迁移前完成它们。

第 1 部分:安装和升级 AWS PV 驱动程序

尽管 AWS PV 驱动程序在 Nitro 系统中未使用,但如果您使用的是早期版本的 Citrix PV 或 AWS PV,应当仍升级它们。最新的 AWS PV 驱动程序解决了在以下情况下可能在早期版本的驱动程序中出现的错误:您使用的是 Nitro 系统或者需要迁移回基于 Xen 的实例。作为最佳实践,我们建议始终针对 AWS 上的 Windows 实例升级到最新驱动程序。

使用以下过程对 AWS PV 驱动程序执行就地升级,或在 Windows Server 2008 R2、Windows Server 2012、Windows Server 2012 R2、Windows Server 2016 或 Windows Server 2019 上从 Citrix PV 驱动程序升级到 AWS PV 驱动程序。有关更多信息,请参阅在 Windows 实例上升级半虚拟化驱动程序

执行就地升级或升级到 AWS PV 驱动程序

  1. 使用远程桌面连接到实例并进行实例升级准备。在执行该升级前使所有非系统磁盘脱机。如果您要对 AWS PV 驱动程序执行就地升级,则不需要此步骤。在 Services 控制台中将不必要的服务设置为手动 启动。

  2. 将最新驱动程序包下载到实例。

  3. 提取文件夹的内容,然后运行 AWSPVDriverSetup.msi

在运行 MSI 后,实例将自动重启,然后升级驱动程序。实例可能将有长达 15 分钟的时间不可用。

在升级完成并且实例在 Amazon EC2 控制台中通过了两项运行状况检查后,请使用远程桌面连接到实例并验证新驱动程序是否已安装。在设备管理器中的存储控制器下,找到 AWS PV 存储主适配器。确认驱动程序版本与驱动程序版本历史记录表中列出的最新版本相同。有关更多信息,请参阅AWS 半虚拟化驱动程序版本历史记录

第 2 部分:安装和升级 ENA

升级到最新的 Elastic Network Adapter 驱动程序以确保所有网络功能均受支持。如果您启动了实例,而该实例尚未启用增强联网,则必须在该实例上下载并安装所需的网络适配器驱动程序。然后,设置 enaSupport 实例属性以激活增强联网。仅当安装了 ENA 驱动程序时,才能在受支持的实例类型上启用此属性。有关更多信息,请参阅在 Windows 实例上启用 Elastic Network Adapter (ENA) 增强联网

  1. 将最新驱动程序下载到实例。

  2. 提取 zip 档案。

  3. 通过运行提取的文件夹中的 install.ps1 PowerShell 脚本安装驱动程序。

    注意

    要避免安装错误,请以管理员身份运行 install.ps1 脚本。

  4. 检查 AMI 是否已激活 enaSupport。如果未启用,请按照 在 Windows 实例上启用 Elastic Network Adapter (ENA) 增强联网 上的文档继续操作。

第 3 部分:升级 AWS NVMe 驱动程序

AWS NVMe 驱动程序用于与显示为 Nitro 系统中的 NVMe 块储存设备的 Amazon EBS 和 SSD 实例存储卷交互以提高性能。

重要

以下说明专门针对以下情况进行了修改:您在上一代实例上安装或升级 AWS NVMe 以将实例迁移到最新一代实例类型。

  1. 将最新驱动程序包下载到实例。

  2. 提取 zip 档案。

  3. 通过运行 dpinst.exe 安装驱动程序。

  4. 打开 PowerShell 会话并运行以下命令:

    start rundll32.exe sppnp.dll,Sysprep_Generalize_Pnp -wait

    注意

    此命令仅在驱动程序设备上运行 sysprep。它不会运行完整的 sysprep 准备。

  5. 对于 Windows Server 2008 R2 和 Windows Server 2012 RTM,请关闭实例,将实例类型更改为最新一代实例并启动它,然后继续第 4 部分。如果在您迁移到最新一代实例类型之前在上一代实例类型上再次启动了实例,它将无法启动。对于其他支持的 Windows AMI,您可以在运行设备 sysprep 后的任何时间更改实例类型。

第 4 部分:更新 EC2Config 和 EC2Launch

对于 Windows 实例,当在 Nitro 系统上(包括在 EC2 裸机上)运行时,最新的 EC2Config 和 EC2Launch 实用工具将提供额外的功能和信息。默认情况下,EC2Config 服务包含在早于 Windows Server 2016 的 AMI 中。EC2Launch 将取代 Windows Server 2016 及更高版本 AMI 上的 EC2Config。

EC2Config 和 EC2Launch 服务更新后,AWS 提供的新 Windows AMI 将包含最新版本的该服务。不过,您必须将自己的 Windows AMI 和实例更新为最新版本的 EC2Config 和 EC2Launch。

安装或更新 EC2Config

  1. 下载并解压缩 EC2Config 安装程序

  2. 运行 EC2Install.exe。有关选项的完整列表,请使用 EC2Install 选项运行 /?。默认情况下,安装程序会显示提示。要运行该命令而不显示提示,请使用 /quiet 选项。

有关更多信息,请参阅安装最新版的 EC2Config

安装或更新 EC2Launch

  1. 如果已在实例上安装和配置 EC2Launch,请备份 EC2Launch 配置文件。安装过程不保留此文件中的更改。默认情况下,该文件位于以下 C:\ProgramData\Amazon\EC2-Windows\Launch\Config 目录中。

  2. EC2-Windows-Launch.zip 下载到实例上的一个目录中。

  3. install.ps1 下载到 EC2-Windows-Launch.zip 的下载目录中。

  4. 运行 install.ps1

    注意

    要避免安装错误,请以管理员身份运行 install.ps1 脚本。

  5. 如果您对 EC2Launch 配置文件进行了备份,则将其复制到 C:\ProgramData\Amazon\EC2-Windows\Launch\Config 目录。

有关更多信息,请参阅使用 EC2Launch 配置 Windows 实例

第 5 部分:为裸机实例安装串行端口驱动程序

i3.metal 实例类型使用基于 PCI 的串行设备而不是基于 I/O 端口的串行设备。最新 Windows AMI 将自动使用基于 PCI 的串行设备并安装串行端口驱动程序。如果您没有使用从 Amazon 提供的 Windows AMI(日期为 2018 年 4 月 11 日或更晚)启动的实例,则必须安装串行端口驱动程序来启用串行设备的 EC2 功能(如密码生成和控制台输出)。最新的 EC2Config 和 EC2Launch 实用工具还支持 i3.metal 并提供额外的功能。按照第 4 部分中的步骤操作(如果尚未执行)。

安装串行端口驱动程序

  1. 将串行驱动程序包下载到实例。

  2. 提取文件夹的内容,打开 aws_ser.INF 的上下文(右键单击)菜单,然后选择 install (安装)

  3. 选择 Okay (确定)

第 6 部分:更新电源管理设置

以下电源管理设置更新将显示器设置为从不关闭,从而允许在 Nitro 系统上正常关闭操作系统。Amazon 截至 2018 年 11 月 28 日提供的所有 Windows AMI 都已具有此默认配置。

  1. 打开命令提示符或 PowerShell 会话。

  2. 运行以下命令:

    powercfg /setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 7516b95f-f776-4464-8c53-06167f40cc99 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e 0 powercfg /setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 7516b95f-f776-4464-8c53-06167f40cc99 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e 0 powercfg /setacvalueindex a1841308-3541-4fab-bc81-f71556f20b4a 7516b95f-f776-4464-8c53-06167f40cc99 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e 0

第 7 部分:为新实例类型更新 Intel 芯片组驱动程序

u-6tb1.metalu-9tb1.metalu-12tb1.metal 实例类型使用的硬件需要先前未安装在 Windows AMI 上的芯片组驱动程序。如果不使用从 Amazon 提供的 Windows AMI(日期为 2018 年 11 月 19 日或更晚)启动的实例,则必须使用 Intel Chipset INF Utility 安装驱动程序。

安装芯片组驱动程序

  1. 将芯片组实用程序下载到实例。

  2. 提取文件。

  3. 运行 SetupChipset.exe

  4. 接受 Intel 软件许可协议并安装芯片组驱动程序。

  5. 重启实例。

(替代方法)使用 AWS Systems Manager 升级 AWS PV、ENA 和 NVMe 驱动程序

AWSSupport-UpgradeWindowsAWSDrivers 自动化文档自动完成第 1 部分、第 2 部分和第 3 部分中所述的步骤。此方法还可在驱动程序升级失败时修复实例。

AWSSupport-UpgradeWindowsAWSDrivers 自动化文档在指定的 EC2 实例上升级或修复存储及网络 AWS 驱动程序。该文档尝试通过调用 AWS Systems Manager 代理(SSM 代理),在线安装最新版本的 AWS 驱动程序。如果无法与 SSM 代理通信,则在明确要求时,该文档可以执行 AWS 驱动程序的离线安装。

注意

此过程将在域控制器上失败。要在域控制器上更新驱动程序,请参阅升级域控制器 (AWS 半虚拟化升级)

使用 AWS Systems Manager 自动升级 AWS PV ENA 和 NVMe 驱动程序

  1. https://console.amazonaws.cn/systems-manager 处打开 Systems Manager 控制台。

  2. 选择 Automation (自动化)Execute Automation (执行自动化)

  3. 选择 AWSSupport-UpgradeWindowsAWSDrivers 自动化文档,然后在 Input Parameters (输入参数) 部分中配置以下选项:

    实例 ID

    输入要升级实例的唯一 ID。

    AllowOffline

    (可选)选择下列选项之一:

    • True — 选择此选项可执行离线安装。在升级过程中,实例将停止并重新启动。

      警告

      当您停止某个实例时,任何实例存储卷上的数据都将被擦除。要保留实例存储卷上的数据,请确保将这些数据备份到持久性存储中。

    • False —(默认值)要执行在线安装,请保持选中此选项。在升级过程中,实例将重新启动。

    重要

    在尝试升级操作之前,在线和离线升级会创建一个 AMI。该 AMI 在自动化完成后仍将存在。请确保您可以访问该 AMI,或者在不再需要时将其删除。

    SubnetId

    (可选)输入以下值之一:

    • SelectedInstanceSubnet —(默认值)升级过程会在要升级实例所在的同一子网中启动帮助程序 实例。该子网必须允许与 Systems Manager 终端节点 (ssm.*) 进行通信。

    • CreateNewVPC — 升级过程会在新 VPC 中启动帮助程序 实例。如果您不确定目标实例的子网是否允许与 ssm.* 终端节点进行通信,请使用此选项。您的 IAM 用户必须具有创建 VPC 的权限。

    • 特定子网 ID — 指定要在其中启动帮助程序 实例的特定子网的 ID。该子网必须与要升级的实例位于同一可用区中,并且必须允许与 ssm.* 终端节点进行通信。

  4. 选择 Execute automation (执行自动化)

  5. 留出完成升级的时间。完成在线升级可能需要长达 10 分钟的时间,而完成离线升级可能需要长达 25 分钟的时间。