本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CloudWatch 代理程式登入資料偏好設定
本節概述 CloudWatch 代理程式在與其他 AWS 服務和 APIs 通訊時用來取得憑證的憑證提供者鏈結。順序如下:
注意
數字 2 到 5 中列出的偏好設定與 AWS SDK 中定義的偏好設定順序相同。如需詳細資訊,請參閱 SDK 文件中的指定登入資料。
-
CloudWatch 代理程式檔案中定義的共用組態和登入資料
common-config.toml
檔案。如需詳細資訊,請參閱使用 安裝 CloudWatch 代理程式 AWS Systems Manager。 -
AWS SDK 環境變數
重要
在 Linux 上,如果您使用
amazon-cloudwatch-agent-ctl
指令碼執行 CloudWatch 代理程式,則指令碼會以systemd
服務的形式啟動代理程式。在此情況下,代理程式AWS_SECRET_ACCESS_KEY
無法存取HOME
、AWS_ACCESS_KEY_ID
和 等環境變數。 -
在 中找到的共用組態和登入資料檔案
$HOME/%USERPROFILE%
注意
CloudWatch 代理程式
$HOME
會在 Linux 和 MacOS.aws/credentials
中尋找 ,並在 Windows%USERPROFILE%
中尋找 。與 SDK 不同 AWS ,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 代理程式組態檔案中擔任 指定的 IAM role_arn
角色時,使用這些登入資料。