我想升级和修复我的 Amazon Elastic Compute Cloud (Amazon EC2) Windows 实例。
简短描述
您可以在 Amazon EC2 Windows 实例上使用三种类型的 AWS 驱动程序:
- 半虚拟化 (PV) 驱动程序
- AWS Non-Volatile Memory Express (NVMe) 驱动程序
- 弹性网络适配器 (ENA) 驱动程序
您使用的 AWS 驱动程序类型取决于实例类型。大多数基于 Nitro 的实例使用 ENA 驱动程序进行联网,使用 AWS NVMe 驱动程序进行存储。大多数基于 XEN 的实例使用 AWS PV 驱动程序进行联网和存储。某些实例组合使用驱动程序进行存储和联网。
要确定特定实例类型的底层虚拟机监控程序(Nitro 或 Xen),请查看 Amazon EC2 实例类型规范中定义的表。然后,确定需要在其上安装的联网和存储 AWS 驱动程序。
**注意:**Windows Server 2008 R2 及更高版本支持 AWS PV 驱动程序。Windows Server 2003 使用 Citrix PV 驱动程序。Windows Server 2008 R2 支持 AWS PV 8.3.4 及更早版本以及 AWS ENA 2.2.3 及更早版本。有关详细信息,请参阅Windows 实例的半虚拟化驱动程序。
有关升级的详细信息,请参阅将 EC2 Windows 实例迁移到基于 Nitro 的实例类型。
注意:要列出在 Windows 实例上运行的 AWS 驱动程序和驱动程序版本,请运行以下 Windows PowerShell 命令。如果您的实例基于 Nitro,则以下命令会在输出中显示当前安装的 ENA 和 NVMe 驱动程序版本。如果您的实例基于 XEN,则以下命令会在输出中显示当前安装的 PV 驱动程序版本:
Get-WmiObject Win32_PnpSignedDriver | Select-Object DeviceName, DriverVersion, InfName | Where-Object {$_.DeviceName -like "*AWS*" -OR $_.DeviceName -like "*Amazon*"}
解决方法
完成以下解决方案任务:
使用 SSM Automation 运行手册升级 AWS 驱动程序
AWSSupport-UpgradeWindowsAWSDrivers 运行手册使用 SSM Agent 来安装最新的 AWS 驱动程序。如果运行手册无法连接 SSM Agent,则运行手册将根据请求离线安装驱动程序。
**注意:**在线和离线升级都会在安装开始之前创建亚马逊机器映像 (AMI)。运行手册完成安装后,此 AMI 仍然存在。您必须保护对该 AMI 的访问权限或将其删除。在线方法会重新启动目标实例,这是升级过程的一部分。对于离线方法,您必须停止并启动 EC2 实例。
先决条件:
- 确保您的 AWS Identity and Access Management (IAM) 用户或角色拥有所需的 IAM 权限中列出的权限。
- 当使用 Amazon Virtual Private Cloud (Amazon VPC) 端点连接到 AWS Systems Manager 时,请仅在 us-east-1 AWS 区域中使用运行手册。如果实例使用互联网或中转网关连接到 Systems Manager(不使用 VPC 端点),则该运行手册将适用于所有 AWS 区域。
- 该运行手册在域控制器上将失败。要更新域控制器上的 AWS PV 驱动程序,请参阅升级域控制器(AWS PV 升级)。
**运行 AWSSupport-UpgradeWindowsAWSDrivers 运行手册 **
完成以下步骤:
- 打开 Systems Manager 控制台。
- 在导航窗格中,选择 Documents(文档)。
- 在搜索栏中,输入 AWSSupport-UpgradeWindowsAWSDrivers。
- 选择 AWSSupport-UpgradeWindowsAWSDrivers 文档。
- 选择 Execute automation(执行自动化)。
- 输入以下输入参数:
**(可选)AllowOffline。**要在在线安装失败时离线安装驱动程序,请将此值设置为 True。
**注意:**离线方法需要停止并启动 EC2 实例。当实例停止时,存储在实例存储卷中的数据会丢失。如果不使用弹性 IP 地址,则公有 IP 地址会发生变化。有关详细信息,请参阅“停止和启动 Amazon EC2 实例”。
**(可选)AutomationAssumeRole。**输入允许 Automation 为您执行操作的 IAM 角色的 ARN。如果未指定角色,则 Automation 将使用启动运行手册的用户的权限。
**(可选)ForceUpgrade。**将此值设置为 True,以允许继续离线升级驱动程序,即使您的实例已经安装了最新的驱动程序。
**InstanceId。**输入 Windows Server 的 EC2 实例的实例 ID。
**(可选)SubnetId。**对于离线安装,请输入用于执行离线驱动程序升级的救援实例的子网 ID。如果未指定子网 ID,Automation 会创建一个新的 VPC 作为救援实例。
- **所需的 IAM 权限。**目标 EC2 实例必须具有包含以下权限的 IAM 角色。
**注意:**最佳做法是使用 Automation IAM 角色 AmazonSSMAutomationRole 来运行该自动化。要提供这些权限,请将 Amazon 托管式策略 AmazonSSMManagedInstanceCore 附加到您的 IAM 角色。有关详细信息,请参阅使用控制台为 Automation 创建服务角色。
**ssm:StartAutomationExecution。**此权限用于运行自动化。
**ssm:SendCommand。**此权限用于将命令发送到目标实例。
**ssm:GetAutomationExecution。**此权限用于读取自动化输出。
- 选择 Execute(执行)。运行手册将执行以下步骤:
**aws:assertAwsResourceProperty。**验证输入实例是否为 Windows 实例。
**aws:assertAwsResourceProperty。**验证输入实例是否为托管实例。如果是托管实例,则会开始在线升级。如果不是托管实例,则会对离线升级进行评估。
**注意:**为了帮助您排除故障、管理和降低 AWS 资源的成本,AWS Support 会对 Systems Manager 提供的一部分预定义运行手册进行维护。这些运行手册以“AWSSupport-”或“AWSPremiumSupport-”为前缀。
手动安装或升级您的 Windows EC2 实例
**注意:**最佳做法是在服务器停机期间在生产服务器上手动安装 AWS 驱动程序,因为 AWS 驱动程序安装需要重启。此外,在安装驱动程序之前,请以 AMI 或快照的形式对服务器进行适当的备份。
PV 驱动程序
要安装或升级 AWS PV 驱动程序、Citrix PV 驱动程序和 Red Hat PV 驱动程序,请参阅 Windows 实例的半虚拟化驱动程序。
AWS NVMe 驱动程序
要安装或升级 AWS NVMe 驱动程序,请参阅 AWS NVMe 驱动程序。
ENA 驱动程序
要安装 ENA 驱动程序,请参阅在 EC2 实例上使用 ENA 启用增强联网。有关 Intel 82599 VF 接口的信息,请参阅通过 Intel 82599 VF 接口实现增强联网。
相关信息
运行由 Systems Manager Automation 提供支持的自动操作
设置自动化
AWS Support 自动化工作流 (SAW)
如何在升级驱动程序后对不可访问或无法到达 DNS 的 EC2 Windows 实例进行故障排除?
排查 Windows 实例上的 PV 驱动程序问题