CloudWatch 代理程式憑證偏好設定
本節概述 CloudWatch 代理程式在與其他 AWS 服務及 API 通訊時,用於獲取憑證的憑證提供者鏈。排序如下:
注意
數字 2 到 5 中列出的偏好設定與 AWS SDK 中定義的偏好設定順序相同。如需詳細資訊,請參閱 SDK 文件中的指定憑證。
-
CloudWatch 代理程式的
common-config.toml檔案中有定義共用組態與憑證檔案。如需更多詳細資訊,請參閱 使用 AWS Systems Manager 安裝 CloudWatch 代理程式。 -
AWS SDK 環境變數
重要
在 Linux 上,如果您使用
amazon-cloudwatch-agent-ctl指令碼執行 CloudWatch 代理程式,指令碼會將代理程式作為systemd服務啟動。在此情況下,代理程式無法存取HOME、AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY等環境變數。 -
$HOME/%USERPROFILE%中的共用組態與憑證檔案注意
CloudWatch 代理程式在適用於 Linux 和 MacOS 的
$HOME,以及適用於 Windows 的%USERPROFILE%中尋找.aws/credentials。與 AWS SDK 不同,在無法存取環境變數時,CloudWatch 代理程式沒有備用方法來確定主目錄。這種行為的差異在於維持與 AWS SDK 先前實作的回溯相容性。此外,與
common-config.toml中的共用憑證不同,如果 AWS SDK 衍生的共用憑證過期且輪換,CloudWatch 代理程式不會自動擷取續約的憑證,重新啟動代理程式後才能生效。 -
任務的 AWS Identity and Access Management 角色 (若存在使用 Amazon Elastic Container Service 任務定義或 RunTask API 操作的應用程式)。
-
連接至 Amazon EC2 執行個體的執行個體設定檔。
最佳實務是,建議您在使用 CloudWatch 代理程式時,依下列順序指定憑證。
-
如果您的應用程式使用 Amazon Elastic Container Service 任務定義或 RunTask API 操作,使用任務的 IAM 角色。
-
如果您的應用程式在 Amazon EC2 執行個體上執行,使用 IAM 角色。
-
使用 CloudWatch 代理程式
common-config.toml檔案來指定憑證檔案。這個憑證檔案與其他 AWS SDK 和 AWS CLI 使用的憑證檔案相同。如果您目前已正在使用共用的憑證檔案,也可以將該檔案用於此用途。若您透過 CloudWatch 代理程式的common-config.toml檔案提供憑證,即可確保代理程式在憑證到期並被替換時自動使用輪替憑證,無需手動重新啟動代理程式。 -
使用環境變數。如果您在 Amazon EC2 執行個體以外的電腦上執行開發工作,設定環境變數會非常有用。
注意
如果您將遙測傳送至 將指標、日誌和追蹤傳送到不同帳戶 中的不同帳戶,CloudWatch 代理程式會使用本節所述的憑證提供者鏈結來取得初始的憑證集。然後,它會在 CloudWatch 代理程式設定檔中擔任 role_arn 指定的 IAM 角色時,使用這些憑證。