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

配置清单收集

本部分介绍了如何使用 Amazon EC2 控制台在一个或多个托管实例上配置清单收集。本部分还介绍如何使用 Systems Manager 资源数据同步在单个 Amazon S3 存储桶中聚合多个 AWS 账户和区域的清单数据。有关如何使用 AWS CLI 来配置清单收集的示例,请参阅Systems Manager Inventory Manager 演练

在开始之前

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

配置收集

请按照以下流程通过 Amazon EC2 控制台来配置对托管实例的清单收集。

注意

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

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

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

配置清单收集

  1. 打开 Amazon EC2 控制台,在导航窗格中展开 Systems Manager Shared Resources,然后选择 Managed Instances

  2. 选择设置清单

  3. 如果您想使用 EC2 标签配置多个实例的清单,请在目标部分,选择 Specify a Tag。如果您想单独选择要配置清单的实例,请选择 Manually Select Instances

    注意

    如果使用标签,则将来使用相同标签创建的所有实例也将报告清单。

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

  5. Parameters 部分,使用列表启用或禁用不同类型的清单收集。

  6. 如果您想在 Amazon S3 存储桶中存储关联执行状态,请在 Advanced 部分选择 Write to S3

  7. 选择设置清单,然后选择确定

  8. 托管实例页面中,选择您刚刚配置清单的实例,然后选择描述选择卡。创建关联前,Association Status 显示为 Pending。如果状态显示 Failed,请验证您的实例上是否安装了最新版本的 SSM 代理。

  9. 在收集时间段过后,请选择一个托管实例,然后选择 Inventory 选项卡。

  10. 使用清单类型列表筛选不同类型的清单数据。

在配置清单收集后,我们建议您配置 Systems Manager 资源数据同步。资源数据同步将所有清单数据集中在目标 Amazon S3 存储桶中,当收集新的清单数据时,将会自动更新中央存储。所有清单数据存储在目标 Amazon S3 存储桶中后,您可以使用 Amazon Athena 和 Amazon QuickSight 等服务查询和分析聚合数据。下一部分将介绍资源数据同步。

配置清单的资源数据同步

您可以使用 Systems Manager 资源数据同步将从所有托管实例收集的清单数据存储到单个 Amazon S3 存储桶。收集新的清单数据后,资源数据同步自动更新集中式数据。所有清单数据存储在目标 Amazon S3 存储桶中后,您可以使用 Amazon Athena 和 Amazon QuickSight 等服务查询和分析聚合数据。

例如,假设您将清单配置为收集关于操作系统 (OS) 和 150 个托管实例机群上运行的应用程序的数据。其中部分实例位于混合数据中心,而其他实例在多个 AWS 区域中的 Amazon EC2 中运行。如果您配置清单的资源数据同步,则您需要手动收集已收集的每个实例的清单数据,或者必须创建脚本来收集这些信息。然后您需要将数据传输到应用程序中,以便运行查询和分析数据。

使用资源数据同步,您可以通过一次性操作同步所有托管实例中的所有清单数据。在创建同步时,可以指定多个 AWS 账户和 AWS 区域的托管实例。在成功创建同步后,Systems Manager 创建所有清单数据的基准,并将其保存在目标 Amazon S3 存储桶中。当收集新的清单数据时,Systems Manager 自动更新 Amazon S3 存储桶中的数据。然后您可以快速有效地将数据传输到 Amazon Athena 和 Amazon QuickSight。

图 1 显示了资源数据同步如何将 Amazon EC2 和混合环境中的托管实例的清单数据聚合到目标 Amazon S3 存储桶。该图还显示了资源数据同步如何处理多个 AWS 账户和 AWS 区域。

图 1:对多个 AWS 账户和 AWS 区域进行资源数据同步

 Systems Manager 资源数据同步架构

如果删除托管实例,资源数据同步会保留删除的实例的清单文件。但是,对于正在运行的实例,当新文件创建并写入到 Amazon S3 存储桶中时,资源数据同步自动覆盖旧清单文件。如果要随着时间推移跟踪清单变化,您可以使用 AWS Config 服务跟踪 MangagedInstanceInventory 资源类型。有关更多信息,请参见 AWS 配置入门

相关内容

  • 资源数据同步使用下列 API 操作:CreateResourceDataSyncListResourceDataSyncDeleteResourceDataSync

  • Amazon QuickSight 是一项业务分析服务,可轻松构建可视化内容,以便您分析数据并从数据中获得见解。单击一次即可从 QuickSight 连接到 Athena。您不需要提供终端节点或用户名和密码。您可以选择 Athena 作为您的数据源,选择要分析的数据库和表,然后开始在 QuickSight 中实现数据可视化。有关更多信息,请参阅 Amazon QuickSight User Guide

  • Amazon Athena 是一种交互式查询服务,可使用此服务通过标准 SQL 查询在 Amazon S3 中轻松分析数据。Athena 无需运行 Amazon EC2 实例,因此无需管理基础设施。您只需为您运行的查询付费。有关更多信息,请参阅 Amazon Athena User Guide

创建清单的资源数据同步

通过使用 Amazon EC2 控制台,使用以下程序创建清单的资源数据同步。有关如何使用 AWS CLI 创建同步和如何处理 Amazon Athena 和 Amazon QuickSight 中的集中式数据的示例,请参阅 使用资源数据同步聚合清单数据

创建清单的资源数据同步

  1. Open the Amazon S3 console at https://console.amazonaws.cn/s3/.

  2. 创建用来存储聚合清单数据的存储桶。有关更多信息,请参阅 Amazon Simple Storage Service Getting Started Guide 中的创建存储桶。请记下存储桶名称和创建此存储桶的 AWS 区域。

  3. 选择 Permissions 选项卡,然后选择 Bucket Policy

  4. 将下面的存储桶策略复制并粘贴到策略编辑器中。使用您创建的 Amazon S3 存储桶的名称和有效的 AWS 账户 ID 替换 Bucket-NameAccount-ID。或者,使用 Amazon S3 前缀 (子目录) 的名称替换 Bucket-Prefix。如果您未创建前缀,则从该策略的 ARN 中删除 Bucket-Prefix/。

    Copy
    { "Version": "2012-10-17", "Statement": [ { "Sid": "SSMBucketPermissionsCheck", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::Bucket-Name" }, { "Sid": " SSMBucketDelivery", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:PutObject", "Resource": ["arn:aws:s3:::Bucket-Name/Bucket-Prefix/*/accountid=Account-ID/*"], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
  5. 打开 Amazon EC2 控制台,在导航窗格中展开 Systems Manager Shared Resources,然后选择 Managed Instances

  6. 选择 Resource Data Syncs,然后选择 Create a Resource Data Sync

  7. Sync Name 字段中,键入同步配置的名称。

  8. Bucket Name 字段中,键入您在此程序开始时创建的 Amazon S3 存储桶的名称。

  9. (可选) 在 Bucket Prefix 字段中,键入 Amazon S3 存储桶前缀 (子目录) 的名称。

  10. Bucket Region 字段中,如果您创建的 Amazon S3 存储桶位于当前 AWS 区域,则选择 This region。如果存储桶位于不同的 AWS 区域,则选择 Another region,然后键入该区域的名称。

    注意

    如果同步和目标 Amazon S3 存储桶位于不同区域,您可能需要支付数据传输价格。有关更多信息,请参阅 Amazon S3 定价

  11. 选择 Create