从详细账单报告迁移到成本和使用率报告 - 成本和使用率报告
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

从详细账单报告迁移到成本和使用率报告

详细账单报告 (DBR) 和 AWS 成本和使用率报告 (CUR) 都可提供您的费用信息。如果您当前使用的是旧 DBR,我们强烈建议您将报告转移到成本和使用率报告。

比较成本和使用率报告 (AWS CUR) 的好处

AWS CUR 提供最全面的信息源。使用此报告,您可以深入了解个别成本,更详细地进行分析,尤其适用于企业环境。AWS CUR 最适合具有复杂成本管理需求的客户,例如,拥有专用查询或基于分析的系统的客户。AWS CUR 也是预留实例 (RI) 信息的最佳来源,尤其是在您要查看摊销成本时。

全面的预留信息

与按需使用相比,预留实例 (RI) 或称“预留”为您提供了每小时费率折扣,以换取您一到三年的服务使用承诺。这样可以节省大量费用。AWS CUR 提供预留 Amazon 资源编号 (ARN)、预留数量和 RI 总数等全方位信息,帮助您监控和管理您的预留产品组合。您可以跟踪查看特定资源的预留相关折扣,有助于您更好地了解节省的成本。

DBR 提供此元数据的部分信息,但需要对所需的列进行转换。

AWS CUR 提供 DBR 中不可用的其他列,如摊销预留成本的相关信息。有关更多信息,请参阅 了解您的摊销预留数据。)

按需定价可用性

AWS CUR 提供每个用量行项目的按需费率信息。此信息让您可以通过从按需费率中减去您支付的金额来确定您的成本节省量;您可以计算与按需价格相比所节省的成本。您也可以灵活选择使用公开的按需费率分配成本。

DBR 不包含按需费率的信息,只包含已计费金额的信息。因此,很难计算您的总体节省成本或使用按需费率分配成本。

折扣精确细分

AWS CUR 可以访问基于使用量折扣的精确视图。如果应用了折扣,您可以使用 AWS CUR 查看以下内容:

  • 应用折扣前的成本

  • 折扣金额

  • 在行项目级别应用折扣后的总成本

DBR 不包含折扣的精确细分。

大规模自动化数据摄取

使用 AWS CUR 时,您可以轻松配置事件以触发自动数据摄取过程,从而简化刷新内部系统中账单数据的过程。当检测到与前几个月有关的费用时,AWS CUR 数据可以自动刷新。

此外,AWS CUR 会生成为多个文件,将数据进一步细分,带来又一优势。这样可以根据多个工作程序使用的进程更轻松地摄取数据。您还能够以更小的片段重试数据下载。

AWS CUR 的格式设置方式使您能够快速查找和提取数据。此报告是根据清单文件建模的,文件中包含数据的总体结构信息,包括报告中包含的每个列的列表。这样,您就可以扩展报告,并在报告变为可用时包含有关您的使用情况的新信息。

跨产品集成

AWS CUR 支持与 Amazon Redshift、Amazon QuickSight 和 Amazon Athena, 集成,从而轻松、快速构建基于 AWS 的成本管理解决方案。AWS CUR 还提供 Parquet 格式的数据,以便在构建您自己的成本和使用率报告系统时扩大您的选择范围。更多信息,请参阅 成本与使用报告清单文件AWS Billing and Cost Management 用户指南.

详细账单报告和成本和使用率报告之间的主要差异

在您迁移为使用 AWS CUR 后,应该注意 DBR 和 AWS CUR 之间的一些差异。您可能需要相应地调整将数据摄取到系统中的方式。

文件结构

DBR 作为单个文件交付,而 AWS CUR 作为一组整合的文件交付。在 AWS CUR 中,您可以在自己的 Amazon S3 存储桶中查看以下文件:

  • 包含所有使用量行项目的一组数据文件

  • 包含所有折扣的单独数据文件(如果适用)

  • 列出属于单个报告的所有数据文件的清单文件

列结构

DBR 具有固定列的列表,限制了其灵活性。AWS CUR 没有固定的列结构,您可以根据需要自由添加或删除列。当您开始使用新的 AWS 服务时,AWS CUR 可以动态地开始将可能对您的案例有用的新数据包含在报告中。清单文件会提供报告中显示的所有列的映射。

DBR 和 AWS CUR 的等效列名称
DBR 列名称 AWS CUR 列名称
InvoiceId bill/InvoiceId
PayerAccountId bill/PayerAccountId
LinkedAccountId lineItem/UsageAccountId
ProductName product/ProductName
SubscriptionId reservation/subscriptionid
UsageType lineItem/ UsageType
运算 lineItem/Operation
AvailabilityZone lineItem/ AvailabilityZone
ReservedInstance 不支持
ItemDescription lineItem/LineItemDescription
UsageStartDate lineItem/ UsageStartDate
UsageEndDate lineItem/UsageEndDate
UsageQuantity lineItem/ UsageAmount
BlendedRate lineItem/BlendedRate
BlendedCost lineItem/BlendedCost
UnBlendedRate lineItem/ UnblendedRate
UnBlendedCost lineItem/ UnblendedCost
ResourceId lineItem/ResourceId
RecordType 不支持
Pricingplanid 不支持
RateID pricing/RateId
注意

AWS CUR 中的 RecordId 没有等效信息,但您可以通过组合 identity/LineItemId、identity/TimeInterval 和 bill/BillType 来收集此信息。

通过 AWS CUR 检索 DBR RecordType 值
DBR 中的 RecordType 值 通过 AWS CUR 检索 RecordType 的语法 使用案例
LineItem SELECT SUM(line_item_unblended_cost) FROM [CUR] WHERE line_item_line_item_type = 'Usage' 使用量行项目从一次性费用中划分使用量成本。例如:RI 预付费用
InvoiceTotal SELECT (bill_invoice_id), sum(line_item_unblended_cost) FROM [CUR] GROUP BY bill_invoice_id 发票总额可帮助您在发票与成本和使用率报告之间协调成本。
AccountTotal SELECT line_item_usage_account_id, sum(line_item_unblended_cost) FROM [CUR] GROUP BY line_item_usage_account_id 账户总额可帮助您隔离与会员账户相关的成本,以用于扣款目的。
StatementTotal SELECT SUM(line_item_unblended_cost) FROM [CUR] 对账单总计有助于您了解账单周期的成本。
Discount SELECT SUM(line_item_unblended_cost) FROM [CUR] WHERE line_item_line_item_type = 'Discount' “折扣”行项目可帮助您识别与折扣相关的所有行项目。
Rounding 暂不支持 暂不支持

报告高级费用类型

Refunds

AWS CUR:通过筛选 lineitem/lineitemtype = ‘Refund’ 字符串来识别退款。

DBR: 可通过解析商品描述列识别信用 ‘Credit’ 子串。

Credits

AWS CUR:通过筛选 lineitem/lineitemtype = ‘Credit’ 字符串来识别退款。

DBR: 通过解析商品描述列识别Refund ‘Refund’ 子串。

Taxes

AWS CUR:通过筛选 lineitem/lineitemtype = ‘Tax’ 字符串来识别税费。

DBR: 税通过解析商品描述列来确定 ‘Tax’ 子串。

识别与预留相关的预付费用

AWS CUR:可以通过筛选 "lineitem/lineitemtype" = 'Fee' 来识别与预留相关的预付费用。

DBR: 可通过检查 'HeavyUsage' 子串,以及 'SubscriptionId' 为null。

识别每月与预留相关的费用

AWS CUR:可以通过筛选 "lineitem/lineitemtype" = 'RIfee' 来识别与每月预留相关的费用。

DBR: 预订相关的每月费用可通过检查 'HeavyUsage' 子串。

确定享受到预留实例好处的实例

AWS CUR:可以通过筛选 "lineitem/lineitemtype" = 'DiscountedUsage' 来识别与预留相关的预付费用。

DBR: 可通过筛选确定与预订相关的前期费用'ReservedInstance' = 'Y'.