

# AWS billing and usage reports for CloudFront
<a name="reports-billing"></a>

AWS provides two usage reports for CloudFront:
+ The AWS billing report is a high-level view of all activity for AWS services that you're using, including CloudFront.
+ The AWS usage report is a summary of activity for a specific service, aggregated by hour, day, or month. It also includes usage charts that provide a graphical representation of your CloudFront usage. 

**Note**  
Like other AWS services, CloudFront charges you for only what you use. For more information, see [CloudFront pricing](https://aws.amazon.com/cloudfront/pricing/).

**Topics**
+ [View the AWS billing report for CloudFront](#billing-report)
+ [View the AWS usage report for CloudFront](#usage-report)
+ [Interpret your AWS bill and usage reports for CloudFront](billing-and-usage-interpreting.md)

## View the AWS billing report for CloudFront
<a name="billing-report"></a>

You can view a summary of your AWS usage and charges, listed by service, on the **Bills** page in the AWS Billing and Cost Management console.<a name="billing-report-procedure"></a>

**To view the AWS billing report**

1. Sign in to the AWS Management Console and open the AWS Billing and Cost Management console at [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/).

1. In the navigation pane, choose **Bills**.

1. Choose a **Billing period** (for example, August 2023).

1. On the **Charges by service** tab, choose **CloudFront**, and then expand **Global** or the AWS Region name.

1. To download a detailed billing report in CSV format, choose **Download all to CSV**.

For more information about your AWS bill, see [Viewing your bill](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/getting-viewing-bill.html) in the *AWS Billing User Guide*.

The billing report includes the following values that apply to CloudFront:
+ **ProductCode** – `AmazonCloudFront`
+ **UsageType** – One of the following values:
  + A code that identifies the type of data transfer
  + `Invalidations`
  + `Executions-CloudFrontFunctions`
  + `KeyValueStore-APIOperations`
  + `KeyValueStore-EdgeReads`
  + `RealTimeLog-KinesisDataStream`
  + `SSL-Cert-Custom`
+ **ItemDescription** – A description of the billing rate for the **UsageType**.
+ **UsageStart Date** and **UsageEndDate** – The day that the usage applies to, in Coordinated Universal Time (UTC). 
+ **UsageQuantity** – One of the following values: 
  + The number of requests during the specified time period
  + The amount of data transferred in gigabytes
  + The number of objects invalidated
  + The sum of the prorated months that you had SSL certificates associated with enabled CloudFront distributions. For example, if you have one certificate associated with an enabled distribution for an entire month and another certificate associated with an enabled distribution for half of the month, this value will be 1.5. 

## View the AWS usage report for CloudFront
<a name="usage-report"></a>

AWS provides a CloudFront usage report that is more detailed than the billing report but less detailed than CloudFront access logs. The usage report provides aggregate usage data by hour, day, or month, and it lists operations by region and usage type, such as data transferred out of the Australia region.

**To view the AWS usage report**

1. Sign in to the AWS Management Console and open the AWS Billing and Cost Management console at [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/).

1. In the navigation pane, choose **Cost Explorer**.

1. On the **New cost and usage report** page, in the **Report parameters** pane, choose a date range and granularity for the report.

1. Under **Filters**, **Service**, select **CloudFront**.

1. Select the **Usage type**.

1. Under **Cost and usage breakdown**, choose **Download as CSV**.

For more information about the AWS usage report, see [AWS Usage Report](https://docs.aws.amazon.com/cur/latest/userguide/usage-report.html) in the *AWS Data Exports User Guide*. 

The CloudFront usage report includes the following values:
+ **Service** – `AmazonCloudFront`
+ **Operation** – HTTP method. Values include `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, and `PUT`.
+ **UsageType** – One of the following values:
  + A code that identifies the type of data transfer
  + `Invalidations`
  + `Executions-CloudFrontFunctions`
  + `KeyValueStore-APIOperations`
  + `KeyValueStore-EdgeReads`
  + `RealTimeLog-KinesisDataStream`
  + `SSL-Cert-Custom`
+ **Resource** – Either the ID of the CloudFront distribution associated with the usage or the certificate ID of an SSL certificate that you have associated with a CloudFront distribution.
+ **StartTime/EndTime** – The day that the usage applies to, in Coordinated Universal Time (UTC). 
+ **UsageValue** – 1) The number of requests during the specified time period or 2)the amount of data transferred in bytes.

If you’re using Amazon S3 as the origin for CloudFront, consider running the usage report for Amazon S3, too. However, if you use Amazon S3 for purposes other than as an origin for your CloudFront distributions, it might not be clear what portion applies to your CloudFront usage.

**Tip**  
For detailed information about every request that CloudFront receives for your objects, turn on CloudFront access logs for your distribution. For more information, see [Access logs (standard logs)](AccessLogs.md).

For more information about understanding the CloudFront charges and usage types on your reports, see [Interpret your AWS bill and usage reports for CloudFront](billing-and-usage-interpreting.md).

# Interpret your AWS bill and usage reports for CloudFront
<a name="billing-and-usage-interpreting"></a>

Once you have the [billing report](reports-billing.md#billing-report) and the [usage report](reports-billing.md#usage-report), you can use this topic to understand how to interpret each CloudFront charge that appears on your bill and the corresponding usage type for each charge. This topic includes the codes and AWS Region abbreviations that can appear on both reports.

Most codes in both columns include a two-letter abbreviation that indicates the location of the activity. In the following table, *region* in a code is replaced in your AWS bill and in the usage report by one of the following two-letter abbreviations:
+ **AP:** Hong Kong, Philippines, South Korea, Taiwan, and Singapore (Asia Pacific)
+ **AU:** Australia
+ **CA:** Canada
+ **EU:** Europe and Israel
+ **IN:** India
+ **JP:** Japan
+ **ME:** Middle East
+ **SA:** South America
+ **US:** United States
+ **ZA:** South Africa

For more information about pricing by AWS Region, see [Amazon CloudFront pricing](https://aws.amazon.com/cloudfront/pricing/).

**Notes**  
This table doesn't include charges for transferring your objects from an Amazon S3 bucket to CloudFront edge locations. These charges, if any, appear in the **AWS Data Transfer** portion of your AWS bill.
The first column lists charges that appear in your AWS bill report and explains what each means. 
 The second column lists items that appear in the AWS usage report and shows the correlation between bill charges and usage report items.


****  

| CloudFront charges in your AWS bill | Values in the UsageType column in the AWS usage report | 
| --- | --- | 
|  *region***-DataTransfer-Out-Bytes** Total bytes served from CloudFront edge locations in *region* in response to user `GET` and `HEAD` requests.  |  *region***-Out-Bytes-HTTP-Static:** Bytes served via HTTP for objects with TTL ≥ 3,600 seconds. *region***-Out-Bytes-HTTPS-Static:** Bytes served via HTTPS for objects with TTL ≥ 3,600 seconds. *region***-Out-Bytes-HTTP-Dynamic:** Bytes served via HTTP for objects with TTL < 3,600 seconds. *region***-Out-Bytes-HTTPS-Dynamic:** Bytes served via HTTPS for objects with TTL < 3,600 seconds. *region***-Out-Bytes-HTTP-Proxy:** Bytes returned from CloudFront to viewers via HTTP in response to `DELETE`, `OPTIONS`, `PATCH`, `POST`, and `PUT` requests. *region***-Out-Bytes-HTTPS-Proxy:** Bytes returned from CloudFront to viewers via HTTPS in response to `DELETE`, `OPTIONS`, `PATCH`, `POST`, and `PUT` requests.  This includes bytes returned from CloudFront to viewers via gRPC.  | 
|  *region***-DataTransfer-Out-OBytes** Total bytes transferred from CloudFront edge locations to your origin or [edge function](edge-functions.md) in response to `DELETE`, `OPTIONS`, `PATCH`, `POST`, and `PUT` requests. The charges include data transfer for WebSocket data from client to server.  |  *region***-Out-OBytes-HTTP-Proxy** Total bytes transferred via HTTP from CloudFront edge locations to your origin or [edge function](edge-functions.md) in response to `DELETE`, `OPTIONS`, `PATCH`, `POST`, and `PUT` requests. *region***-Out-OBytes-HTTPS-Proxy** Total bytes transferred via HTTPS from CloudFront edge locations to your origin or [edge function](edge-functions.md) in response to `DELETE`, `OPTIONS`, `PATCH`, `POST`, and `PUT` requests. This includes bytes transferred via gRPC from CloudFront edge locations to your origin or CloudFront Functions.  | 
|  *region***-Requests-Tier1** Number of HTTP `GET` and `HEAD` requests.  |  *region***-Requests-HTTP-Static** Number of HTTP `GET` and `HEAD` requests served for objects with TTL ≥ 3,600 seconds. *region***-Requests-HTTP-Dynamic** Number of HTTP `GET` and `HEAD` requests served for objects with TTL < 3,600 seconds.  | 
|  *region***-Requests-Tier2-HTTPS** Number of HTTPS `GET` and `HEAD` requests.  |  *region***-Requests-HTTPS-Static** Number of HTTPS `GET` and `HEAD` requests served for objects with TTL ≥ 3,600 seconds. *region***-Requests-HTTPS-Dynamic** Number of HTTPS `GET` and `HEAD` requests served for objects with TTL < 3,600 seconds.  | 
|  *region***-Requests-HTTP-Proxy** Number of HTTP `DELETE`, `OPTIONS`, `PATCH`, `POST`, and `PUT` requests that CloudFront forwards to your origin or [edge function](edge-functions.md). Also includes the number of HTTP [WebSocket](distribution-working-with.websockets.md) requests (`GET` requests with the `Upgrade: websocket` header) that CloudFront forwards to your origin or edge function.  |  *region***-Requests-HTTP-Proxy** Same as the corresponding item in your CloudFront bill.  | 
|  *region***-Requests-HTTPS-Proxy** Number of HTTPS `DELETE`, `OPTIONS`, `PATCH`, `POST`, and `PUT` requests that CloudFront forwards to your origin or [edge function](edge-functions.md).  Also includes the following request types: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/billing-and-usage-interpreting.html)  |  *region***-Requests-HTTPS-Proxy** Same as the corresponding item in your CloudFront bill.  | 
|  *region***-Requests-HTTPS-Proxy-FLE** Number of HTTPS `DELETE`, `OPTIONS`, `PATCH`, and `POST` requests processed with [field-level encryption](field-level-encryption.md) that CloudFront forwards to your origin or [edge function](edge-functions.md).  |  *region***-Requests-HTTPS-Proxy-FLE** Same as the corresponding item in your CloudFront bill.  | 
|  *region***-Bytes-OriginShield** Total bytes transferred from the origin to any [regional edge cache](HowCloudFrontWorks.md#CloudFrontRegionaledgecaches), including the regional edge cache that is enabled as [Origin Shield](origin-shield.md).  |  *region***-Bytes-OriginShield** Same as the corresponding item in your CloudFront bill.  | 
|  *region***-OBytes-OriginShield** Total bytes transferred to the origin from any [regional edge cache](HowCloudFrontWorks.md#CloudFrontRegionaledgecaches), including the regional edge cache that is enabled as [Origin Shield](origin-shield.md).  |  *region***-OBytes-OriginShield** Same as the corresponding item in your CloudFront bill.  | 
|  *region***-Requests-OriginShield** Number of requests that go to [Origin Shield](origin-shield.md) as an incremental layer. For dynamic (non-cacheable) requests that are proxied to the origin, Origin Shield is always an incremental layer. For cacheable requests, Origin Shield is sometimes an incremental layer. For more information, see [Estimate Origin Shield costs](origin-shield.md#origin-shield-costs).  |  *region***-Requests-OriginShield** Same as the corresponding item in your CloudFront bill.  | 
|  **Invalidations** The charge for invalidating objects (removing the objects from CloudFront edge locations). For more information, see [Pay for file invalidation](PayingForInvalidation.md).  |  **Invalidations** Same as the corresponding item in your CloudFront bill.  | 
|  **SSL-Cert-Custom** The charge for using an SSL certificate with a CloudFront alternate domain name such as example.com instead of using the default CloudFront SSL certificate and the domain name that CloudFront assigned to your distribution.  |  **SSL-Cert-Custom** Same as the corresponding item in your CloudFront bill.  | 
|  **RealTimeLog-KinesisDataStream** The charge for the number of lines generated for [real-time access logs](real-time-logs.md).  |  **RealTimeLog-KinesisDataStream** Same as the corresponding item in your CloudFront bill.  | 
|  **Executions-CloudFrontFunctions** The charge for the number of [CloudFront Functions](cloudfront-functions.md) invocations.  |  **Executions-CloudFrontFunctions** Same as the corresponding item in your CloudFront bill.  | 
|  ***region*-Lambda-Edge-Request** The charge for the number of [Lambda@Edge](lambda-at-the-edge.md) function invocations.  |  ****region**-Lambda-Edge-Request** Same as the corresponding item in your CloudFront bill.  | 
|  ***region*-Lambda-Edge-GB-Second** The charge for the duration from when your [Lambda@Edge](lambda-at-the-edge.md) function is invoked to when it returns or terminates.  |  ***region*-Lambda-Edge-GB-Second** Same as the corresponding item in your CloudFront bill.  | 
|  **KeyValueStore-EdgeReads** The charge for the number of read calls to the [CloudFront KeyValueStore](kvs-with-functions.md) methods, `get()`, `exists()`, and `meta()`. For more information, see [Helper methods for key value stores](functions-custom-methods.md).  |  **KeyValueStore-EdgeReads** Same as the corresponding item in your CloudFront bill.  | 
|  **KeyValueStore-APIOperations** The charge for the number of calls to the [CloudFront KeyValueStore](kvs-with-functions.md) API.  |  **KeyValueStore-APIOperations** Same as the corresponding item in your CloudFront bill.  | 