托管的 AWS Windows AMI - Amazon Elastic Compute Cloud

托管的 AWS Windows AMI

AWS 提供包括 Windows Server 各种版本和配置的托管 Amazon Machine Image (AMI)。一般来说,将使用 Microsoft 安装介质所用的默认设置来配置 AWS Windows AMI。不过,其中有自定义项。例如,AWS Windows AMI 随附了以下软件和驱动程序:

  • EC2Launch v2 (Windows Server 2022)

  • EC2Launch(Windows Server 2016 及 2019)

  • EC2Config 服务 (通过 Windows Server 2012 R2)

  • AWS Systems Manager

  • AWS CloudFormation

  • AWS Tools for Windows PowerShell

  • 网络驱动程序 (SRIOV,ENA,Citrix PV)

  • 存储驱动程序(NVMe、AWS PV、Citrix PV)

  • 图像驱动程序 (NVidia GPU,Elastic GPU)

  • 竞价型实例休眠

有关其他自定义项的信息,请参阅 AWSWindows AMI

关于 AWS Windows AMI 版本的详细信息

官方 AWS Windows AMI 中的预期内容

AWS 为所有支持的 Windows 操作系统版本提供包含不同配置的 AMI。对于这些映像中的每一个,AWS:

  • 安装 Microsoft 推荐的所有 Windows 安全补丁。我们会在每月 Microsoft 补丁发布后不久发布映像。

  • 安装 AWS 硬件的最新驱动程序(包括网络和磁盘驱动程序)、用于故障排除的 EC2WinUtil 以及所选 AMI 中的 GPU 驱动程序。

  • 包含 AWS 帮助程序软件,如用于 Server 2012 R2 及早期版本的 EC2Config,用于 Server 2016 和 2019 的 EC2Launch,或用于 Server 2022 的 EC2Launch v2

  • 将 Windows 时间服务配置为使用 Amazon 时间同步服务

  • 对所有电源方案进行更改以将显示设置为永不关闭。

  • 执行次要错误修复 – 通常是一行注册表更改,以启用或禁用我们发现能够提高 AWS 性能的功能。

除了上面列出的调整,我们保持 AMI 尽可能接近默认安装。这意味着我们默认使用“原装”PowerShell 或 .NET 框架版本,不安装 Windows 功能,并且通常不会更改 AMI。

AWS 如何决定提供哪些 Windows AMI

每个 AMI 在向公众发布之前都经过了广泛的测试。我们定期简化 AMI 产品,以简化客户的选择并降低成本。

  • 为新的操作系统版本创建新的 AMI 产品。您可以看到 AWS 以英语和其他广泛使用的语言发布“Base”、“Core/Container”和“SQL Express/Standard/Web/Enterprise”产品。Base 和 Core 产品之间的主要区别在于,Base 产品具有桌面/GUI,而 Core 产品仅限 PowerShell 命令行。有关 Windows Server Core 的更多信息,请参阅 https://docs.microsoft.com/en-us/windows-server/administration/server-core/what-is-server-core

  • 创建新的 AMI 产品以支持新平台 – 例如,创建了深度学习和“NVidia”AMI 以支持客户使用基于 GPU 的实例类型(P2 和 P3、G2 和 G3 等)。

  • 有时会删除不太受欢迎的 AMI。如果我们看到特定 AMI 在其整个生命周期中仅启动了几次,我们将删除它以支持更广泛使用的选项。

如果存在一个您希望看到的 AMI 变体,请通过向云支持部门提交服务单或者通过我们建立的某个渠道提供反馈来告知我们。

补丁、安全更新和 AMI ID

AWS 在 Microsoft 的修补程序星期二(每个月的第二个星期二)后的五个工作日内提供更新的、完整修补的 Windows AMI。新的 AMI 将通过 Amazon EC2 控制台的 Images(映像)页面立即提供。在新的 AMI 发布后的几天内,即可在 AWS Marketplace 中和启动实例向导的 Quick Start 选项卡中找到这些 AMI。

注意

从 Windows Server 2019 及更高版本 AMI 启动的实例可能会显示 Windows Update 对话框消息,表明“有些设置由您的组织管理”。此消息的出现是由于 Windows Server 2019 中的一些变化导致的,并不会影响 Windows Update 的行为或您管理更新设置的能力。

要删除该警告,请参阅“某些设置由您的组织来管理”

为了确保客户默认情况下安装了最新的安全更新,AWS 保留 Windows AMI 三个月供使用。在发布新 Windows AMI 之后,AWS 在 10 天内将早于 3 个月的 Windows AMI 设置为私有。将 AMI 设为私有之后,如果您在控制台中查看从该 AMI 启动的实例,AMI ID 字段将显示“无法加载 ami-xxxxx 的详细信息。你可能无权查看它。” 您仍可以使用 AWS CLI 或 AWS 开发工具包检索 AMI ID。

各个版本的 Windows AMI 均拥有新的 AMI ID。因此,我们建议您编写脚本,以便按名称而非 ID 查找最新的 AWS Windows AMI。有关更多信息,请参阅以下示例:

半年期渠道版本

AWS 提供了 Windows Server 半年期渠道版本,将 AWS 的扩展、性能和弹性与 Windows Server 的半年期渠道发布版本中的新功能相结合。

AWS Windows AMI 的配置更改

以下配置更改适用于各个 AWS Windows AMI。

清除和准备
更改 适用于

检查待处理的文件重命名或重新启动,并根据需要重新启动

所有 AMI

删除 .dmp 文件

所有 AMI

删除日志(事件日志、Systems Manager、EC2Config)

所有 AMI

删除 Sysprep 的临时文件夹和文件

所有 AMI

清除最近的历史记录(启动菜单,Windows 资源管理器等)

Windows Server 2012 R2 和早期版本

执行病毒扫描

所有 AMI

预先编译排队的 .NET 程序集(在 Sysprep 之前)

所有 AMI

运行 Windows 维护工具

Windows Server 2012 R2 及更高版本

恢复 Internet Explorer 的默认值

所有 AMI

恢复 EC2Config 的默认值

Windows Server 2012 R2 和早期版本

设置 EC2Launch 在下次启动时运行

Windows Server 2016 和 2019

重置 Windows 墙纸

所有 AMI

运行 Sysprep

所有 AMI

安装和配置
更改 适用于

添加指向 Amazon EC2 Windows 指南的链接

所有 AMI

将实例存储卷附加到扩展装载点

所有 AMI

安装最新的 AWS Tools for Windows PowerShell

所有 AMI

安装最新的 AWS CloudFormation 帮助程序脚本

所有 AMI

安装最新的 EC2Config 和 SSM Agent

Windows Server 2012 R2 和早期版本

安装最新的 EC2Launch 和 SSM Agent

Windows Server 2016 和 2019

安装最新的 EC2Launch v2 和 SSM Agent Windows Server 2022 及更高版本

安装最新的 AWS PV、ENA 和 NVMe 驱动程序

Windows Server 2008 R2 及更高版本

安装最新的 SRIOV 驱动程序

Windows Server 2012 R2 及更高版本

安装最新的 Citrix PV 驱动程序

Windows Server 2008 SP2 和早期版本

安装最新的 EC2WinUtil 驱动程序

Windows Server 2008 R2 及更高版本

安装 PowerShell 2.0 和 3.0

Windows Server 2008 SP2 和 R2

如果已安装 Microsoft SQL Server:

  • 安装 Service Pack

  • 配置以自动启动

  • 将 BUILTIN\Administrators 添加到 SysAdmin 角色

  • 打开 TCP 端口 1433 和 UDP 端口 1434

所有 AMI

应用以下修补程序:

Windows Server 2008 SP2 和 R2

允许 ICMP 流量通过防火墙

Windows Server 2012 R2 和早期版本

启用文件和打印机共享

Windows Server 2012 R2 和早期版本

禁用 Internet Explorer 的 RunOnce

所有 AMI

启用远程 PowerShell

所有 AMI

按如下方式在系统卷上配置分页文件:

  • Windows Server 2016 及更高版本 - 由系统管理

  • Windows Server 2012 R2 – 初始大小和最大大小均为 8 GB

  • Windows Server 2012 及以下版本 – 初始大小为 512 MB,最大大小为 8 GB

所有 AMI

Z: (如果有) 上配置由系统管理的其他分页文件。

Windows Server 2012 R2 和早期版本

禁用休眠并删除休眠文件

所有 AMI

设置性能选项以获得最佳性能

所有 AMI

将电源设置设为高性能

所有 AMI

禁用屏幕保护程序密码

所有 AMI

设置 RealTimeIsUniversal 注册表项

所有 AMI

将时区设置为 UTC

所有 AMI

禁用 Windows 更新和通知

所有 AMI

运行 Windows Update 并重新启动,直至没有待处理的更新

所有 AMI

将所有电源方案中的显示设置为永不关闭

所有 AMI

将 PowerShell 执行策略设置为“不受限制”

所有 AMI

更新您的 Windows 实例

启动 Windows 实例后,您需要在上面安装更新。您可以仅手动安装您感兴趣的更新,也可以从当前的 AWS Windows AMI 启动并构建一个新的 Windows 实例。有关查找当前 AWS Windows AMI 的信息,请参阅 查找 Windows AMI

注意

更新时,实例应该无状态。有关更多信息,请参阅大规模管理 AWS 基础设施

对于 Windows 实例,您可以将更新安装到以下服务或应用程序:

我们建议您在安装更新之后重启 Windows 实例。有关更多信息,请参阅重启实例

升级或迁移到较新版本的 Windows 服务器

有关如何将 Windows 实例升级或迁移到 Windows Server 新版本的信息,请参阅将 Amazon EC2 Windows 实例升级到更高版本的 Windows Server

订阅 Windows AMI 通知

要在新 AMI 发布时或在以前发布的 AMI 设为私有时接收相关通知,请使用 Amazon SNS 订阅通知。

订阅 Windows AMI 通知

  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 如果需要,可在导航栏中将区域更改为美国东部(弗吉尼亚北部)。您必须使用此区域,因为您订阅的 SNS 通知是在此区域中创建的。

  3. 在导航窗格中,选择 Subscriptions

  4. 选择 Create subscription

  5. 对于 Create subscription 对话框,执行以下操作:

    1. 对于 Topic ARN,复制并粘贴以下任意一个 Amazon Resource Name (ARN):

      • arn:aws:sns:us-east-1:801119661308:ec2-windows-ami-update

      • arn:aws:sns:us-east-1:801119661308:ec2-windows-ami-private

      对于 AWS GovCloud(美国)

      arn:aws-us-gov:sns:us-gov-west-1:077303321853:ec2-windows-ami-update

    2. 对于协议,选择电子邮件

    3. 对于 Endpoint,键入可用于接收通知的电子邮件地址。

    4. 选择 Create subscription

  6. 您将收到一封包含主题行 AWS Notification - Subscription Confirmation 的确认电子邮件。打开电子邮件,然后选择 Confirm subscription 以完成订阅。

每当发布 Windows AMI 时,我们都会向订阅 ec2-windows-ami-update 主题的用户发送通知。每当已发布 Windows AMI 被设为私有时,我们都会向订阅 ec2-windows-ami-private 主题的用户发送通知。如果您不希望再收到这些通知,请通过以下步骤取消订阅。

取消订阅 Windows AMI 通知

  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 如果需要,可在导航栏中将区域更改为美国东部(弗吉尼亚北部)。您必须使用此区域,因为 SNS 通知是在此区域中创建的。

  3. 在导航窗格中,选择 Subscriptions

  4. 请选择订阅,然后选择 Delete(删除)。当系统提示进行确认时,选择 Delete(删除)。

Windows Server 2016 及更高版本 AMI 中的更改

AWS 为 Windows Server 2016 及更高版本提供了 AMI。与以前版本的 Windows AMI 相比,这些 AMI 包含以下高级更改:

其他区别

请注意从 Windows Server 2016 及更高版本 AMI 创建的实例的以下额外重要区别。

  • 默认情况下,EC2Launch 不初始化辅助 EBS 卷。您可以配置 EC2Launch 以便通过排定脚本运行或通过在用户数据中调用 EC2Launch 来自动初始化磁盘。有关使用 EC2Launch 初始化磁盘的步骤,请参阅配置 EC2Launch中的“初始化驱动器和盘符映射”。

  • 如果您以前已使用本地配置文件 (AWS.EC2.Windows.CloudWatch.json) 在您的实例上启用 CloudWatch 集成,则可以在从 Windows Server 2016 及更高版本的 AMI 创建的实例上配置文件以使用 SSM Agent。

有关更多信息,请参阅 Microsoft.com 上的 Windows Server

Windows Server 2016 实例上的 Docker 容器冲突

如果您在 Windows Server 2016 AMI 上运行 Docker 服务,该服务将配置为使用与默认内部 IP 地址前缀值不同的 CIDR 值。默认值为 172.16.0.0/12。Windows Server 2016 AMI 使用 172.17.0.0/16 来避免与默认 Amazon EC2 VPC/子网冲突。如果您不更改您的 EC2 实例的 VPC/子网设置,则不必执行任何操作。由于采用不同的 CIDR 值,因此基本上可以避免冲突。如果您更改 VPC/子网设置,则务必了解这些内部 IP 地址前缀值并且避免产生冲突。有关更多信息,请阅读以下部分。

重要

如果您计划在 Windows Server 2016 实例上运行 Docker,必须从以下 Amazon Machine Image (AMI) 或者基于名称中包含 Windows_Server-2016-English-Full-Containers 的映像的 AMI 创建实例。如果您使用其他 Windows Server 2016 AMI,则在安装 Docker 并运行 Sysprep 后,实例将无法正确启动。