先决条件 - Amazon CloudWatch

先决条件

首次安装 CloudWatch 代理之前须满足以下先决条件。

用于 CloudWatch 代理的 IAM 角色和用户

要访问 AWS 资源,需要具有相应的权限。您创建 IAM 角色和/或 IAM 用户,以授予 CloudWatch 代理将指标写入 CloudWatch 所需的权限。

为 Amazon EC2 实例创建 IAM 角色

如果打算在 Amazon EC2 实例上运行 CloudWatch 代理,请创建具有必要权限的 IAM 角色。

  1. 登录 AWS 管理控制台,并通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中选择角色,然后选择创建角色

  3. 确保在 Trusted entity type(受信任实体的类型)下选择了 AWS service(服务)。

  4. 对于使用案例,在常见使用案例下选择 EC2

  5. 选择下一步

  6. 在策略列表中,选中 CloudWatchAgentServerPolicy 旁边的复选框。如有必要,请使用搜索框查找该策略。

  7. 选择下一步

  8. 角色名称中,输入角色的名称,例如 CloudWatchAgentServerRole。(可选)为其指定说明。然后选择创建角色

(可选)如果代理将向 CloudWatch Logs 发送日志,并且您想要代理能够为这些日志组设置保留策略,则需要将 logs:PutRetentionPolicy 权限添加到角色。

为本地服务器创建 IAM 用户

如果打算在本地部署服务器上运行 CloudWatch 代理,请创建具有必要权限的 IAM 用户。

注意

此场景需要 IAM 用户具有编程访问权限和长期凭证,这会带来安全风险。为帮助减轻这种风险,我们建议仅向这些用户提供执行任务所需的权限,并在不再需要这些用户时将其移除。

  1. 登录 AWS 管理控制台,并通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中选择用户,然后选择添加用户

  3. 为新用户输入用户名。

  4. 选择 Access key - Programmatic access(访问密钥 - 编程访问),然后选择 Next: Permissions(下一步: 权限)。

  5. 选择直接附上现有策略

  6. 在策略列表中,选中 CloudWatchAgentServerPolicy 旁边的复选框。如有必要,请使用搜索框查找该策略。

  7. 选择下一步:标签

  8. 可以选择为新 IAM 用户创建标签,然后选择 下一步:审核

  9. 确认列出了正确的策略,然后选择 Create user(创建用户)。

  10. 在新用户的名称旁边,选择显示。将访问密钥和私有密钥复制到一个文件以便在安装该代理时使用。选择关闭

将 IAM 角色附加到 Amazon EC2 实例

要使 CloudWatch 代理能够从 Amazon EC2 实例发送数据,必须将 IAM 角色附加到该实例。

有关将 IAM 角色附加到实例的更多信息,请参阅《Amazon Elastic Compute Cloud 用户指南》中的将 IAM 角色附加到实例

允许 CloudWatch 代理设置日志保留策略

您可以配置 CloudWatch 代理,以便为接收其发送的日志事件的日志组设置保留策略。如果您这样做,您必须向代理使用的 IAM 角色或用户授予 logs:PutRetentionPolicy。代理使用 IAM 角色在 Amazon EC2 实例上运行,使用本地部署服务器的 IAM 用户。

向 CloudWatch 代理的 IAM 角色授予设置日志保留策略的权限
  1. 登录 AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在左侧导航窗格中,选择 Roles(角色)

  3. 在搜索框中,键入 CloudWatch 代理的 IAM 角色名称的开头部分。您在创建角色时选择了此名称。其可能被命名为 CloudWatchAgentServerRole

    当您看到角色时,选择角色的名称。

  4. Permissions(权限)选项卡中,依次选择 Add permissions(添加权限)和 Create inline policy(创建内联策略)。

  5. 选择 JSON 选项卡并将以下策略复制到框中,替换框中默认的 JSON:

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "logs:PutRetentionPolicy", "Resource": "*" } ] }
  6. 选择查看策略

  7. 对于 Name(名称),输入 CloudWatchAgentPutLogsRetention 或类似内容,然后选择 Create policy(创建策略)。

向 CloudWatch 代理的 IAM 用户授予设置日志保留策略的权限
  1. 登录 AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在左侧导航窗格中,选择 用户

  3. 在搜索框中,键入 CloudWatch 代理的 IAM 用户名称的开头部分。您在创建用户时选择了此名称。

    当您看到用户时,选择用户的名称。

  4. 权限选项卡中,选择 添加内联策略

  5. 选择 JSON 选项卡并将以下策略复制到框中,替换框中默认的 JSON:

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "logs:PutRetentionPolicy", "Resource": "*" } ] }
  6. 选择查看策略

  7. 对于 Name(名称),输入 CloudWatchAgentPutLogsRetention 或类似内容,然后选择 Create policy(创建策略)。

网络要求

注意

服务器位于公有子网中时,确保能访问互联网网关。服务器位于私有子网中时,确保能通过 NAT 网关或 VPC 端点进行访问。有关 NAT 网关的更多信息,请参阅 https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html

您的 Amazon EC2 实例必须具有出站互联网访问权限,才能将数据发送到 CloudWatch 或 CloudWatch Logs。有关如何配置互联网访问权限的更多信息,请参阅《Amazon VPC 用户指南》中的互联网网关

使用 VPC 端点

如果使用的是 VPC,且想在没有公共互联网访问权限的情况下使用 CloudWatch 代理,则可为 CloudWatch 和 CloudWatch Logs 配置 VPC 端点。

要在您的代理上配置的终端节点和端口如下所示:

  • 如果要使用代理收集指标,则必须将相应区域的 CloudWatch 端点加入白名单。这些端点在 Amazon CloudWatch 端点和配额中列出。

  • 如果要使用代理收集日志,则必须将相应区域的 CloudWatch Logs 端点加入白名单。这些端点在 Amazon CloudWatch Logs 端点和配额中列出。

  • 如果使用 Systems Manager 安装代理或使用 Parameter Store 存储配置文件,您必须将相应区域的 Systems Manager 端点加入白名单。这些端点列于 AWS Systems Manager endpoints and quotas 中。