AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

配置清单收集

本部分介绍了如何使用 Systems Manager 控制台在一个或多个托管实例上配置清单收集。有关如何通过使用 AWS CLI 来配置清单收集的示例,请参阅 Systems Manager Inventory 演练

配置清单收集时,首先创建 Systems Manager 状态管理器 关联。Systems Manager 会在关联运行时收集清单数据。如果您不先创建关联,并试图使用 Run Command 等调用 aws:softwareInventory 插件,则系统会返回以下错误:

The aws:softwareInventory plugin can only be invoked via ssm-associate.

还要注意,一个实例一次只能配置一个 Inventory 关联。如果您为实例配置了两个或更多关联,则 Inventory 关联不会运行,而且系统不会收集清单数据。

开始前的准备工作

配置清单收集前,请完成以下任务。

  • 更新需要清点的实例上的 SSM 代理。通过运行最新版本的 SSM 代理,可确保您能够收集所有支持的清单类型的元数据。有关如何使用 状态管理器 更新 SSM 代理 的信息,请参阅自动更新 SSM 代理 (CLI)

  • 验证您的实例是否满足 Systems Manager 先决条件。有关更多信息,请参阅Systems Manager 先决条件

  • (可选)创建资源数据同步以将 Inventory 数据集中存储在 Amazon S3 存储桶中。收集新的清单数据后,资源数据同步自动更新集中式数据。有关更多信息,请参阅 配置清单的资源数据同步

  • (可选) 创建用于收集自定义清单的 JSON 文件。有关更多信息,请参阅 使用自定义清单

创建 AWS 账户中所有托管实例的清单

您可以通过创建全局清单关联,轻松创建您的 AWS 账户中所有托管实例的清单。全局清单关联执行以下操作:

  • 自动将全局清单配置 (关联) 应用到您的 AWS 账户中的所有现有托管实例。应用和运行全局清单关联时,将跳过已具有清单关联的实例。跳过某个实例时,详细状态消息将说明 Overridden By Explicit Inventory Association。全局关联跳过了这些实例,但在它们运行所分配的清单关联时,仍会报告清单。

  • 将在您的 AWS 账户中创建的新实例自动添加到全局清单关联。

注意

  • 如果为全局清单关联配置了某个实例,并且您将特定关联分配到该实例,则 Systems Manager Inventory 会降低全局关联的优先级并应用该特定关联。

  • 全局清单关联在 SSM 代理版本 2.0.790.0 或更高版本中可用。有关如何在实例上更新 SSM 代理 的信息,请参阅使用 Run Command 更新 SSM 代理

一键式配置清单收集(控制台)

使用以下过程,从 Systems Manager 控制台一键式配置您的 AWS 账户和 Inventory 的单个 AWS 区域中的所有托管实例。

配置 Systems Manager Inventory 的当前区域中的所有托管实例

  1. 通过以下网址打开 AWS Systems Manager 控制台:https://console.amazonaws.cn/systems-manager/

  2. 在导航窗格中,选择清单

    -或者-

    如果 AWS Systems Manager 主页首先打开,请选择菜单图标 ( ) 以打开导航窗格,然后在导航窗格中选择清单

  3. Managed instances with inventory enabled (启用了清单的托管实例) 卡上,选择 Click here to enable inventory on all instances (单击此处在所有实例上启用清单)

    
                                在当前 AWS 账户和区域中的所有实例上启用 Systems Manager Inventory。

    如果成功,控制台会显示以下消息。

    
                                在当前 AWS 账户和区域中的所有实例上启用 Systems Manager Inventory。

    根据您账户中的托管实例的数量,可能需要几分钟才能应用全局库存关联。等待几分钟,然后刷新页面。验证图形更改是否反映在所有托管实例上配置了清单。

使用控制台配置收集

本节包含有关如何通过使用 Systems Manager 控制台将 Systems Manager Inventory 配置为收集托管实例中的元数据的信息。您可以快速收集某特定 AWS 账户中所有实例(以及可能在该账户中创建的任何未来实例)中的元数据,也可以选择通过使用标签或实例 ID 收集清单数据。

配置清单收集

  1. 通过以下网址打开 AWS Systems Manager 控制台:https://console.amazonaws.cn/systems-manager/

  2. 在导航窗格中,选择清单

    -或者-

    如果 AWS Systems Manager 主页首先打开,请选择菜单图标 ( ) 以打开导航窗格,然后在导航窗格中选择清单

  3. 选择设置清单

  4. 目标部分中,通过选择以下选项之一来标识您要运行此操作的实例。

    • Selecting all managed instances in this account (选择此账户中的所有托管实例) – 此选项选择没有现有清单关联的所有托管实例。如果您选择此选项,则在清单收集期间将跳过所有已有清单关联的实例,然后在清单结果中显示状态为已跳过。有关更多信息,请参阅创建 AWS 账户中所有托管实例的清单

    • 指定标签 – 此选项可让您指定单个标签,用于标识您的账户中要收集其清单的实例。如果使用标签,则将来使用相同标签创建的所有实例也将报告清单。如果现有清单关联到所有实例,可以针对 All managed instances (所有托管实例) 目标组中的不同清单覆盖实例成员资格,使用标签选择特定实例作为目标。未来通过 All managed instances (所有托管实例) 选项进行清单收集的时候,将跳过具有指定标签的实例。

    • 手动选择实例 – 此选项可让您选择账户中的特定托管实例。使用此选项明确选择特定实例将覆盖 All managed instances (所有托管实例) 目标上的清单关联。未来通过 All managed instances (所有托管实例) 进行清单收集的时候,将跳过该实例。

  5. 计划部分中,选择您希望系统从实例中收集清单元数据的频率。

  6. Parameters 部分,使用列表启用或禁用不同类型的清单收集。如果要针对文件Windows 注册表创建清单搜索,请参阅以下示例。

    文件

    • 在 Linux 上,会收集 /home/ec2-user 目录 (不包括所有子目录) 中的 .sh 文件中的元数据。

      [{"Path":"/home/ec2-user","Pattern":["*.sh", "*.sh"],"Recursive":false}]
    • 在 Windows 上,会以递归方式收集程序文件夹 (包括子目录) 中的所有“.exe”文件的元数据。

      [{"Path":"C:\Program Files","Pattern":["*.exe"],"Recursive":true}]
    • 在 Windows 上,会收集指定日志模式的元数据。

      [{"Path":"C:\ProgramData\Amazon","Pattern":["*amazon*.log"],"Recursive":true}]
    • 在执行递归集合时会限制目录计数。

      [{"Path":"C:\Users","Pattern":["*.ps1"],"Recursive":true, "DirScanLimit": 1000}]

    Windows 注册表

    • 以递归方式针对特定路径收集所有键和值。

      [{"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Amazon","Recursive": true}]
    • 针对特定路径收集所有键和值 (禁用递归搜索)。

      [{"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Intel\PSIS\PSIS_DECODER", "Recursive": false}]
    • 使用 ValueNames 选项收集特定键。

      {"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\MachineImage","ValueNames":["AMIName"]}

    有关收集文件和 Windows 注册表清单的更多信息,请参阅使用文件和 Windows 注册表清单

  7. 如果需要在 Amazon S3 存储桶中存储关联执行状态,请在 Advanced (部分) 部分中选择 Sync inventory execution logs to an S3 bucket (将清单执行日志同步到 S3 存储桶)

  8. 选择 Setup Inventory (设置清单)。Systems Manager 创建一个 状态管理器 关联并立即在实例上运行 Inventory。

  9. 在导航窗格中,选择 状态管理器。验证是否使用 AWS-GatherSoftwareInventory 文档创建了新的关联。此外,确认 Status 字段显示 Success。如果选择 Sync inventory execution logs to an S3 bucket (将清单执行日志同步到 S3 存储桶) 选项,则过几分钟后,可以在 Amazon S3 中查看日志数据。要查看特定实例的清单数据,请在导航窗格中选择 Managed Instances

  10. 选择一个实例,然后选择 View details

  11. 在实例详细信息页面上,选择 Inventory。使用 Inventory type 列表筛选清单。