本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CloudWatch 代理程式憑證偏好設定
本節概述 CloudWatch 代理程式在與其他 AWS 服務和 APIs 通訊時用來取得憑證的憑證提供者鏈結。排序如下:
注意
數字 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 代理程式不會自動收取續約的登入資料,並且需要重新啟動代理程式才能這麼做。 -
如果存在使用 Amazon Elastic Container Service 任務定義或 RunTask API 操作的應用程式,則為任務 AWS Identity and Access Management 的角色。
-
連接至 Amazon EC2 執行個體的執行個體設定檔。
最佳實務是,建議您在使用 CloudWatch 代理程式時,依下列順序指定憑證。
-
如果您的應用程式使用 Amazon Elastic Container Service 任務定義或 RunTask API 操作,使用任務的 IAM 角色。
-
如果您的應用程式在 Amazon EC2 執行個體上執行,使用 IAM 角色。
-
使用 CloudWatch 代理程式
common-config.toml檔案來指定憑證檔案。此登入資料檔案與 AWS SDKs和 使用的登入資料檔案相同 AWS CLI。如果您目前已正在使用共用的憑證檔案,也可以將該檔案用於此用途。若您透過 CloudWatch 代理程式的common-config.toml檔案提供憑證,即可確保代理程式在憑證到期並被替換時自動使用輪替憑證,無需手動重新啟動代理程式。 -
使用環境變數。如果您在 Amazon EC2 執行個體以外的電腦上執行開發工作,設定環境變數會非常有用。
注意
如果您將遙測傳送至 將指標、日誌和追蹤傳送到不同帳戶 中的不同帳戶,CloudWatch 代理程式會使用本節所述的憑證提供者鏈結來取得初始的憑證集。然後,它會在 CloudWatch 代理程式設定檔中擔任 role_arn 指定的 IAM 角色時,使用這些憑證。