先决条件
首次安装 CloudWatch 代理之前须满足以下先决条件。
用于 CloudWatch 代理的 IAM 角色和用户
要访问 Amazon 资源,需要具有相应的权限。您创建 IAM 角色和/或 IAM 用户,以授予 CloudWatch 代理将指标写入 CloudWatch 所需的权限。
为 Amazon EC2 实例创建 IAM 角色
如果打算在 Amazon EC2 实例上运行 CloudWatch 代理,请创建具有必要权限的 IAM 角色。
-
登录 Amazon 管理控制台,并通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中选择角色,然后选择创建角色。
-
确保在 Trusted entity type(受信任实体的类型)下选择了 Amazon service(服务)。
-
对于使用案例,在常见使用案例下选择 EC2。
-
选择下一步。
-
在策略列表中,选中 CloudWatchAgentServerPolicy 旁边的复选框。如有必要,请使用搜索框查找该策略。
-
选择下一步。
-
在角色名称中,输入角色的名称,例如
CloudWatchAgentServerRole
。(可选)为其指定说明。然后选择创建角色。
(可选)如果代理将向 CloudWatch Logs 发送日志,并且您想要代理能够为这些日志组设置保留策略,则需要将 logs:PutRetentionPolicy
权限添加到角色。
为本地服务器创建 IAM 用户
如果打算在本地部署服务器上运行 CloudWatch 代理,请创建具有必要权限的 IAM 用户。
注意
此场景需要 IAM 用户具有编程访问权限和长期凭证,这会带来安全风险。为帮助减轻这种风险,我们建议仅向这些用户提供执行任务所需的权限,并在不再需要这些用户时将其移除。
-
登录 Amazon 管理控制台,并通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中选择用户,然后选择添加用户。
-
为新用户输入用户名。
-
选择 Access key - Programmatic access(访问密钥 - 编程访问),然后选择 Next: Permissions(下一步: 权限)。
-
选择直接附上现有策略。
-
在策略列表中,选中 CloudWatchAgentServerPolicy 旁边的复选框。如有必要,请使用搜索框查找该策略。
-
选择下一步:标签。
-
可以选择为新 IAM 用户创建标签,然后选择 下一步:审核。
-
确认列出了正确的策略,然后选择 Create user(创建用户)。
-
在新用户的名称旁边,选择显示。将访问密钥和私有密钥复制到一个文件以便在安装该代理时使用。选择关闭。
将 IAM 角色附加到 Amazon EC2 实例
要使 CloudWatch 代理能够从 Amazon EC2 实例发送数据,必须将 IAM 角色附加到该实例。
有关将 IAM 角色附加到实例的更多信息,请参阅《Amazon EC2 用户指南》中的将 IAM 角色附加到实例。
允许 CloudWatch 代理设置日志保留策略
您可以配置 CloudWatch 代理,以便为接收其发送的日志事件的日志组设置保留策略。如果您这样做,您必须向代理使用的 IAM 角色或用户授予 logs:PutRetentionPolicy
。代理使用 IAM 角色在 Amazon EC2 实例上运行,使用本地部署服务器的 IAM 用户。
向 CloudWatch 代理的 IAM 角色授予设置日志保留策略的权限
登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在左侧导航窗格中,选择 Roles(角色)。
-
在搜索框中,键入 CloudWatch 代理的 IAM 角色名称的开头部分。您在创建角色时选择了此名称。其可能被命名为
CloudWatchAgentServerRole
。当您看到角色时,选择角色的名称。
-
在 Permissions(权限)选项卡中,依次选择 Add permissions(添加权限)和 Create inline policy(创建内联策略)。
-
选择 JSON 选项卡并将以下策略复制到框中,替换框中默认的 JSON:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "logs:PutRetentionPolicy", "Resource": "*" } ] }
-
选择查看策略。
-
对于 Name(名称),输入
CloudWatchAgentPutLogsRetention
或类似内容,然后选择 Create policy(创建策略)。
向 CloudWatch 代理的 IAM 用户授予设置日志保留策略的权限
登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在左侧导航窗格中,选择 用户。
-
在搜索框中,键入 CloudWatch 代理的 IAM 用户名称的开头部分。您在创建用户时选择了此名称。
当您看到用户时,选择用户的名称。
-
在权限选项卡中,选择 添加内联策略。
-
选择 JSON 选项卡并将以下策略复制到框中,替换框中默认的 JSON:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "logs:PutRetentionPolicy", "Resource": "*" } ] }
-
选择查看策略。
-
对于 Name(名称),输入
CloudWatchAgentPutLogsRetention
或类似内容,然后选择 Create policy(创建策略)。
网络要求
注意
服务器位于公有子网中时,确保能访问互联网网关。服务器位于私有子网中时,确保能通过 NAT 网关或 VPC 端点进行访问。有关 NAT 网关的更多信息,请参阅 https://docs.amazonaws.cn/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 端点加入白名单。这些端点列于 Amazon Systems Manager endpoints and quotas 中。