跳至内容

为什么 Amazon Inspector 不扫描我的 Amazon EC2 实例?

2 分钟阅读
0

我启用了 Amazon Inspector,但它没有扫描我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。Amazon Inspector 控制面板上的状态显示为“EC2 实例已停止”、“非托管 EC2 实例”、“不支持的操作系统”、“内部错误”、“等待初始扫描”或“无清单”。

简短描述

由于以下原因,Amazon Inspector 可能无法扫描您的 EC2 实例:

  • AWS Systems Manager Agent (SSM Agent) 不是最新版本。
  • EC2 实例未处于 Running(正在运行)状态。
  • 操作系统 (OS) 不兼容。
  • 您的实例未连接到 AWS Systems Manager。
  • Amazon Inspector 未与 Systems Manager 关联。

您可以使用 Amazon Inspector 控制面板来监控您的实例的状态。有关详细信息,请参阅使用 Amazon Inspector 扫描 Amazon EC2 实例

解决方法

更新 SSM Agent 版本

要扫描实例,SSM Agent 必须在 Amazon Inspector 上运行。如果您使用的是较早版本的 SSM Agent,则最佳做法是对其进行更新。另一种最佳做法是将 Systems manager 配置为自动更新 SSM Agent

要手动更新 SSM Agent,请订阅 SSM Agent 通知。然后,使用 Run 命令更新 SSM Agent。您也可以在 GitHub 网站上订阅 SSM Agent 发行说明

重启实例

您会看到 EC2 instance stopped(EC2 实例已停止)状态,因为实例已停止,所以 Amazon Inspector 暂停了扫描。当 EC2 实例停止时,Amazon Inspector 会保留之前的扫描结果。要重新开始扫描,请重启 EC2 实例

Amazon Inspector 会根据您在 Systems Manager 关联中设置的时间间隔进行扫描。您可以修改 Linux 实例Windows 实例的扫描间隔。

检查 Amazon Inspector 是否支持操作系统

当实例使用 Amazon Inspector 不支持的操作系统 (OS) 或架构时,您会看到 Unsupported OS(不支持的操作系统)状态。

要检查您的 Linux 版本,请运行以下命令:

cat /etc/os-releaselsb_release -a
hostnamectl

对于 Windows,搜索 System Information(系统信息),然后打开。

要确定 Amazon Inspector 是否支持您的操作系统,请查看支持扫描实例的操作系统的列表。

确认您的实例已连接到 Systems Manager

如果您的实例未显示在 Systems Manager 控制台上,请运行 AWSSupport-TroubleshootManagedInstance 运行手册,以识别 Systems Manager 配置问题。有关详细信息,请参阅为什么 Systems Manager 没有将我的 Amazon EC2 实例显示为托管实例?

要检查您的实例与 Systems Manager 的连接,请完成以下步骤:

  1. 在 Amazon Inspector 和您的实例所在的同一 AWS 区域中,打开 Systems Manager 控制台
  2. 选择 Fleet Manager
  3. Managed nodes(托管节点)中,检查 SSM Agent ping status(SSM Agent Ping 状态)。如果状态为 Online(在线),则表明您的实例已连接到 SSM Agent。

如果 SSM Agent ping 状态为 Connection Lost(连接丢失),请确保您的实例满足 Systems Manager 的先决条件。如果您使用的是 SSM Agent 3.1.501.0 或更高版本,则可以运行 ssm-cli 命令行来确定问题并进行故障排除

检查 Amazon Inspector 是否与 Systems Manager 关联

要收集软件应用程序清单,Amazon Inspector 需要在您的 AWS 账户中与状态管理器(Systems Manager 的一项功能)建立关联。当 Amazon Inspector 找不到用于扫描实例的软件应用程序清单时,您会看到 No inventory(无清单)状态。

要检查 Amazon Inspector 与状态管理器是否关联,请完成以下步骤:

  1. 在 Amazon Inspector 和您的实例所在的同一区域中,打开 Systems Manager 控制台
  2. 选择 State Manager(状态管理器)。
  3. Associations(关联)中,验证 InspectorInventoryCollection-do-not-delete 关联是否存在,且 Status(状态)为 Success(成功)。
  4. 如果 InspectorInventoryCollection-do-not-delete 关联不存在,请在所有实例上运行 AWS-GatherSoftwareInventory SSM 文档。选择未扫描的实例的 Association id(关联 ID),然后选择 Execution history(执行历史记录)选项卡,以了解更多详细信息。
  5. 如果 InspectorInventoryCollection-do-not-delete 关联的 Status(状态)为 Failed(失败),请选择该 Association id(关联 ID)。然后,选择 Apply association now(立即应用关联)。
  6. 再次检查 InspectorInventoryCollection-do-not-delete 关联的 Status(状态),确认它已从 Failed(失败)更改为 Success(成功)。

适用于 Windows 的 Amazon Inspector SSM 插件会自动安装在您的 Windows 实例上。当您激活 EC2 扫描时,Amazon Inspector 会为您的 Windows 资源创建新的 SSM 关联。SSM 关联包括 InspectorDistributor-do-not-deleteInspectorInventoryCollection-do-not-deleteInvokeInspectorSsmPlugin-do-not-delete。如果关联的状态为 Failed(失败),请重新应用关联。如果 InspectorSsmPlugin.exe 文件不存在,则 InspectorDistributor-do-not-delete SSM 关联会在下次 Windows 扫描时自动重新安装该插件。有关详细信息,请参阅使用 Amazon Inspector 扫描 Amazon EC2 实例

验证节点是否存在于软件应用程序中

完成以下步骤:

  1. 在 Amazon Inspector 和您的实例所在的同一区域中,打开 Systems Manager 控制台
  2. 选择 Fleet Manager
  3. Managed nodes(托管节点)中,选择您的 Node ID(节点 ID)。然后,选择 Inventory(清单)选项卡,以查看实例清单中的软件应用程序。

最佳做法是将清单收集频率设置为每 30 分钟收集一次。要优化清单收集,请编辑 InspectorInventoryCollection-do-not-delete 关联,然后将 cron 表达式设置为每 30 分钟运行一次

相关信息

评估您的 AWS 环境的 Amazon Inspector 覆盖范围

如何设置 Amazon Inspector Classic 以对 Amazon EC2 实例运行安全评估?

AWS 官方已更新 7 个月前