View a markdown version of this page

ECS-EC2 Bottlerocket 的运行时覆盖范围和故障排除 - 亚马逊 GuardDuty
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

ECS-EC2 Bottlerocket 的运行时覆盖范围和故障排除

对于亚马逊 ECS 集群中的 Bottlerocket Amazon EC2 实例,将在实例 GuardDuty 级别评估运行时覆盖率。 GuardDuty 安全代理在 Bottlerocket 上作为主机容器运行,而不是作为已安装的 RPM 或 Debian 软件包运行。

Bottlerocket 亚马逊 EC2 实例显示在 EC2 实例运行时覆盖范围选项卡下。要查看 Bottlerocket 实例的覆盖率统计信息,请打开 GuardDuty 控制台,在导航窗格中选择运行时监控,然后选择运行时覆盖率选项卡。 EC2 实例运行时覆盖范围下,您可以查看每个实例的覆盖范围状态,并按账户 ID、代理版本或覆盖范围状态进行筛选。有关更多信息,请参阅 查看覆盖率统计数据

排除 BottleRocket 运行 ECS-EC2 时覆盖率问题

如果您的 Bottlerocket Amazon EC2 实例的承保状态为 “不正常”,您可以在 “问题” 列下查看原因。

下表列举了问题类型和相应的故障排除步骤。

问题类型 问题消息 故障排除步骤

无代理报告

正在等待 SSM 通知

接收 SSM 通知可能需要几分钟。

确保您的 Bottlerocket 实例由 SSM 管理。默认情况下,SSM 代理在 Bottlerocket 控制容器中运行。验证实例配置文件是否包含AmazonSSMManagedInstanceCoreAmazonEC2ContainerRegistryReadOnly托管策略。

无代理报告

不适用

验证代理主机容器是否已启用并正在运行:

  1. 使用 SSM 会话管理器连接到您的实例。

  2. 进入管理容器:enter-admin-container

  3. 验证设置:apiclient get settings.host-containers.amazon-guardduty-agent. 确认enabledtruesuperpoweredtrue

  4. 检查代理进程是否正在运行:sheltie ps aux | grep guardduty

  5. 使用以下方法之一检查代理日志:

    • sheltie journalctl -u host-containers@amazon-guardduty-agent

    • 来自谢尔蒂会议 (sudo sheltie):ls /var/log/amzn-guardduty-agent/.

无代理报告

不适用

验证该实例是否具有与 Amazon ECR 终端节点和 GuardDuty VPC 终端节点的网络连接。如果您的实例在私有子网中运行,请确保您已为 Amazon ECR 和 GuardDuty VPC 终端节点配置了。

无代理报告

不适用

如果您的组织有服务控制策略 (SCP),请确认权限边界允许该guardduty:SendSecurityTelemetry权限。

创建 SSM 关联失败

GuardDuty 您的账户中已经存在 SSM 关联。

  1. 手动删除现有的关联。有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的删除关联

  2. 删除关联后,禁用并重新启用 Amazon EC2 的 GuardDuty 自动代理配置。

创建 SSM 关联失败

您的账户有太多的 SSM 关联。

请选择以下两个选项之一

  • 删除任何未使用的 SSM 关联。有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的删除关联

  • 检查您的账户是否有资格申请增加配额。有关信息,请参阅《Amazon Web Services 一般参考》中的 Systems Manager Service quotas

SSM 关联更新失败

GuardDuty 您的账户中不存在 SSM 关联。

GuardDuty 您的账户中没有 SSM 关联。禁用运行时监控,然后重新启用。

删除 SSM 关联失败

GuardDuty 您的账户中不存在 SSM 关联。

您的账户中不存在该 SSM 关联。如果 SSM 关联已被有意删除,则无需执行任何操作。

SSM 实例关联执行失败

不满足架构要求或其他先决条件。

有关经过验证的要求的信息,请参阅支持 ECS-EC2 Bottlerocket 的先决条件

如果您仍然遇到此问题,请查看 SSM 状态管理器的执行历史记录:

  1. 在处打开 Amazon Systems Manager 控制台https://console.aws.amazon.com/systems-manager/

  2. 在导航窗格中的节点管理下,选择状态管理器

  3. 文档名称属性筛选并输入 AmazonGuardDuty-ConfigureRuntimeMonitoringSsmPlugin

  4. 选择相应的关联 ID 并查看其执行历史记录

  5. 使用执行历史记录,查看失败的记录,确定可能的根本原因,然后尝试解决问题。

代理已断开连接

不适用

  • 检查管理容器中的代理日志:

    enter-admin-container sheltie journalctl -u host-containers@amazon-guardduty-agent
  • 通过检查主机容器设置中的source字段是否指向有效的 Amazon ECR URI,验证代理容器映像是否已成功提取。

  • 确保实例配置文件具有 Amazon ECR 提取权限。有关更多信息,请参阅 管理 EC2 实例 SSM 并配置实例权限

未预置代理

带有排除标签的实例将排除在运行时监控之外。

GuardDuty 不接收来自使用排除标签GuardDutyManaged:启动的 Amazon EC2 实例的运行时事件false

要接收来自该实例的运行时事件,请移除排除标签。

未预置代理

内核版本低于支持的版本。

更新到最新的 Bottlerocket ECS-2 或 ECS-3 经过优化的 AMI v1.62.1 或更高版本,以实现自动代理配置。

ECR 镜像提取失败

无法从 Amazon ECR 提取代理容器镜像。

  • 验证实例配置文件是否包含AmazonEC2ContainerRegistryReadOnly托管策略或所需的个人 Amazon ECR 权限。

  • 验证与您所在地区的 Amazon ECR 终端节点的网络连接。

  • 如果使用私有子网,请确保配置 VPC 终端节点。有关更多信息,请参阅 网络连接要求