将报告数据加载到其他资源 - 成本和使用率报告
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

将报告数据加载到其他资源

您可以将成本和使用率报告上传到 Amazon Redshift 和 Amazon QuickSight 以分析您的 AWS 成本和使用率。

将报告数据加载到 Amazon QuickSight

您可以将您的成本和使用率报告上传到 Amazon QuickSight。

有关上传到的更多信息 Amazon QuickSight,见 使用创建数据集 Amazon S3 文件Amazon QuickSight 用户指南.

将报告数据加载到 Amazon Redshift

本部分介绍如何将 AWS CUR 上传到 Amazon Redshift,以便分析您的 AWS 成本和使用率。

重要

Amazon Redshift 列不区分大小写,且字符限制比用户定义的标签更严格。为了防止 Amazon Redshift 与用户定义的标签发生冲突,AWS 会将您的标签替换为 userTag0userTag1userTag2 等标签。在创建 Amazon Redshift 表并将报告上传到其中后,您可以创建一个将 AWS 定义的标签映射到用户定义的标签的 Amazon Redshift 表。该标签表使您可以查找您的原始标签。

例如,如果您有标签 OWNEROwner,Amazon Redshift 不允许您创建包含两个名为“owner”的列的表。相反,您可以创建一个包含各列的报告表 userTag0userTag1 而不是 OWNEROwner,然后创建包含各列的表 remappedUserTaguserTag。的 remappedUserTag 列存储由ASE定义的标记 userTag0userTag1userTag 列存储您的原始标签, OWNEROwner

AWS 提供了用于创建 Amazon Redshift 表、上传报告、创建标签表和将所有标签行插入到标签表的命令。这些命令是通过与清单文件一起存储在 S3 中的 RedshiftCommands.sql 文件以及 Billing and Cost Management 控制台中的 Redshift file (Redshift 文件) Helper file (帮助程序文件) 提供给您的。AWS 还提供了一个 RedshiftManifest 文件,该文件控制 RedshiftCommand 文件中的命令上传哪个报告。删除或移除 RedshiftManifest 文件将破坏 RedshiftCommands 文件中的复制命令。

在Billing and Cost Management控制台中查找 RedshiftCommands.sql 文件

  1. 通过以下网址登录 Billing and Cost Management 控制台:https://console.amazonaws.cn/billing/home#/

  2. 在导航窗格中,选择 成本和使用率报告

  3. 选择要上传到 Amazon Redshift 的报告。

  4. You have enabled viewing reports in the following service(s): (您已在以下服务中启用了查看报告:) 旁边,选择 Amazon Redshift

  5. 从对话框中选择命令并将其粘贴到您的 SQL 客户端。

以下过程假定您熟悉数据库和 Amazon Redshift。

将成本和使用率报告上传到 Amazon Redshift

  1. 创建 Amazon Redshift 集群

    有关更多信息,请参阅Amazon Redshift Cluster Management Guide中的创建集群

  2. 登录 AWS 管理控制台并通过以下网址打开 Amazon S3 控制台:https://console.amazonaws.cn/s3/

  3. 导航到存储 AWS CUR 的 Amazon S3 位置。

  4. 打开 RedshiftCommands.sql 文件。

    该文件包含一些自定义命令,用于创建 Amazon Redshift 表、从 Amazon S3 上传 AWS CUR以及创建允许将用户定义的标签导入到 Amazon Redshift 的标签表。

  5. copy 命令,替换 <AWS_ROLE> 与ARN合作, IAM 具有权限访问 Amazon S3 存储您的 AWS CUR.

  6. Replace <S3_BUCKET_REGION> 您所在的地区 Amazon S3 存储桶位于。例如:us-east-1

  7. 使用 SQL 客户端连接到群集。

    有关更多信息,请参阅 https://docs.amazonaws.cn/redshift/latest/mgmt/using-rs-tools.html 中的Amazon Redshift Cluster Management Guide访问 Amazon Redshift 群集和数据库

  8. 按以下顺序将 SQL 命令从 RedshiftCommands.sql 文件复制到您的 SQL 客户端:

    • create table - 此命令将使用为匹配您的报告而自定义的架构创建 Amazon Redshift 表。

    • copy - 此命令会使用提供的 IAM 角色将 AWS CUR 文件从 S3 上传到 Amazon Redshift。

    • create tag table - 此命令将创建一个表,该表允许您将 AWS 定义的标签映射到用户定义的标签。

    • insert - 这些命令会将用户定义的标签插入到标签表。

  9. 将所有数据从 AWS CUR 复制到 Amazon Redshift 后,您可以使用 SQL 查询数据。有关在 Amazon Redshift 中查询数据的更多信息,请参阅 https://docs.amazonaws.cn/redshift/latest/dg/c_redshift-sql.html 中的 Amazon Redshift Database Developer GuideAmazon Redshift SQL

注意

成本和使用率报告中的列数可能随月份的变化而改变,例如在创建新的成本分配标签时,或某项服务添加新的产品属性时。我们建议您每月将数据从 AWS CUR 复制到新表,然后将您感兴趣的列复制到单独的月度表。