

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

# 配置 SSM Agent 以在 Linux 节点上使用代理
<a name="configure-proxy-ssm-agent"></a>

可通过创建覆盖配置文件并向其添加 `http_proxy`、`https_proxy` 和 `no_proxy` 设置将 AWS Systems Manager Agent (SSM Agent) 配置为通过 HTTP 代理进行通信。如果您安装 SSM Agent的较新或较早版本，覆盖文件还会保留代理设置。本节包含用于在 *upstart* 和 *systemd* 环境创建覆盖文件的过程。请注意，如果打算使用 Session Manager，HTTPS 代理服务器不受支持。

**Topics**
+ [配置 SSM Agent以使用代理 (upstart)](#ssm-agent-proxy-upstart)
+ [配置 SSM Agent以使用代理 (systemd)](#ssm-agent-proxy-systemd)

## 配置 SSM Agent以使用代理 (upstart)
<a name="ssm-agent-proxy-upstart"></a>

请按照以下过程为 `upstart` 环境创建覆盖配置文件。

**将 SSM Agent 配置为使用代理 (upstart)**

1. 连接到已安装 SSM Agent 的托管实例。

1. 打开 VIM 等简单编辑器，然后根据您正在使用的是 HTTP 还是 HTTPS 代理服务器，添加以下配置之一。

    **对于 HTTP 代理服务器：**

   ```
   env http_proxy=http://hostname:port
   env https_proxy=http://hostname:port
   env no_proxy=IP address for instance metadata services (IMDS)
   ```

    **对于 HTTPS 代理服务器：**

   ```
   env http_proxy=http://hostname:port
   env https_proxy=https://hostname:port
   env no_proxy=IP address for instance metadata services (IMDS)
   ```
**重要**  
将 `no_proxy` 设置添加至文件，然后指定 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)。

1. 使用名称 `amazon-ssm-agent.override` 将文件保存在以下位置：`/etc/init/`

1. 使用以下命令停止和重新启动 SSM Agent。

   ```
   sudo service stop amazon-ssm-agent
   sudo service start amazon-ssm-agent
   ```

**注意**  
有关在 Upstart 环境中使用 `.override` 文件的更多信息，请参阅 [init: Upstart init daemon job configuration](https://www.systutorials.com/docs/linux/man/5-init/)。

## 配置 SSM Agent以使用代理 (systemd)
<a name="ssm-agent-proxy-systemd"></a>

使用以下过程将 SSM Agent 配置为在 `systemd` 环境中使用代理。

**注意**  
此过程中的某些步骤包含适用于 Ubuntu Server 实例（使用 Snap 安装 SSM Agent）的明确说明。

1. 连接到已安装 SSM Agent的实例。

1. 根据操作系统类型，运行以下命令之一。
   + 在已使用 Snap 安装 SSM Agent 的 Ubuntu Server 实例上：

     ```
     sudo systemctl edit snap.amazon-ssm-agent.amazon-ssm-agent
     ```

     在其他操作系统上：

     ```
     sudo systemctl edit amazon-ssm-agent
     ```

1. 打开 VIM 等简单编辑器，然后根据您正在使用的是 HTTP 还是 HTTPS 代理服务器，添加以下配置之一。  
![\[在 "### Lines below this comment will be discarded" 行上方输入新内容。\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/images/update-proxy-callout.png)

    **对于 HTTP 代理服务器：**

   ```
   [Service]
   Environment="http_proxy=http://hostname:port"
   Environment="https_proxy=http://hostname:port"
   Environment="no_proxy=IP address for instance metadata services (IMDS)"
   ```

    **对于 HTTPS 代理服务器：**

   ```
   [Service]
   Environment="http_proxy=http://hostname:port"
   Environment="https_proxy=https://hostname:port"
   Environment="no_proxy=IP address for instance metadata services (IMDS)"
   ```
**重要**  
将 `no_proxy` 设置添加至文件，然后指定 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)。

1. 保存更改。系统将根据操作系统类型自动创建下列文件之一。
   + 在已使用 Snap 安装 SSM Agent 的 Ubuntu Server 实例上：

      `/etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d/override.conf` 
   + 在 Amazon Linux 2、Amazon Linux 2023 和 RHEL 实例上：

      `/etc/systemd/system/amazon-ssm-agent.service.d/override.conf` 
   + 在其他操作系统上：

      `/etc/systemd/system/amazon-ssm-agent.service.d/amazon-ssm-agent.override` 

1. 通过使用以下命令之一重新启动 SSM Agent，具体取决于操作系统类型。
   + 在已使用 Snap 安装的 Ubuntu Server 实例上：

     ```
     sudo systemctl daemon-reload && sudo systemctl restart snap.amazon-ssm-agent.amazon-ssm-agent
     ```
   + 在其他操作系统上：

     ```
     sudo systemctl daemon-reload && sudo systemctl restart amazon-ssm-agent
     ```

**注意**  
有关在 systemd 环境中使用 `.override` 文件的详细信息，请参阅 *Red Hat Enterprise Linux 7 系统管理员指南*中的[修改现有单元文件](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/chap-managing_services_with_systemd#sect-Managing_Services_with_systemd-Unit_File_Modify)。