Documentation and Best Practices

Learn how to use Cloudability and get the most out of our cloud cost management tool.

Follow

AWS Cost & Usage Report (CUR)

Overview of CUR in Cloudability

Beginning April 1, 2018 the Cloudability platform supports AWS’s Cost and Usage Report (CUR) in being the base data source of our analytics. Customers configuring the platform for the first time will be required to set up both the Detailed Billing Report (DBR) and CUR.  Core reporting will leverage the new CUR data set for greater reporting fidelity, while optimization features will continue to use the DBR data set in the short term. We will continue to update platform capabilities to leverage CUR data for all platform features over the next quarter.

For existing Cloudability customers we will continue to support the DBR for the foreseeable future, but may move to deprecate this data set as AWS rolls out additional support in the CUR data set.

In order to take advantage of greater reporting fidelity afforded by CUR data, all Master Payer accounts must be CUR enabled. Learn more about setting up CUR.

New Capabilities

New metric: Cost (Adjusted Amortized). This metric will reflect the adjusted price if custom pricing is in effect for your organization. This includes applying the custom pricing rules to amortized RI costs as well as regular on demand cost.

Full RI allocation based on consumption

Starting January 2018 the CUR provides linking information between line items and the full cost of any associated RIs. We are taking full advantage of this to allow you to allocate all costs, down to the resource level including the monthly and upfront components of your RIs. In DBR different AWS services behaved differently, but they are being unified and their reporting greatly enhanced with this update.

Comparison per service

EC2 - The monthly charge was injected as a line item at the beginning of the month representing the entire monthly charge. This charge was then burnt down and the cost associated with the resources that used it allowing for partial allocation. The upfront component  wasn’t naturally burnt down or allocated. Cloudability has however provided a metric Cost(Amortized) to spread this upfront cost over the period consumed and allocated to the account where purchased.

RDS, Redshift, Elasticache, DynamoDB - The monthly charge was injected as a line item at the beginning of the month representing the entire monthly charge. This however was never burned down at all or naturally allocated to the point of consumption. Like EC2, Cloudability provided the metric Cost(Amortized) to spread the cost and allocate at the account level of purchase.

The new unified behaviour allows us to fully allocate both the monthly and upfront components of RIs to the time and exact location of consumption.

Marketplace Charges

An additional data set provided by the CUR are your AWS Marketplace costs. These can be identified in reports using the dimension Seller (appearing as ‘AWS Marketplace’)

DBR / CUR Differences

Dimension

Line Item Category

Example in DBR

Example in CUR

Changes

Usage Type

Instance Hour Covered By RI

HeavyUsage:i3.large

BoxUsage:i3.8xlarge


Or


DedicatedUsage:i3.8xlarge

For EC2 you’ll see the prefix changed from ‘HeavyUsage’  to ‘BoxUsage’ or ‘DedicatedUsage’


The Instance Type in CUR actually matches the running instance not the instance type from the RI that covered it (can be different when ISF is involved).

Item Description

Injected Line Time


(monthly RI fee that appears at beginning of the month)

USD 0.92 hourly fee per Linux/UNIX (Amazon VPC), m4.10xlarge instance (13392 hours purchased, 1002 hours used)

USD 0.92 hourly fee per Linux/UNIX (Amazon VPC), m4.10xlarge instance

For EC2 the format has become more simple. Hours purchased and used is no longer present. Other AWS services haven’t changed.

Item Description

Instance Hour Covered By RI

"USD 0.2261 hourly fee per Linux/UNIX (Amazon VPC), i3.xlarge instance; usageType: BoxUsage:i3.8xlarge"

"Linux/UNIX (Amazon VPC), i3.xlarge reserved instance applied"

Item description format has changed for line items representing instance hours that consumed RIs. The instance type mentioned represents that of the RI and not the underlying instance.

Understanding RI lifecycle and Applicable Metrics

As mentioned above at the beginning of every month AWS places an injected line item in the CUR file which represents your yet-to-be-used RIs for that month. You can examine these entries by filtering to a lease type of 'Reserved', a transaction type of 'Recurring Charge' and be sure to include the first day of the month. Here is an example report for May 1:

This image above shows the yet-to-be-used RIs for the month including the count of hours and cost metrics. An explanation of the cost metrics is found in the table below. You'll probably also want to view the full cost of instance hours that are covered by RIs. To do that filter by lease type of 'Reserved', and a transaction type of 'Usage'. Here is an example for a rolling 7 day window. The report dimensions could be the same as the above image, but the values will represent what has been consumed rather than waiting to be used/unused.

So what do the different metrics represent and what should we expect for the different RI types? The table below explains this, both for the injected line item and instance hours consuming RIs.

RI Type Cost (Total) Cost (Amortised)
No Upfront Represents the monthly charge Represents the monthly charge
Partial Upfront Represents the monthly charge Represents the monthly & upfront charge
All Upfront  Always Zero Represents the upfront charge

Hot Tip! Always use the metric Cost (Amortised) if you wish to get the fully burdened cost of any resource hour.

Special Note: In DBR world when amortising RI costs this was represented with a Transaction Type of 'Amortized Charge' in Cloudability. This is no longer the case as the cost is embedded into both the injected line item and consumed RI hours. An additional benefit is that full RI allocation occurs without Cloudability needing any access to service APIs - we pull all the linking information directly from the CUR.

What this means for you and what to be aware of:

  • Increased Allocation (based on consumption) - When using the Cost(Total) metric for RDS, Redshift, Elasticache and DynamoDb then any report based on tags or resourceIDs will have the monthly RI cost allocated based on consumption. So expect an increase in the cost/usage reported for relevant reports since with the DBR these costs stayed with the RI purchasing account only. The transition point will either be January 1 2018 or from the date we have access to your CUR file if that comes after.
  • Increased Allocation (based on consumption) - When using the Cost(Amortized) metric then any report based on tags or resourceIDs will have the monthly and upfront cost components of RIs allocated based on consumption. Similar to that mentioned above, previously this metric only allocated upfront RI costs to the RI owning account meaning that relevant reports will now have higher cost reporting.
  • Report filter update required - Previously curated reports that relied on a format for the dimensions listed above that changed may no longer return your expected results.
  • Additional items - You now have extra reportable costs as AWS Marketplace charges are present.

Requirements for customers to move from DBR to CUR:

Error states:

  1. When a report or widget crosses the month boundary between DBR and CUR
  2. If a dimension is selected in a report or widget that differs between DBR and CUR
  3. Selecting Cost (Adjusted) or Cost (Adjusted Amortized) in a report whose date range cross the boundary between DBR and CUR

 

For any questions about the Cost & Usage Report or Credentials setup, please contact support@cloudability.com




Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

0 Comments

Article is closed for comments.
Powered by Zendesk