跳至內容

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

2 分的閱讀內容
0

我建立了混合式環境,其中內部部署伺服器使用 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。

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

請完成下列步驟:

  1. 將內部部署主機與 AWS Systems Manager 整合。如需更多資訊,請參閱在混合環境與多雲環境中使用 Systems Manager 管理節點

  2. CloudWatchAgentServerPolicy 政策附加到 IAM 服務角色。如需操作說明,請參閱使用 AWS 管理主控台為 Systems Manager 混合啟動建立 IAM 服務角色

  3. 安裝或更新 AWS CLI

  4. 執行以下 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"
    }
  5. 確認您已正確安裝統一 CloudWatch 代理程式

  6. 修改 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"
  7. 在 SSM Agent 參考的 shared_credential_file 憑證檔案中設定您的 AWS 區域:

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

    **注意:**將 eu-west-1 替換為您的區域。

  8. 若為 Linux 主機,請設定 CloudWatch 代理程式的權限,以允許統一 CloudWatch 代理程式讀取 SSM Agent 憑證檔案。統一 CloudWatch 代理程式預設以使用者身分執行。如果您使用 run_as_user 參數將 CloudWatch 代理程式設定為以非權限使用者執行,則需授予該使用者對憑證檔案的存取權限。如需操作說明,請參閱以不同使用者身分執行 CloudWatch 代理程式
    **重要:**若為 Windows 主機,請跳過此步驟。兩個代理程式均以 SYSTEM 使用者身分執行。

  9. 在您的 Windows 伺服器上開啟 Services (服務),然後選擇 Amazon CloudWatch 代理程式內容以設定 CloudWatch 代理程式服務啟動。
    Properties (屬性) 中,選取 Startup type (啟動類型) 下拉式清單,然後選擇 Automatic (Delayed Start) (自動 (延遲啟動))。
    **注意:**Automatic (Delayed Start) (自動 (延遲啟動)) 啟動類型會在 SSM Agent 服務之後自動啟動 CloudWatch 代理程式服務。

相關資訊

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

如何安裝和設定整合 CloudWatch 代理程式,以將指標和日誌從 EC2 執行個體傳送到 CloudWatch?

AWS 官方已更新 8 個月前