Amazon EC2 Systems Manager
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

关于 Systems Manager Inventory

当您配置 Systems Manager Inventory 时,您可以指定要收集的元数据类型、应从中收集元数据的实例以及元数据收集的计划。这些配置将与您的 AWS 账户一起作为 状态管理器 关联内容保存。

注意

Inventory 仅收集元数据。它不收集任何个人数据或专有数据。

下表介绍了您要配置的 Inventory 收集的不同方面。

配置 详细信息

收集的信息类型

您将指定 Inventory 从托管实例中收集的元数据类型。您可以配置清单以收集以下类型的元数据:

  • 实例详细信息:系统名称、操作系统名称、操作系统版本、最后一次启动、DNS、域、工作组和操作系统架构等。

  • 网络配置详细:IP 地址、MAC 地址、DNS、网关和子网掩码。

  • 应用程序详细信息:应用程序名称、发布者和版本。

  • AWS 组件详细信息:EC2 驱动程序、代理和版本。

  • Windows Server 更新记录。

  • 自定义清单的详细信息。自定义清单在下文详细介绍。

从中收集信息的实例

您可以逐个选择实例或使用 Amazon EC2 标签将实例组设为目标。

何时收集信息

您可以指定几分钟、几小时、几天和几周的收集间隔。最短收集间隔为 30 分钟。

根据所收集的数据量,系统可能需要几分钟将数据报告到您指定的输出中。收集信息后,元数据会通过安全 HTTPS 通道发送到一个只能从您的 AWS 账户访问的纯文本 AWS 存储。您可以在指定的 Amazon S3 存储桶中查看数据,或在托管实例的清单选项卡上的 Amazon EC2 控制台上中查看数据。Inventory 选项卡带有若干预定义的筛选器,可以帮助您查询数据。

要开始在托管实例上收集清单,请参阅配置清单收集使用 AWS CLI 收集清单

使用自定义清单

您可以通过创建自定义清单将所需的任何元数据分配给您的实例。例如,假如您负责管理数据中心多个机架中的大量服务器,而且这些服务器已配置为 Systems Manager 托管实例。目前,您在电子表格中存储服务器机架位置的相关信息。借助自定义清单,您可以指定每个实例的机架位置作为实例上的元数据。当您使用 Systems Manager 收集清单时,该元数据与其他清单元数据一起收集。随后您可以使用资源数据同步将所有清单元数据传输到中央 Amazon S3 存储桶并查询数据。

要将自定义清单分配给实例,可以使用 Systems Manager PutInventory API 操作,如 将自定义清单元数据分配给某个实例 中所述。或者,您可以创建自定义清单 JSON 文件并将其上传到实例。本部分描述了如何创建 JSON 文件。

Copy
{ "SchemaVersion": "1.0", "TypeName": "Custom:RackInformation", "Content": { "Location": "US-EAST-01.DC.RACK1", "InstalledTime": "2016-01-01T01:01:01Z", "vendor": "DELL", "Zone" : "BJS12", "TimeZone": "UTC-8" } }

如下例所示,您在文件中还可以指定多个项目。

Copy
{ "SchemaVersion": "1.0", "TypeName": "Custom:PuppetModuleInfo", "Content": [{ "Name": "puppetlabs/aws", "Version": "1.0" }, { "Name": "puppetlabs/dsc", "Version": "2.0" } ] }

自定义清单的 JSON 架构需要 SchemaVersion、TypeName 和 Content 部分,但您可以定义这些部分的信息。

Copy
{ "SchemaVersion": "user_defined", "TypeName": "Custom:user_defined", "Content": { "user_defined_attribute1": "user_defined_value1", "user_defined_attribute2": "user_defined_value2", "user_defined_attribute3": "user_defined_value3", "user_defined_attribute4": "user_defined_value4" } }

TypeName 最长为 100 个字符。此外,TypeName 部分必须以 Custom 开头。例如,Custom:PuppetModuleInfo。Custom 和您指定的数据必须以一个大写字母开头。以下示例可能会引起异常:“CUSTOM:RackInformation”、“custom:rackinformation”。

Content 部分包括属性和数据。这些项目不区分大小写。但是,如果您定义了属性 (例如“Vendor”: “DELL”),在自定义清单文件中必须一致地引用此属性。如果您在一个文件中指定“Vendor”: “DELL”(vendor 使用大写字母“V”),在另一个文件中指定“vendor”: “DELL”(vendor 使用小写字母“v”),系统会返回错误。

注意

您必须使用 .json 扩展名保存文件。

创建文件之后,您必须在实例上保存文件。下表说明了自定义清单 JSON 文件必须存储在实例中的哪个位置:

操作系统 路径

Windows

%SystemDrive%\ProgramData\Amazon\SSM\InstanceData\<instance-id>\inventory\custom

Linux

/var/lib/amazon/ssm/<instance-id>/inventory/custom

有关如何使用自定义清单的示例,请参阅使用 EC2 Systems Manager 自定义清单类型获取队列的磁盘利用率

相关 AWS 服务

Systems Manager Inventory 可以提供您当前清单的快照,以便帮助您管理软件策略并改善整个队列的安全状况。您可以使用以下 AWS 服务来扩展清单管理和迁移功能。

  • AWS Config 可以提供清单的更改历史记录,并支持创建规则,用于在配置项更改时生成通知。有关更多信息,请参阅 AWS Config Developer Guide中的记录 Amazon EC2 托管实例清单

  • AWS Application Discovery Service 旨在从您的本地 VM 中收集有关操作系统类型、应用程序清单、流程、连接和服务器性能指标的清单,以便支持成功迁移到 AWS。有关更多信息,请参阅Application Discovery Service User Guide