将 CloudWatch 和 CloudWatch Synthetics 与接口 VPC 终端节点结合使用 - Amazon CloudWatch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

将 CloudWatch 和 CloudWatch Synthetics 与接口 VPC 终端节点结合使用

如果使用 Amazon Virtual Private Cloud (Amazon VPC) 托管 AWS 资源,则可以在 VPC、CloudWatch 和 CloudWatch Synthetics 之间建立私有连接。您可以使用此连接实现 CloudWatch 和 CloudWatch Synthetics 与您的 VPC 上的资源的通信而不用访问公共 Internet。

Amazon VPC 是一项 AWS 服务,可用来启动在虚拟网络中定义的 AWS 资源。借助 VPC,您可以控制您的网络设置,如 IP 地址范围、子网、路由表和网络网关。要将您的 VPC 连接到 CloudWatch 或 CloudWatch Synthetics,您需要定义一个接口 VPC 终端节点 以将您的 VPC 连接到 AWS 服务。该终端节点提供了到 CloudWatch 或 CloudWatch Synthetics 的可靠、可扩展的连接,无需互联网网关、网络地址转换 (NAT) 实例或 VPN 连接。有关更多信息,请参阅 Amazon VPC 用户指南 中的什么是 Amazon VPC

接口 VPC 终端节点由 AWS PrivateLink 提供支持,后者是一种 AWS 技术,可将弹性网络接口与私有 IP 地址结合使用来支持 AWS 服务之间的私有通信。有关更多信息,请参阅新增 – 适用于 AWS 服务的 AWS PrivateLink 博客文章。

以下步骤适用于 Amazon VPC 的用户。有关更多信息,请参阅 Amazon VPC 用户指南 中的入门

CloudWatch VPC 终端节点

CloudWatch 当前在以下 AWS 区域中支持 VPC 终端节点:

  • 美国东部(俄亥俄州)

  • 美国东部(弗吉尼亚北部)

  • 美国西部(加利福尼亚北部)

  • 美国西部(俄勒冈)

  • 亚太地区(香港)

  • 亚太地区(孟买)

  • 亚太区域(首尔)

  • 亚太区域(新加坡)

  • 亚太区域(悉尼)

  • 亚太区域(东京)

  • 加拿大 (中部)

  • 欧洲(法兰克福)

  • 欧洲(爱尔兰)

  • 欧洲(伦敦)

  • 欧洲(巴黎)

  • 南美洲(圣保罗)

  • AWS GovCloud(美国东部)

  • AWS GovCloud (US-West)

为 CloudWatch 创建 VPC 终端节点

要开始将 CloudWatch 与 VPC 一起使用,请为 CloudWatch 创建接口 VPC 终端节点。要选择的服务名称为 com.amazonaws.region.monitoring。有关更多信息,请参阅 Amazon VPC 用户指南 中的创建接口终端节点

您不需要更改 CloudWatch 的设置。CloudWatch 使用公有终端节点或私有接口 VPC 终端节点(二者中在使用中的那个)调用其他 AWS 服务。例如,如果为 CloudWatch 创建接口 VPC 终端节点,并且您已拥有从位于 VPC 上的资源流向 CloudWatch 的指标,默认情况下,这些指标将开始流过接口 VPC 终端节点。

控制对 CloudWatch VPC 终端节点的访问

VPC 终端节点策略是一种 IAM 资源策略,该策略在您创建或修改终端节点时可附加到该终端节点。如果您在创建终端节点时未附加策略,Amazon VPC 会为您附加一个默认策略,该策略允许对服务的完全访问。终端节点策略不会覆盖或替换 IAM 用户策略或服务特定的策略。这是一个单独的策略,用于控制从终端节点中对指定服务进行的访问。

终端节点策略必须采用 JSON 格式编写。

有关更多信息,请参阅 Amazon VPC 用户指南 中的使用 VPC 终端节点控制对服务的访问

以下是 CloudWatch 的终端节点策略示例。该策略允许通过 VPC 连接到 CloudWatch 的用户将指标数据发送到 CloudWatch,并禁止他们执行其他 CloudWatch 操作。

{ "Statement": [ { "Sid": "PutOnly", "Principal": "*", "Action": [ "cloudwatch:PutMetricData" ], "Effect": "Allow", "Resource": "*" } ] }

编辑 CloudWatch 的 VPC 终端节点策略

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择终端节点

  3. 如果还没有为 CloudWatch 创建终端节点,请选择 Create Endpoint (创建终端节点)。接下来,选择 com.amazonaws.region.monitoring,然后选择 Create Endpoint (创建终端节点)

  4. 选择 com.amazonaws.region.monitoring 终端节点,然后选择 Policy (策略) 选项卡。

  5. 选择 Edit Policy (编辑策略),然后进行更改。

CloudWatch Synthetics VPC 终端节点

CloudWatch Synthetics 目前在以下 AWS 区域中支持 VPC 终端节点:

  • 美国东部(俄亥俄州)

  • 美国东部(弗吉尼亚北部)

  • 美国西部(加利福尼亚北部)

  • 美国西部(俄勒冈)

  • 亚太地区(香港)

  • 亚太地区(孟买)

  • 亚太区域(首尔)

  • 亚太区域(新加坡)

  • 亚太区域(悉尼)

  • 亚太区域(东京)

  • 加拿大 (中部)

  • 欧洲(法兰克福)

  • 欧洲(爱尔兰)

  • 欧洲(伦敦)

  • 欧洲(巴黎)

  • 南美洲(圣保罗)

为 CloudWatch Synthetics 创建 VPC 终端节点

要开始将 CloudWatch Synthetics 与您的 VPC 结合使用,请为 CloudWatch Synthetics 创建一个接口 VPC 终端节点。要选择的服务名称为 com.amazonaws.region.synthetics。有关更多信息,请参阅 Amazon VPC 用户指南 中的创建接口终端节点

您不需要更改 CloudWatch Synthetics 的设置。CloudWatch Synthetics 使用公有终端节点或私有接口 VPC 终端节点(二者中在使用的那个)与其他 AWS 服务通信。例如,如果您为 CloudWatch Synthetics 创建了接口 VPC 终端节点,并且您已有 Amazon S3 的接口终端节点,则默认情况下,CloudWatch Synthetics 通过接口 VPC 终端节点开始与 Amazon S3 通信。

控制对您的 CloudWatch Synthetics VPC 终端节点的访问

VPC 终端节点策略是一种 IAM 资源策略,该策略在您创建或修改终端节点时可附加到该终端节点。如果在创建终端节点时未附加策略,我们将为您附加默认策略以允许对服务进行完全访问。终端节点策略不会覆盖或替换 IAM 用户策略或服务特定的策略。这是一个单独的策略,用于控制从终端节点中对指定服务进行的访问。

终端节点策略必须采用 JSON 格式编写。

有关更多信息,请参阅 Amazon VPC 用户指南 中的使用 VPC 终端节点控制对服务的访问

以下是 CloudWatch Synthetics 的终端节点策略示例。此策略允许通过 VPC 连接到 CloudWatch Synthetics 的用户查看有关 Canary 及其运行的信息,但不能创建、修改或删除 Canary。

{ "Statement": [ { "Action": [ "synthetics:DescribeCanaries", "synthetics:GetCanaryRuns" ], "Effect": "Allow", "Resource": "*", "Principal": "*" } ] }

编辑 CloudWatch Synthetics 的 VPC 终端节点策略

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择终端节点

  3. 如果还没有为 CloudWatch Synthetics 创建终端节点,请选择 Create Endpoint (创建终端节点)。选择 com.amazonaws.region.synthetics,然后选择 Create endpoint (创建终端节点)

  4. 选择 com.amazonaws.region.synthetics 终端节点,然后选择 Policy (策略) 选项卡。

  5. 选择 Edit Policy (编辑策略),然后进行更改。