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

2 分钟阅读
0

我有一个混合环境,已安装同时使用 AWS Systems Manager Agent(SSM Agent)和统一 Amazon CloudWatch Agent 的本地服务器。如何将我的本地服务器配置为仅使用临时凭证?

解决方法

**注意:**如果您在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请确保您使用的是最新版本的 AWS CLI

可将统一 CloudWatch Agent 安装到本地主机,以改善性能监控。您可以指定写入配置文件的 AWS Identity and Access Management(AWS IAM)凭证来实现此操作。

但是,对于某些应用场景,可能需要轮换使用未保存到本地文件的凭证,以提高安全性。

在这种更安全的部署场景中,SSM Agent 允许本地主机担任 IAM 角色。然后,可以将统一 CloudWatch Agent 配置为使用此 IAM 角色,向 CloudWatch 发布指标和日志。

要将您的本地服务器配置为仅使用临时凭证,请执行以下操作:

1.    将本地主机与 AWS System Manager 集成。

2.    将 AWS 托管式 IAM CloudWatchAgentServerPolicy 附加到混合环境的 IAM 服务角色。现在,统一 CloudWatch Agent 将有权向 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 Agent

6.     common-config.toml 文件更新为:

  • 指向 SSM Agent 生成的凭证
  • 设置代理配置(如果适用)

**注意:**SSM Agent 每 30 分钟刷新一次这些凭证。

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 Agent 指标将发布到的 AWS 区域。

8.    在第 5 步中 SSM Agent 引用的凭证文件中添加该区域。这对应于与 shared_credential_file 关联的文件。

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

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

9.    根据您的主机操作系统,您可能需要更新权限,才能允许统一 CloudWatch Agent 读取 SSM Agent 凭证文件。Windows 主机以系统用户身份运行这两种代理,无需进一步操作。

对于 Linux 主机,统一 CloudWatch Agent 默认以用户身份运行。使用 run_as_user 选项,可以将统一 CloudWatch Agent 配置为以非特权用户身份运行。使用此选项时,您必须授予统一 CloudWatch Agent 对凭证文件的访问权限。

10.    (仅限 Windows)将统一 CloudWatch Agent 服务的启动类型更改为 Automatic (Delayed)(自动 [延迟])。在启动期间,这将在 SSM Agent 服务之后启动统一 CloudWatch Agent 服务。


相关信息

为混合环境设置 AWS Systems Manager

在本地服务器上下载 CloudWatch Agent

安装与配置统一 CloudWatch Agent,以便从 EC2 实例将指标和日志推送到 CloudWatch

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