

• AWS Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息，请参阅 [Amazon CloudWatch 控制面板文档](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

# 在适用于 Windows Server 的 EC2 实例上使用 SSM Agent
<a name="ssm-agent-windows"></a>

默认情况下，AWS Systems Manager 代理（SSM Agent）已预安装在由 AWS 提供的 Windows Server 的 Amazon Machine Images（AMIs）上。支持以下操作系统（OS）版本。
+ 2016 年 11 月或以后发布的 Windows Server 2012 R2 AMIs
+ Windows Server 2016、2019、2022（不包括 Nano 版本）和 2025

**先前版本的支持说明**  
2016 年 11 月*之前*发布的 Windows Server AMIs 使用 EC2Config 服务处理请求并配置实例。

除非您出于特定原因需要使用 EC2Config 服务或早期版本的 SSM Agent 来处理 Systems Manager 请求，否则建议您在[混合和多云](operating-systems-and-machine-types.md#supported-machine-types)环境中为 Systems Manager 配置的每个 Amazon Elastic Compute Cloud（Amazon EC2）实例或非 EC2 计算机上下载并安装最新版本的 SSM Agent。

**保持 SSM Agent 的最新状态**  
如果有新工具添加至 Systems Manager 或者对现有工具进行了更新，则将发布 SSM Agent 的更新版本。无法使用代理的最新版本可能会阻止托管式节点使用 Systems Manager 的各项工具和功能。因此，我们建议您自动完成确保机器上的 SSM Agent 为最新的过程。有关更多信息，请参阅 [自动更新到 SSM Agent](ssm-agent-automatic-updates.md)。要获得有关 SSM Agent 更新的通知，请在 GitHub 上订阅 [SSM Agent 发布说明](https://github.com/aws/amazon-ssm-agent/blob/mainline/RELEASENOTES.md)页面。

要查看有关不同版本 SSM Agent 的详细信息，请参阅[发行说明](https://github.com/aws/amazon-ssm-agent/blob/mainline/RELEASENOTES.md)。

**Topics**
+ [

# 在适用于 Windows Server 的 EC2 实例上手动安装和卸载 SSM Agent
](manually-install-ssm-agent-windows.md)
+ [

# 配置 SSM Agent以使用 Windows Server 实例的代理
](configure-proxy-ssm-agent-windows.md)

# 在适用于 Windows Server 的 EC2 实例上手动安装和卸载 SSM Agent
<a name="manually-install-ssm-agent-windows"></a>

默认情况下，AWS Systems Manager 代理（SSM Agent）已预安装在由 Amazon 提供的以下 Windows Server 的 Amazon Machine Images（AMIs）上：
+ 2016 年 11 月或以后发布的 Windows Server 2012 R2 AMIs
+ Windows Server 2016、2019、2022（不包括 Nano 版本）和 2025

**重要**  
强烈建议避免使用生命周期 (EOL) 已终止的操作系统版本。包括 AWS 在内的操作系统供应商通常不为生命周期已终止的版本提供安全补丁或其他更新。继续使用生命周期终止的操作系统会大大增加无法应用升级（包括安全修复）以及其他操作问题的风险。AWS 不会在生命周期已终止的操作系统版本上测试 Systems Manager 功能。

## 在适用于 Windows Server 的 EC2 实例上安装 SSM Agent
<a name="windows-install-agent"></a>

如有必要，可以使用以下过程在 Amazon Elastic Compute Cloud (Amazon EC2) 实例 Windows Server 上手动下载并安装最新版本的 SSM Agent。此过程中提供的命令也可以通过用户数据作为脚本传递给 Amazon EC2 实例。

SSM Agent 需要使用 Windows PowerShell 3.0 或更高版本才能在 Windows Server 实例上运行 AWS Systems Manager 某些 SSM 文档（例如，原有 `AWS-ApplyPatchBaseline` 文档）。验证您的 Windows Server 实例是否在 Windows Management Framework 3.0 或更高版本上运行。此框架包括 Windows PowerShell。有关更多信息，请参阅 [Windows 管理框架 3.0](https://www.microsoft.com/en-us/download/details.aspx?id=34595&751be11f-ede8-5a0c-058c-2ee190a24fa6=True)。

**在其他机器类型上安装**  
本主题中的此过程专门适用于在 Windows Server 的 EC2 实例上安装或重新安装 SSM Agent。对于本地服务器、虚拟机或其他非 EC2 环境，请如[在混合 Windows Server 节点上安装 SSM Agent](hybrid-multicloud-ssm-agent-install-windows.md)中所述使用 `ssm-setup-cli` 工具。  
在非 EC2 系统上使用 EC2 安装程序可能会导致安全漏洞。`ssm-setup-cli` 工具为非 EC2 计算机提供额外的安全保护。

**在 Windows Server 的 EC2 实例上手动安装最新版本的 SSM Agent**

1. 使用远程桌面或 Windows PowerShell 连接到您的实例。有关详细信息，请参阅《Amazon EC2 用户指南》**中的[连接到您的实例](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows)。

1. 将最新版本的 SSM Agent下载到您的实例。您可以使用 PowerShell 命令或直接下载链接来进行下载。
**注意**  
本步骤中的 URL 用于从*任何* AWS 区域 下载 SSM Agent 如果您要从特定区域下载代理，请改为使用特定于区域的 URL：  
`https://amazon-ssm-region.s3.region.amazonaws.com/latest/windows_amd64/AmazonSSMAgentSetup.exe`  
*region* 表示 AWS Systems Manager 支持的 AWS 区域 的标识符，例如 `us-east-2` 对应美国东部（俄亥俄州）区域。有关支持的 *region* 值的列表，请参阅《Amazon Web Services 一般参考》**中的 [Systems Manager service endpoints](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) 的 **Region** 列。  
**PowerShell**  
按顺序运行以下三条 PowerShell 命令。可通过这些命令下载 SSM Agent，无需调整 Internet Explorer (IE) 增强的安全设置，然后安装代理并移除安装文件。  

   ```
   [System.Net.ServicePointManager]::SecurityProtocol = 'TLS12'
   $progressPreference = 'silentlyContinue'
   Invoke-WebRequest `
       https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/windows_amd64/AmazonSSMAgentSetup.exe `
       -OutFile $env:USERPROFILE\Desktop\SSMAgent_latest.exe
   ```

   ```
   [System.Net.ServicePointManager]::SecurityProtocol = 'TLS12'
   $progressPreference = 'silentlyContinue'
   Invoke-WebRequest `
       https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/windows_386/AmazonSSMAgentSetup.exe `
       -OutFile $env:USERPROFILE\Desktop\SSMAgent_latest.exe
   ```

   ```
   Start-Process `
       -FilePath $env:USERPROFILE\Desktop\SSMAgent_latest.exe `
       -ArgumentList "/S" `
       -Wait
   ```

   ```
   rm -Force $env:USERPROFILE\Desktop\SSMAgent_latest.exe
   ```  
**直接下载**  
使用以下链接将最新版本的 SSM Agent 下载到您的实例。如果需要，请使用特定于 AWS 区域的 URL 更新此 URL。  
[https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/windows\$1amd64/AmazonSSMAgentSetup.exe](https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/windows_amd64/AmazonSSMAgentSetup.exe)  
运行下载的 `AmazonSSMAgentSetup.exe` 文件以安装 SSM Agent。

1. 在 PowerShell 中发送以下命令，以启动或重新启动 SSM Agent：

   ```
   Restart-Service AmazonSSMAgent
   ```

**注意**  
要从 Windows Server 实例卸载 SSM Agent，请打开**控制面板**、**程序**。选择 **Uninstall a program**（卸载程序）选项。打开 **Amazon SSM Agent** 的上下文（右键单击）菜单，选择 **Uninstall**（卸载）。

# 配置 SSM Agent以使用 Windows Server 实例的代理
<a name="configure-proxy-ssm-agent-windows"></a>

本主题中的信息适用于在 2016 年 11 月或之后创建但*不*使用 Nano 安装选项的 Windows Server 实例。请注意，如果打算使用 Session Manager，HTTPS 代理服务器不受支持。

**开始前的准备工作**  
在将 SSM Agent 配置为使用代理之前，请注意以下重要信息。

在以下过程中，您将运行命令，以将 SSM Agent 配置为使用代理。该命令包含带有 IP 地址的 `no_proxy` 设置。该 IP 地址是 Systems Manager 的实例元数据服务（IMDS）端点。如果您未指定 `no_proxy`，则对 Systems Manager 的调用将使用代理服务的身份（如果已启用 IMDSv1 回退），或者对 Systems Manager 的调用失败（如果强制执行 IMDSv2）。
+ 对于 IPv4，请指定 `no_proxy=169.254.169.254`。
+ 对于 IPv6，请指定 `no_proxy=[fd00:ec2::254]`。实例元数据服务的 IPv6 地址与 IMDSv2 命令兼容。IPv6 地址只能在基于 [AWS Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) 构建的实例上访问。有关更多信息，请参阅《Amazon EC2 用户指南》**中的[实例元数据服务版本 2 的工作原理](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html)。

**配置 SSM Agent以使用代理**

1. 使用远程桌面或 Windows PowerShell，连接到您希望配置的实例，以使用代理。

1. 在 PowerShell 中运行以下命令块。将 *hostname* 和 *port* 替换为有关代理的信息。

   ```
   $serviceKey = "HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent"
   $keyInfo = (Get-Item -Path $serviceKey).GetValue("Environment")
   $proxyVariables = @("http_proxy=hostname:port", "https_proxy=hostname:port", "no_proxy=IP address for instance metadata services (IMDS)")
   
   if ($keyInfo -eq $null) {
       New-ItemProperty -Path $serviceKey -Name Environment -Value $proxyVariables -PropertyType MultiString -Force
   } else {
       Set-ItemProperty -Path $serviceKey -Name Environment -Value $proxyVariables
   }
   
   Restart-Service AmazonSSMAgent
   ```

运行上述命令后，您可以查看 SSM Agent 日志以确认已应用代理设置。日志中的条目类似于以下内容。有关 SSM Agent 日志的更多信息，请参阅 [查看 SSM Agent 日志](ssm-agent-logs.md)。

```
2020-02-24 15:31:54 INFO Getting IE proxy configuration for current user: The operation completed successfully.
2020-02-24 15:31:54 INFO Getting WinHTTP proxy default configuration: The operation completed successfully.
2020-02-24 15:31:54 INFO Proxy environment variables:
2020-02-24 15:31:54 INFO http_proxy: hostname:port
2020-02-24 15:31:54 INFO https_proxy: hostname:port
2020-02-24 15:31:54 INFO no_proxy: IP address for instance metadata services (IMDS)
2020-02-24 15:31:54 INFO Starting Agent: amazon-ssm-agent - v2.3.871.0
2020-02-24 15:31:54 INFO OS: windows, Arch: amd64
```

**重置 SSM Agent的代理配置**

1. 使用远程桌面或 Windows PowerShell，连接到要配置的实例。

1. 如果使用远程桌面连接，则以管理员的身份启动 PowerShell。

1. 在 PowerShell 中运行以下命令块。

   ```
   Remove-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent -Name Environment
   Restart-Service AmazonSSMAgent
   ```

## SSM Agent代理设置优先级
<a name="ssm-agent-proxy-precedence"></a>

在 Windows Server 实例上为 SSM Agent配置代理设置时，务必了解在启动 SSM Agent 时会评估这些设置并将它们应用于代理配置。您为 Windows Server 实例配置代理设置的方式可以确定其他设置是否可以取代您的预期设置。座席使用其找到的第一个代理设置。

**重要**  
SSM Agent 使用 HTTPS 协议进行通信。因此，您必须使用下面的一个设置选项来配置 `HTTPS proxy` 参数。

SSM Agent 代理设置的评估顺序如下。

1. `AmazonSSMAgent` 注册表设置 (`HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent`)

1. `System` 环境变量（`http_proxy`、`https_proxy`、`no_proxy`）

1. `LocalSystem` 用户帐户环境变量（`http_proxy`、`https_proxy`、`no_proxy`）

1. 浏览器设置（`HTTP`、`secure`、`exceptions`）

1. `WinHTTP` 代理设置（`http=`、`https=`、`bypass-list=`）

## SSM Agent 代理设置和 Systems Manager 服务
<a name="ssm-agent-proxy-services"></a>

如果已将 SSM Agent 配置为使用代理，并且正在使用 AWS Systems Manager 工具（例如 Run Command 和Patch Manager），而这些工具在 Windows Server 实例上执行期间将使用 PowerShell 或 Windows Update 客户端，请配置其他代理设置。否则，操作可能会失败，因为 PowerShell 和 Windows Update 客户端使用的代理设置不是从 SSM Agent 代理配置继承的。

对于 Run Command，在 Windows Server 实例上配置 `WinINet` 代理设置。将按会话提供 `[System.Net.WebRequest]` 命令。要将这些配置应用于在 Run Command 中运行的后续网络命令，这些命令必须位于同一 `aws:runPowershellScript` 插件输入中其他 Powershell 命令之前。

以下 PowerShell 命令返回当前 `WinINet` 代理设置并将您的代理设置应用于 `WinINet`。

```
[System.Net.WebRequest]::DefaultWebProxy

$proxyServer = "http://hostname:port"
$proxyBypass = "169.254.169.254"
$WebProxy = New-Object System.Net.WebProxy($proxyServer,$true,$proxyBypass)

[System.Net.WebRequest]::DefaultWebProxy = $WebProxy
```

对于 Patch Manager，配置系统范围的代理设置，以便 Windows Update 客户端能够扫描和下载更新。建议您使用 Run Command 运行以下命令，因为这些命令会在系统账户上运行，并且这些设置会应用于整个系统范围。以下 `netsh` 命令返回当前代理设置，并将您的代理设置应用于本地系统。

```
netsh winhttp show proxy

netsh winhttp set proxy proxy-server="hostname:port" bypass-list="169.254.169.254"
```

有关使用 Run Command 的更多信息，请参阅[AWS Systems Manager Run Command](run-command.md)。