設定 SSM Agent 在 Linux 節點上使用代理 - AWS Systems Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 SSM Agent 在 Linux 節點上使用代理

您可以設定 AWS Systems Manager 客服人員 (SSM Agent) 建立覆寫組態檔案,並將 http_proxy、 和 no_proxy設定新增至檔案https_proxy,以透過HTTP代理通訊。如果您安裝更新或較舊版本的 ,覆寫檔案也會保留代理設定 SSM Agent。 本節包含在啟動系統化環境中建立覆寫檔案的程序。如果您打算使用 Session Manager請注意,不支援HTTPS代理伺服器。

設定 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=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 地址。的 IP 地址no_proxy是 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 上建置的執行個體上存取。如需詳細資訊,請參閱 Amazon EC2 使用者指南 中的執行個體中繼資料服務第 2 版的運作方式

  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 協助程式任務組態

設定 SSM Agent 使用代理 (系統化)

使用下列程序來設定 SSM Agent 在 systemd 環境中使用代理。

注意

此程序中的某些步驟包含 的明確指示 Ubuntu Server 執行個體,其中 SSM Agent 使用 Snap 安裝。

  1. 連線到您安裝的執行個體 SSM Agent.

  2. 根據作業系統類型,執行以下其中一個命令。

    • 開啟 Ubuntu Server 執行個體,其中 SSM Agent 是使用快照安裝:

      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=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 地址。的 IP 地址no_proxy是 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 上建置的執行個體上存取。如需詳細資訊,請參閱 Amazon EC2 使用者指南 中的執行個體中繼資料服務第 2 版的運作方式

  4. 儲存您的變更。根據作業系統類型,系統會自動建立下列其中一個檔案。

    • 開啟 Ubuntu Server 執行個體,其中 SSM Agent 是使用快照安裝:

      /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 使用下列其中一個命令,取決於作業系統類型。

    • 開啟 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 系統管理員指南中的修改現有單元檔案