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

查询多个区域和账户的 Inventory 数据

AWS Systems Manager Inventory 与 Amazon Athena 集成,可帮助您查询多个 AWS 区域和账户的清单数据。Athena 集成使用资源数据同步,让您能够在 AWS Systems Manager 控制台中的 Inventory Detail View (清单详细信息视图) 页面上查看所有托管实例的清单数据。

重要

此功能使用 AWS Glue 抓取 Amazon Simple Storage Service (Amazon S3) 存储桶中的数据,使用 Amazon Athena 查询数据。根据抓取和查询的数据量,您可能需要为使用这些服务付费。使用 AWS Glue 时,您需要按小时费率(按秒计)为爬网程序(发现数据)和 ETL 作业(处理和加载数据)付费。使用 Athena 时,您需要按每次查询所扫描的数据量付费。建议在使用 Amazon Athena 与 Systems Manager Inventory 的集成之前查看这些服务的定价准则。有关更多信息,请参阅 Amazon Athena 定价AWS Glue 定价

您可以在 Amazon Athena 支持的所有 AWS 区域中的 Inventory Detail View (清单详细信息视图) 页面上查看清单数据。

开始前的准备工作

Athena 集成使用资源数据同步。您必须设置和配置资源数据同步才能使用此功能。有关更多信息,请参阅 配置清单的资源数据同步

另请注意,Inventory Detail View (清单详细信息视图) 页面显示的是资源数据同步使用的中央 Amazon S3 存储桶的所有者 的清单数据。如果不是中央 Amazon S3 存储桶的所有者,则无法在 Inventory Detail View (清单详细信息视图) 页面上查看清单数据。

配置访问权限

要在 Systems Manager 控制台的 Inventory Detail View (清单详细信息视图) 页面上查询和查看多个账户和区域的数据,您必须先配置您的 AWS Identity and Access Management (IAM) 用户账户。以下过程介绍了如何使用 IAM 控制台来配置您的 IAM 用户账户,以便您可以在 Inventory Detail View (清单详细信息视图) 页面上查看清单数据。

配置对“Inventory 详细信息视图”页面的访问

  1. Open the IAM console at https://console.amazonaws.cn/iam/.

  2. 在导航窗格中,选择用户,然后选择要配置的用户账户。此时将打开摘要页面。

  3. 权限选项卡中,请选择添加权限

  4. Grant permissions (授予权限) 页面上,选择 Attach existing policies directly (直接附加现有策略)

  5. 在搜索字段中,搜索 AWSQuicksightAthenaAccess

  6. 选择此策略旁边的选项,然后选择下一步:审核

  7. 选择 Add permissions (添加权限)

  8. 再次选择用户名称以返回到摘要页面。

  9. 现在,添加内联策略,以便 AWS Glue 可以对您的清单数据进行爬网。在权限选项卡页面的右侧,选择 Add inline policy (添加内联策略)。此时将打开创建策略页面。

  10. 选择 JSON 选项卡。

  11. 删除编辑器中现有的 JSON 文本,然后将以下策略复制并粘贴到 JSON 编辑器中。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "glue:GetCrawlers", "glue:GetCrawler", "glue:GetTables", "glue:StartCrawler", "glue:CreateCrawler" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws:iam::account_ID:role/*" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": [ "iam:CreatePolicy" ], "Resource": [ "arn:aws:iam::account_ID:policy/*" ] } ] }
  12. 查看策略页面上的名称字段中输入名称。

  13. 选择 Create policy

重要

Inventory 详细信息视图页面上选择“远程数据同步”时,Systems Manager 自动创建 Amazon-GlueServicePolicyForSSM 角色。此角色允许 AWS Glue 访问“资源数据同步”的 Amazon S3 存储桶。Systems Manager 自动将以下策略附加到角色:

  • Amazon-GlueServicePolicyForSSM-{Amazon S3 存储桶名称}:此策略支持 AWS Glue 与 Systems Manager Inventory 之间的通信。

  • AWSGlueServiceRole:这是一个支持访问 AWS Glue 的 AWS 托管策略。

如果名称为 Amazon-GlueServicePolicyForSSM-{Amazon S3 存储桶名称} 的策略已存在于您的 IAM 用户账户中,并且此策略未附加到 Amazon-GlueServiceRoleForSSM 角色,系统将返回错误。要解决此问题,请使用 IAM 控制台来验证 Amazon-GlueServicePolicyForSSM-{Amazon S3 存储桶名称} 策略的内容是否与此过程中的内联策略匹配。然后,将策略附加到 Amazon-GlueServiceRoleForSSM 角色。

在详细清单视图页面上查询数据

使用以下过程在 Detailed Inventory View (详细清单视图) 页面上查看多个 AWS 区域和账户的清单数据。

重要

仅在提供 Amazon Athena 的 AWS 区域中显示 Inventory 详细视图页面。如果在 Inventory 页面上未显示以下选项卡,则表示 Athena 在区域中不可用,并且您无法使用详细视图查询数据。


                            显示 Inventory“控制面板”|“详细视图”|“设置”选项卡

在 AWS Systems Manager 控制台中查看多个区域和账户的清单数据

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

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

    -或者-

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

  3. 选择 Detailed View (详细视图) 选项卡。

    
                                访问 AWS Systems Manager Inventory 详细视图页面
  4. 选择您要对其查询数据的“资源数据同步”。

    
                                在 AWS Systems Manager 控制台中显示清单数据
  5. Inventory Type (清单类型) 列表中,选择要查询的清单数据类型,然后按 Enter

    
                                在 AWS Systems Manager 控制台中选择清单类型
  6. 要筛选数据,请选择筛选条件栏,然后选择筛选条件选项。

    
                                在 AWS Systems Manager 控制台中筛选清单数据

    下面的示例显示了在 us-east-2 区域上筛选的 AWSComponent 清单数据。

    
                                在 AWS Systems Manager 控制台中筛选清单数据

您可以使用 Export to CSV (导出到 CSV) 按钮在电子表格应用程序(如 Microsoft Excel)中查看当前查询集。您也可以使用 Query History (查询历史记录)Run Advanced Queries (运行高级查询) 按钮查看历史记录详细信息和与 Amazon Athena 中的数据进行交互。

编辑 AWS Glue 爬网程序计划

默认情况下,AWS Glue 每天抓取中央 Amazon S3 存储桶中的 Systems Manager Inventory 数据两次。如果您经常更改要在实例上收集的数据的类型,则可能需要更频繁地抓取数据,如以下过程中所述。

重要

AWS Glue 按小时费率(按秒计)向您的账户收取执行爬网程序(发现数据)和 ETL 作业(处理和加载数据)的费用。在更改爬网程序计划前,请先查看 AWS Glue 定价页面。

更改清单数据爬网程序计划

  1. Open the AWS Glue console at https://console.amazonaws.cn/glue/.

  2. 在导航窗格中,选择 Crawlers (爬网程序)

  3. 在爬网程序列表中,选择 Systems Manager Inventory 数据爬网程序旁边的选项。爬网程序名称使用以下格式:

    AWSSystemsManager-Resource_Data_Sync_bucket_name-Region-AWS_account_ID

  4. 选择 Action (操作),然后选择 Edit crawler (编辑爬网程序)

  5. 在导航窗格中,选择 Schedule (计划)

  6. Cron expression (Cron 表达式) 字段中,使用 cron 格式指定一个新计划。有关 cron 格式的更多信息,请参阅 AWS Glue Developer Guide 中的 基于时间的任务和爬网程序日程

重要

您可以暂停爬网程序以停止 AWS Glue 产生的费用。如果暂停爬网程序或降低抓取数据的频率,则 Detailed Inventory View (详细清单视图) 可能会显示非当前数据。