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

托管 AWS Windows AMI

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

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

  • EC2Launch (仅 Windows Server 2016)

  • AWS Systems Manager

  • AWS CloudFormation

  • 适用于 Windows PowerShell 的 AWS 工具

  • 网络驱动程序 (SRIOV,ENA,Citrix 半虚拟化)

  • 存储驱动程序 (NVMe,AWS 半虚拟化,Citrix 半虚拟化)

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

  • Spot 实例休眠

有关其他自定义项的信息,请参阅 AWS Windows AMI 的配置更改

更新您的 Windows 实例

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

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

您可以在安装更新之后重启 Windows 实例。有关更多信息,请参阅 重启您的实例

升级或迁移到 Windows Server 的新版本

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

订阅 Windows AMI 通知

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

订阅 Windows AMI 通知

  1. 通过以下网址打开 Amazon SNS 控制台:https://console.amazonaws.cn/sns/v2/home

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

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

  4. 选择 Create subscription

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

    1. 对于 Topic ARN,复制并粘贴以下任意一个 Amazon 资源名称 (ARN):

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

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

    2. 对于 Protocol,选择 Email

    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.amazonaws.cn/sns/v2/home

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

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

  4. 选择订阅,然后选择 ActionsDelete subscriptions,在提示确认时,选择 Delete

AWS Windows AMI 的配置更改

以下更改适用于各个 AWS Windows AMI:

清除和准备

改变 适用于

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

所有 AMI

删除 .dmp 文件

所有 AMI

删除日志 (事件日志,SSM,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

重置 Windows 墙纸

所有 AMI

运行 Sysprep

所有 AMI

安装和配置

改变 适用于

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

所有 AMI

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

所有 AMI

安装最新的 适用于 Windows PowerShell 的 AWS 工具

所有 AMI

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

所有 AMI

安装最新的 EC2Config 和 SSM 代理

Windows Server 2012 R2 和早期版本

安装最新的 EC2Launch 和 SSM 代理

Windows Server 2016

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

Windows Server 2008 R2 及更高版本

安装最新的 SRIOV 驱动程序

Windows Server 2012 R2 及更高版本

安装最新的 Citrix 半虚拟化驱动程序

Windows Server 2008 SP2 和早期版本

安装 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

Windows Server 2016 AMI 中的更改

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

  • 为了适应从 .NET Framework 到 .NET Core 的更改,EC2Config 服务已在 Windows Server 2016 AMI 中废弃,并且被 EC2Launch 所取代。EC2Launch 是 Windows PowerShell 脚本的捆绑包,这些脚本执行许多由 EC2Config 服务执行的任务。有关更多信息,请参阅 使用 EC2Launch 配置 Windows 实例

  • Windows Server 2016 Nano Server 安装选项 (Nano Server) 不支持远程桌面连接。Connection 选项在 EC2 控制台中可用,但是连接会失败。必须使用 Windows PowerShell 远程连接到您的实例。有关更多信息,请参阅 连接到 Windows Server 2016 Nano Server 实例

  • 在早期版本的 Windows Server AMI 上,可以使用 EC2Config 服务将 EC2 实例加入域并配置与 Amazon CloudWatch 的集成。在 Windows Server 2016 AMI 上,Amazon EC2 Systems Manager (SSM) 代理会执行这些任务。这意味着在 Windows Server 2016 实例上,您必须使用 Amazon EC2 Run Command 或 SSM Config 将 EC2 实例加入域或者配置与 Amazon CloudWatch 的集成。有关配置实例以将日志数据发送到 CloudWatch 的更多信息,请参阅向 Amazon CloudWatch 发送日志、事件和性能计数器。有关将 EC2 实例加入域的信息,请参阅将 Windows 实例加入 AWS Directory Service 域

其他区别

注意从 Windows Server 2016 AMI 创建的实例的这些额外重要区别。

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

  • Nano Server 不支持联机域连接。您必须执行脱机域连接。有关更多信息,请参阅 Microsoft TechNet 上的脱机域连接 (Djoin.exe) 分步指南

  • 如果您以前已使用本地配置文件 (AWS.EC2.Windows.CloudWatch.json) 在您的实例上启用 CloudWatch 集成,则可以在从 Windows Server 2016 AMI 创建的实例上配置文件以使用 SSM 代理。有关更多信息,请参阅 使用 SSM 代理配置 CloudWatch

有关更多信息,请参阅 Microsoft.com 上的 Windows Server 2016安装 Nano 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 系统映像 (AMI) 或者基于名称中包含 Windows_Server-2016-English-Full-Containers 的映像的 AMI 创建实例。否则,如果您使用其他 Windows Server 2016 AMI,则在安装 Docker 并运行 Sysprep 后,实例将无法正确启动。

Hibernate Agent 问题 (2018.03.16 AMI)

2018.03.16 Windows AMI 发布后,我们发现 Amazon EC2 Hibernate Agent 配置中的路径未括在引号内。Windows Server 2008 到 Windows Server 2016 版 AMI 中都包含该代理。此问题不会影响 Windows Server 2003 版 AMI。

AWS 已删除日期为 2018.03.16 的 Windows AMI。要在有新的 Windows AMI 可用时获得通知,请参阅订阅 Windows AMI 通知

要缓解此问题,可以使用以下过程之一添加缺少的引号。如果代理处于运行状态,您还必须重启代理。您也可以终止从 2018.03.16 Windows AMI 启动的任何实例,并将它们替换为使用其他 AMI 启动的实例。

的 AWS 工具

  1. 在您的 Windows 实例中,打开 Windows Powershell。

  2. 使用以下命令更新配置,添加缺少的引号:

    cmd /c 'sc config EC2HibernateAgent binPath="\"%ProgramFiles%\Amazon\Hibernate\EC2HibernateAgent.exe\""'
  3. 使用以下命令查看更新后的配置:

    (Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EC2HibernateAgent\).ImagePath

    验证响应括在引号中,如以下示例所示:

    "C:\Program Files\Amazon\Hibernate\EC2HibernateAgent.exe"
  4. 使用以下命令检查 Status 是否为 Running

    Get-Service EC2HibernateAgent

    如果代理处于运行状态,您必须使用以下命令重启代理,使更改生效:

    Restart-Service EC2HibernateAgent

命令提示符

  1. 在您的 Windows Server 实例上,打开命令提示符窗口。

  2. 使用以下命令更新配置,添加缺少的引号:

    sc config EC2HibernateAgent binPath="\"%ProgramFiles%\Amazon\Hibernate\EC2HibernateAgent.exe\""
  3. 使用以下命令查看更新后的配置:

    sc qc EC2HibernateAgent

    验证 BINARY_PATH_NAME 中的路径括在引号中,如以下示例所示:

    "C:\Program Files\Amazon\Hibernate\EC2HibernateAgent.exe"
  4. 使用以下命令检查 STATE 是否为 RUNNING

    sc query EC2HibernateAgent

    如果代理处于运行状态,您必须使用以下命令重启代理,使更改生效:

    sc stop EC2HibernateAgent && sc start EC2HibernateAgent