AWS-EC2-Windows实例手动激活
我在 Amazon Elastic Compute Cloud (Amazon EC2) Windows 实例上收到了“Windows 激活失败”消息。
概述
Windows 实例使用 Amazon Web Services (AWS) 上的 Microsoft Key Management Service (Microsoft KMS) 进行激活。如果您的实例无法访问 Microsoft KMS 服务器,则可能会收到 Windows 激活错误消息。也有可能是 Microsoft KMS 客户端配置存在问题。
您可以使用 AWS Systems Manager Automation 文档,也可以按照手动流程激活 Windows。
解决方法
使用 Systems Manager Automation 文档激活 Windows
AWSSupport-ActivateWindowsWithAmazonLicense 自动化文档使用 Amazon 提供的许可证激活 Amazon EC2 Windows 实例。该自动化文档会检查您的实例的当前 Windows 状态,然后在状态为非活动时激活 Windows。
注意: 此解决方案不适用于“自带许可证 (BYOL)”Windows 实例。要使用您自己的许可证,请参阅 AWS 上的 Microsoft 许可。
- 打开 AWS Systems Manager 控制台。请务必选择与需要激活 Windows 的 EC2 Windows 实例相同的区域。
- 从导航窗格中选择自动化,然后选择执行自动化。
- 在搜索字段中,输入ActivateWindowsWithAmazonLicense。选择 AWSSupport-ActivateWindowsWithAmazonLicense 自动化文档,然后选择下一步。
- 对于执行自动化文档,选择简单执行。
- 对于输入参数,打开显示交互式实例选择器。
- 选择您的 EC2 实例。
注意: 如果列表中没有显示您的实例,则该实例未经 Systems Manager 激活。查看使用 Systems Manager 管理 Amazon EC2 实例的先决条件。
如果您不想激活 Systems Manager,或者输入参数中没有该实例,请关闭显示交互式实例选择器。对于 InstanceID,请输入您的受损 EC2 实例的 ID。对于允许离线,选择 是。
重要信息: 如果您将 AllowOffline 设置为是,则您的 EC2 实例将停止并重新启动。实例存储卷中的数据丢失。如果您不使用弹性 IP 地址,则公有 IP 地址会发生变化。
- 选择执行。
- 要监控执行进度,请打开 Systems Manger 控制台,然后从导航窗格中选择自动化。选择正在运行的自动化,然后查看已执行的步骤。要查看自动化输出,请展开输出。
手动激活 Windows
- 更新 EC2Config,或者运行 EC2Launch 初始化脚本。
对于** Windows Server 2012 R2 及更早版本**: 更新 EC2Config,然后运行以下命令重新启动服务:
1 |
|
对于** Windows Server 2016 及更高版本**: 运行以下命令来设置通往 Microsoft KMS 服务器的正确路由:
1 |
|
如果 Windows 仍未激活,则继续执行步骤 2。
Microsoft KMS 作为 TCP 流量在端口 1688 上运行。请务必添加例外情况,以允许可控制来自您的实例的出站连接的任何防火墙或安全软件上的 Microsoft KMS 流量。
设置你的 Windows KMS 设置密钥。首先,根据您的操作系统版本确定相应的 Microsoft KMS 客户端设置密钥。有关更多信息,请参阅 Key Management Services (KMS) 客户端激活和产品密钥。然后,以管理员身份运行以下命令:
1 |
|
- 设置您的 Windows KMS 机器 IP 地址。源自虚拟机导入的实例或较早的 EC2-Classic 实例可能不具有 Microsoft KMS 服务器的正确 IP 地址。以管理员身份运行此命令:
1 |
|
- 要激活 Windows,请以管理员身份运行以下命令:
1 |
|
- 如果按照前述步骤激活失败,请检查从实例到 Microsoft KMS 服务器的网络通信。为此,请从实例远程登录到 Microsoft KMS 服务器。然后,打开 PowerShell 并输入以下命令:
1 |
|
验证连接状态输出是否为 TcpTestSuccessed=True。如果连接状态输出为 False,则继续执行步骤 7。
- 验证这些注册表项的 Microsoft KMS 值是否正确:
1 |
|
- 重复步骤 6 中的测试。如果连接状态输出仍为 False,请验证 EC2 实例上的时间同步。有关更多信息,请参阅为 Windows 实例设置时间。