配置 SSM Agent 以使用代理(Linux) - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 SSM Agent 以使用代理(Linux)

通过创建覆盖配置文件并在文件中添加http_proxyhttps_proxyno_proxy设置,可以将 A Amazon Systems Manager gent (SSM Agent) 配置为通过 HTTP 代理进行通信。如果您安装 SSM Agent的较新或较早版本,覆盖文件还会保留代理设置。本节包含用于在 upstartsystemd 环境创建覆盖文件的过程。如果您打算使用Session Manager,请注意不支持 HTTPS 代理服务器。

注意

从 Amazon Linux 1 创建AMI的使用代理的托管节点必须运行该Pythonrequests模块的最新版本才能支持Patch Manager操作。有关更多信息,请参阅在使用代理服务器的 Amazon Linux 1 实例上升级 Python 请求模块

配置 SSM Agent以使用代理 (upstart)

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

将 SSM Agent 配置为使用代理 (upstart)
  1. 连接到已安装 SSM Agent 的托管实例。

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

    对于 HTTP 代理服务器:

    env http_proxy=http://hostname:port env https_proxy=http://hostname:port env no_proxy=169.254.169.254

    对于 HTTPS 代理服务器:

    env http_proxy=http://hostname:port env https_proxy=https://hostname:port env no_proxy=169.254.169.254
    注意

    no_proxy 设置添加至文件,然后指定此处列出的 IP 地址。它是 Systems Manager 的实例元数据端点。如果没有此 IP 地址,对 Systems Manager 的调用将失败。

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

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

    sudo service stop amazon-ssm-agent sudo service start amazon-ssm-agent
注意

有关在 Upstart 环境中使用 .override 文件的更多信息,请参阅 init: Upstart init daemon job configuration

配置 SSM Agent以使用代理 (systemd)

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

注意

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

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

  2. 根据操作系统类型,运行以下命令之一。

    • 在已使用 Snap 安装 SSM Agent 的 Ubuntu Server 实例上:

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

      在其他操作系统上:

      sudo systemctl edit amazon-ssm-agent
  3. 打开 VIM 等简单编辑器,然后根据您正在使用的是 HTTP 还是 HTTPS 代理服务器,添加以下配置之一。

    确保在注释上方输入 ### Lines below this comment will be discarded “” 的信息,如下图所示。

    
                                屏幕截图,指示在文件中输入新文本的位置。

    对于 HTTP 代理服务器:

    [Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=http://hostname:port" Environment="no_proxy=169.254.169.254"

    对于 HTTPS 代理服务器:

    [Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=https://hostname:port" Environment="no_proxy=169.254.169.254"
    注意

    no_proxy 设置添加至文件,然后指定此处列出的 IP 地址。它是 Systems Manager 的实例元数据端点。如果没有此 IP 地址,对 Systems Manager 的调用将失败。

  4. 保存您的更改。系统将根据操作系统类型自动创建下列文件之一。

    • 在已使用 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 实例上:

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

    • 在其他操作系统上:

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

  5. 通过使用以下命令之一重新启动 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 系统管理员指南中的修改现有单元文件