Amazon EC2 Systems Manager
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

关于 Systems Manager Inventory

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

注意

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

相关 AWS 服务

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

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

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