如何將內部部署伺服器設為使用 SSM 代理程式和統一 CloudWatch 代理程式的暫時憑證?

2 分的閱讀內容
0

我建立了混合式環境,其中具有使用 AWS Systems Manager Agent (SSM Agent) 的內部部署伺服器,並且安裝了統一 Amazon CloudWatch 代理程式。如何將我的內部部署伺服器設為僅使用暫時憑證?

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請確認您使用的是最新的 AWS CLI 版本

統一 CloudWatch 代理程式可以安裝在內部部署主機上,以改善效能監控。您可以指定寫入組態檔案的 AWS Identity and Accesses Management (IAM) 憑證來完成此動作。

但是,有些使用案例可能需要未儲存至本機檔案之輪替憑證更好的安全性。

在這種更加安全的部署案例中,SSM 代理程式允許內部部署主機假設 IAM 角色。然後,統一 CloudWatch 代理程式可以設為使用此 IAM 角色,將指標和日誌發佈至 CloudWatch。

若要將您的內部部署伺服器設為僅使用暫時憑證:

1.    將內部部署主機與 AWS Systems Manager 整合。

2.    將 AWS 受管 IAM CloudWatchAgentServerPolicy 附加至 IAM 服務角色來建立混合式環境。現在,統一 CloudWatch 代理程式就會具備將指標和日誌發佈至 CloudWatch 的權限。

3.    安裝或更新 AWS CLI

4.    確認 IAM 角色已附加至非內部部署主機:

$ aws sts get-caller-identity
{
    "UserId": "AROAJXQ3RVCBOTUDZ2AWM:mi-070c8d5758243078f",
    "Account": "123456789012",
    "Arn": "arn:aws:sts::123456789012:assumed-role/SSMServiceRole/mi-070c8d5758243078f"
}

5.    安裝統一 CloudWatch 代理程式

6.    將 common-config.toml 檔案更新為:

  • 指向由 SSM 代理程式產生的憑證
  • 設定 Proxy 組態(如適用)

**注意:**這些憑證每 30 分鐘由 SSM 代理程式重新整理一次。

Linux:

/opt/aws/amazon-cloudwatch-agent/etc/common-config.toml
/etc/amazon/amazon-cloudwatch-agent/common-config.toml
[credentials]
  shared_credential_profile = "default"
  shared_credential_file = "/root/.aws/credentials"

Windows:

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\common-config.toml
[credentials]
  shared_credential_profile = "default"
  shared_credential_file = "C:\\Windows\\System32\\config\\systemprofile\\.aws\\credentials"

7.    選擇統一 CloudWatch 代理程式指標目標發佈位置的 AWS 區域。

8.    將區域新增至 SSM 代理程式在步驟 5 中參照的憑證檔案中。這會對應至與 shared_credential_file 相關聯的檔案。

$ cat /root/.aws/config
[default]
region = "eu-west-1"

注意: 請務必將 eu-west-1 取代為您的目標區域。

9.    根據您的主機作業系統,您可能必須更新權限來允許統一 CloudWatch 代理程式讀取 SSM 代理程式憑證檔案。Windows 主機將代理程式以 SYSTEM 使用者執行,且不需要進一步的行動。

對於 Linux 主機,統一 CloudWatch 代理程式預設會以使用者執行。統一 CloudWatch 代理程式可以設為透過run_as_user 選項,以不具權限的使用者執行。使用此選項時,您必須向統一 CloudWatch 代理程式授予憑證檔案存取權限。

10.    (僅限 Windows)將統一 CloudWatch 代理程式服務的啟動類型變更為自動(延遲)。這會在開機期間的 SSM 代理程式服務後啟動統一 CloudWatch 代理程式服務。


相關資訊

為混合式環境設定 AWS Systems Manager

在內部部署伺服器上下載 CloudWatch 代理程式

安裝並設定統一 CloudWatch 代理程式,將指標和日誌從 EC2 執行個體推送至 CloudWatch

AWS 官方
AWS 官方已更新 1 年前