我建立了混合式環境,其中內部部署伺服器使用 AWS Systems Manager Agent (SSM Agent),以及統一的 Amazon CloudWatch 代理程式。如我想將內部部署伺服器設為僅使用暫時憑證。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
統一的 CloudWatch 代理程式使用在組態檔中指定的 AWS Identity and Access Management (IAM) 憑證來進行效能監控和管理。然而,為了增強安全性,代理程式可能會輪換憑證,而非將其儲存在本機檔案中。SSM Agent 可讓您的內部部署主機擔任 IAM 角色,而 CloudWatch 代理程式會使用此角色將指標和日誌發佈到 CloudWatch。
將您的內部部署伺服器設為僅使用暫時憑證
請完成下列步驟:
-
將內部部署主機與 AWS Systems Manager 整合。如需更多資訊,請參閱在混合環境與多雲環境中使用 Systems Manager 管理節點。
-
將 CloudWatchAgentServerPolicy 政策附加到 IAM 服務角色。如需操作說明,請參閱使用 AWS 管理主控台為 Systems Manager 混合啟動建立 IAM 服務角色。
-
安裝或更新 AWS CLI。
-
執行以下 get-caller-identity 命令,以確認 IAM 角色已附加至您的內部部署主機:
aws sts get-caller-identity
輸出範例:
{
"UserId": "AROAJXQ3RVCBOTUDZ2AWM:mi-070c8d5758243078f",
"Account": "123456789012",
"Arn": "arn:aws:sts::444455556666:assumed-role/SSMServiceRole/mi-070c8d5758243078f"
}
-
確認您已正確安裝統一 CloudWatch 代理程式。
-
修改 common-config.toml 檔案,以指向由 SSM Agent 生成的憑證。如需操作說明,請參閱修改 CloudWatch 代理程式的共用組態與命名設定檔。
**注意:**SSM Agent 會每 30 分鐘重新整理一次憑證。
Linux 的 common-config.toml 檔案路徑範例:
/opt/aws/amazon-cloudwatch-agent/etc/common-config.toml
輸出範例:
[credentials]
shared_credential_profile = "default"
shared_credential_file = "/root/.aws/credentials"
Windows 的 common-config.toml 檔案路徑範例:
$Env:ProgramData\Amazon\AmazonCloudWatchAgent\common-config.toml
輸出範例:
[credentials] shared_credential_profile = "default"
shared_credential_file = "C:\\Windows\\System32\\config\\systemprofile\\.aws\\credentials"
-
在 SSM Agent 參考的 shared_credential_file 憑證檔案中設定您的 AWS 區域:
cat /root/.aws/config
[default]
region = eu-west-1
**注意:**將 eu-west-1 替換為您的區域。
-
若為 Linux 主機,請設定 CloudWatch 代理程式的權限,以允許統一 CloudWatch 代理程式讀取 SSM Agent 憑證檔案。統一 CloudWatch 代理程式預設以根使用者身分執行。如果您使用 run_as_user 參數將 CloudWatch 代理程式設定為以非權限使用者執行,則需授予該使用者對憑證檔案的存取權限。如需操作說明,請參閱以不同使用者身分執行 CloudWatch 代理程式。
**重要:**若為 Windows 主機,請跳過此步驟。兩個代理程式均以 SYSTEM 使用者身分執行。
-
在您的 Windows 伺服器上開啟 Services (服務),然後選擇 Amazon CloudWatch 代理程式內容以設定 CloudWatch 代理程式服務啟動。
在 Properties (屬性) 中,選取 Startup type (啟動類型) 下拉式清單,然後選擇 Automatic (Delayed Start) (自動 (延遲啟動))。
**注意:**Automatic (Delayed Start) (自動 (延遲啟動)) 啟動類型會在 SSM Agent 服務之後自動啟動 CloudWatch 代理程式服務。
相關資訊
在內部部署伺服器上下載 CloudWatch 代理程式
如何安裝和設定整合 CloudWatch 代理程式,以將指標和日誌從 EC2 執行個體傳送到 CloudWatch?