CloudWatch 代理程式憑證偏好設定 - Amazon CloudWatch

CloudWatch 代理程式憑證偏好設定

本節概述 CloudWatch 代理程式在與其他 AWS 服務及 API 通訊時,用於獲取憑證的憑證提供者鏈。排序如下:

注意

數字 2 到 5 中列出的偏好設定與 AWS SDK 中定義的偏好設定順序相同。如需詳細資訊,請參閱 SDK 文件中的指定憑證

  1. CloudWatch 代理程式的 common-config.toml 檔案中有定義共用組態與憑證檔案。如需更多詳細資訊,請參閱 使用 AWS Systems Manager 安裝 CloudWatch 代理程式

  2. AWS SDK 環境變數

    重要

    在 Linux 上,如果您使用 amazon-cloudwatch-agent-ctl 指令碼執行 CloudWatch 代理程式,指令碼會將代理程式作為 systemd 服務啟動。在此情況下,代理程式無法存取 HOMEAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 等環境變數。

  3. $HOME/%USERPROFILE% 中的共用組態與憑證檔案

    注意

    CloudWatch 代理程式在適用於 Linux 和 MacOS 的 $HOME,以及適用於 Windows 的 %USERPROFILE% 中尋找 .aws/credentials。與 AWS SDK 不同,在無法存取環境變數時,CloudWatch 代理程式沒有備用方法來確定主目錄。這種行為的差異在於維持與 AWS SDK 先前實作的回溯相容性。

    此外,與 common-config.toml 中的共用憑證不同,如果 AWS SDK 衍生的共用憑證過期且輪換,CloudWatch 代理程式不會自動擷取續約的憑證,重新啟動代理程式後才能生效。

  4. 任務的 AWS Identity and Access Management 角色 (若存在使用 Amazon Elastic Container Service 任務定義或 RunTask API 操作的應用程式)。

  5. 連接至 Amazon EC2 執行個體的執行個體設定檔。

最佳實務是,建議您在使用 CloudWatch 代理程式時,依下列順序指定憑證。

  1. 如果您的應用程式使用 Amazon Elastic Container Service 任務定義或 RunTask API 操作,使用任務的 IAM 角色。

  2. 如果您的應用程式在 Amazon EC2 執行個體上執行,使用 IAM 角色。

  3. 使用 CloudWatch 代理程式 common-config.toml 檔案來指定憑證檔案。這個憑證檔案與其他 AWS SDK 和 AWS CLI 使用的憑證檔案相同。如果您目前已正在使用共用的憑證檔案,也可以將該檔案用於此用途。若您透過 CloudWatch 代理程式的 common-config.toml 檔案提供憑證,即可確保代理程式在憑證到期並被替換時自動使用輪替憑證,無需手動重新啟動代理程式。

  4. 使用環境變數。如果您在 Amazon EC2 執行個體以外的電腦上執行開發工作,設定環境變數會非常有用。

注意

如果您將遙測傳送至 將指標、日誌和追蹤傳送到不同帳戶 中的不同帳戶,CloudWatch 代理程式會使用本節所述的憑證提供者鏈結來取得初始的憑證集。然後,它會在 CloudWatch 代理程式設定檔中擔任 role_arn 指定的 IAM 角色時,使用這些憑證。