跳至内容

如何将本地服务器配置为通过 SSM Agent 和统一的 CloudWatch 代理使用临时凭证?

2 分钟阅读
0

我有一个混合环境,本地服务器使用 AWS Systems Manager Agent (SSM Agent) 和统一的 Amazon CloudWatch 代理。我想将我的本地服务器配置为仅使用临时凭证。

解决方案

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

统一的 CloudWatch 代理使用配置文件中指定的 AWS Identity and Access Management (IAM) 凭证进行性能监控和管理。但是,为了增强安全性,代理可能会轮换凭证,而不是将其存储在本地文件中。SSM 代理允许您的本地主机代入 IAM 角色,CloudWatch 代理使用此角色向 CloudWatch 发布指标和日志。

将您的本地服务器配置为仅使用临时凭证

完成以下步骤:

  1. 将您的本地主机与 AWS System 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 代理生成的凭证。有关说明,请参阅修改 CloudWatch 代理的常用配置和命名配置文件
    **注意:**SSM 代理每 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 代理引用的 shared_credential_file 凭证文件中配置您的 AWS 区域:

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

    **注意:**请将 eu-west-1 替换为您的区域。

  8. 对于 Linux 主机,请配置 CloudWatch 代理的权限,以允许统一的 CloudWatch 代理读取 SSM 代理凭证文件。默认情况下,统一的 CloudWatch 代理以用户身份运行。如果您使用 run_as_user 参数将 CloudWatch 代理配置为以非特权用户身份运行,请授予该用户访问凭证文件的权限。有关说明,请参阅以其他用户身份运行 CloudWatch 代理
    **重要事项:**对于 Windows 主机,请跳过此步骤。两个代理都以 SYSTEM 用户身份运行。

  9. 在 Windows 服务器上打开 Services(服务),然后选择 Amazon CloudWatch Agent Properties(Amazon CloudWatch 代理属性)以配置 CloudWatch 代理服务启动。
    Properties(属性)中,选择 Startup type(启动类型)下拉列表,然后选择 Automatic (Delayed Start)(自动(延迟启动))。
    注意:****Automatic (Delayed Start)(自动(延迟启动))启动类型在 SSM 代理服务之后自动启动 CloudWatch 代理服务。

相关信息

在本地服务器上下载 CloudWatch 代理

如何安装和配置统一的 CloudWatch 代理,以将指标和日志从 EC2 实例发送到 CloudWatch?

AWS 官方已更新 5 个月前