在 VPC 上运行 Canary - Amazon CloudWatch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在 VPC 上运行 Canary

您可以在 VPC 上的终端节点上,以及在内部公有终端节点上运行 Canary。要在 VPC 上运行 Canary,您必须在 VPC 上同时启用 DNS 解析DNS 主机名选项。有关更多信息,请参阅在您的 VPC 中使用 DNS

当您在 VPC 终端节点上运行 Canary 时,必须提供一种将其指标发送到 CloudWatch 并将其构件发送到 Amazon S3 的方法。如果 VPC 已启用 Internet 访问,则您无需再执行任何操作。Canary 将在您的 VPC 中执行,但可以访问 Internet 以上传其指标和构件。

如果 VPC 尚未启用互联网访问功能,您有两个选项:

VPC 上的 Canary 故障排除

如果您在创建或更新 Canary 后遇到问题,以下其中一部分可能会帮助您解决问题。

新的 Canary 处于错误状态或 Canary 无法更新

如果您创建要在 VPC 上运行的 Canary,并且它立即进入错误状态,或者您无法更新 Canary 以在 VPC 上运行,则 Canary 的角色可能没有正确的权限。要在 VPC 上运行,Canary 必须具有权限 ec2:CreateNetworkInterfaceec2:DescribeNetworkInterfaceec2:DeleteNetworkInterface。这些权限包含在 AWSLambdaVPCAccessExecutionRole 托管策略中。有关更多信息,请参阅执行角色和用户权限

如果在创建 Canary 时发生此问题,必须删除此 Canary,然后创建一个新的 Canary。如果您使用 CloudWatch 控制台创建新的 Canary,请在 Access Permissions (访问权限) 下选择 Create a new role (创建新角色)。此时将创建一个新角色,该角色包含运行 Canary 所需的全部权限。

如果在更新 Canary 时发生此问题,可以再次更新 Canary 并提供具有必要权限的新角色。

“未返回测试结果”错误

如果 Canary 显示“未返回测试结果”错误,以下问题之一可能是导致这个问题的原因:

  • 如果您的 VPC 没有互联网访问权限,必须使用 VPC 终端节点授予 Canary 对 CloudWatch 和 Amazon S3 的访问权限。您必须在 VPC 中启用 DNS 解析DNS 主机名选项,才能正确解析这些终端节点地址。有关更多信息,请参阅在您的 VPC 中使用 DNS

  • Canary 必须在 VPC 内的私有子网中运行。要检查是否存在此问题,请在 VPC 控制台中打开子网页面。检查您在配置 Canary 时选择的子网。如果它们具有通往互联网网关 (igw-) 的路径,则不是私有子网。

要帮助您解决这些问题,请参阅 Canary 日志。

要查看来自 Canary 的日志事件,请执行以下操作:

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Log groups (日志组)

  3. 选择 Canary 日志组的名称。日志组名称以 /aws/lambda/cwsyn-canary-name 开头。