查询多个区域和账户的清单数据 - AWS Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

AWS Systems Manager 清单与 Amazon Athena 集成,可帮助您查询多个 AWS 区域和账户的清单数据。Athena 集成使用资源数据同步,以便您可以在库存详细信息查看页面中的 AWS Systems Manager 控制台中。

重要

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

您可以在库存详细信息查看页面上提供 Amazon Athena 的所有 AWS 区域。有关受支持的区域列表,请参阅Amazon Athena 服务终端节点中的Amazon Web Services 一般参考

开始前的准备工作

Athena 集成使用资源数据同步。您必须设置并配置资源数据同步才能使用该功能。有关更多信息,请参阅 为 Inventory 配置资源数据同步

另外,请注意,库存详细信息查看页面显示owner资源数据同步所使用的中央 Amazon S3 存储桶。如果不是中央 Amazon S3 存储桶的所有者,则无法在库存详细信息查看页.

配置访问权限

在查询和查看多个帐户和区域中的数据之前,可以在库存详细信息查看页面上,您必须配置您的 AWS Identity and Access Systems Manager agement (IAM) 用户账户。以下过程介绍了如何使用 IAM 控制台来配置您的 IAM 用户账户,以便您可以在库存详细信息查看页.

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

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/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": [ { "Effect": "Allow", "Action": [ "glue:GetCrawlers", "glue:GetCrawler", "glue:GetTables", "glue:StartCrawler", "glue:CreateCrawler" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws:iam::account_ID:role/*" ] }, { "Effect": "Allow", "Action": [ "iam:CreatePolicy" ], "Resource": [ "arn:aws:iam::account_ID:policy/*" ] } ] }
    注意

    (可选)如果用于存储清单数据的 Amazon S3 存储桶使用 AWS Key Management Service (AWS KMS) 进行加密,则您还必须将以下数据块添加到策略中。

    { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:AWS_Region:account_ID:key/key_ARN" ] }

    如果将此数据块粘贴到策略中的最后一个数据块之后,请务必使用逗号 (,) 分隔这些数据块。

  12. 查看策略页面上的名称字段中输入名称。

  13. 选择 Create policy

重要

当您选择资源数据同步时,库存详细信息查看页面上,Systems Manager 会自动创建Amazon Glesm角色。该角色允许 AWS Glue 访问 Amazon S3 存储桶以进行资源数据同步。Systems Manager 自动将以下策略附加到角色:

  • 亚马逊胶水管理政策对于 SMS-{Amazon S3 存储桶名称}:此策略支持 AWS Glue 和 Systems Manager 库存之间的通信。

  • AWSG 网络服务器:这是一个支持访问 AWS Glue 的 AWS 托管策略。

如果一个名为的策略亚马逊胶水管理政策对于 SMS-{Amazon S3 存储桶名称}已存在于您的 IAM 用户账户中,并且此策略未附加到Amazon Glesm角色,系统将返回错误。要解决该问题,请使用 IAM 控制台验证亚马逊胶水管理政策对于 SMS-{Amazon S3 存储桶名称}策略与此过程中的内联策略相匹配。然后,将策略附加到 Amazon-GlueServiceRoleForSSM 角色。

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

使用以下过程可在 Systems Manager 清单上查看多个 AWS 区域和账户的清单数据详细信息视图页.

重要

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


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

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

  1. 以下网址打开 AWS Systems Manager 控制台:https://console.aws.amazon.com/systems-manager/

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

    -或者-

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

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

    
                                访问 AWS Systems Manager 清单详细视图页面
  4. 选择要查询数据的资源数据同步。

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

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

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

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

编辑 AWS Glue 爬虫程序计划

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

重要

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

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

  1. 在以下位置打开 AWS Glue 控制台:https://console.aws.amazon.com/glue/

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

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

    AWS 系统管理器-DOC-EXAMPLE-BUCKET-Region-AWS_account_ID

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

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

  6. Cron expression (Cron 表达式) 字段中,使用 cron 格式指定一个新计划。有关 cron 格式的更多信息,请参阅。用于作业和爬网程序的基于时间的计划中的AWS Glue 开发人员指南

重要

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