CloudFrontにかかる料金を図にしてみた。

CloudFrontにかかる料金を図にしてみた。

Clock Icon2025.06.18

はじめに

皆様こんにちは、あかいけです。
突然ですが、
CloudFront のどの箇所の通信にどんな料金がかかるか、把握しておりますでしょうか?

インターネット ↔︎ CloudFront 間の通信では確実に料金がかかりそうな気がしますが、
CloudFront からオリジンへの通信やデータ転送量にはどれぐらいお金がかかるのでしょうか…?
また CloudFront Functions と Lambda@Edge の料金には違いがあるのでしょうか…?

といった感じで私はめちゃくちゃふんわりとした理解だったので、
公式ドキュメント + 実際の請求書をもとに、CloudFrontの料金を図にしてみました。

皆様もこれを機に CloudFront 料金マスターになってください。

請求書の項目について

まず請求書上の CloudFront に関連した項目は、以下のドキュメントに記載されています。

https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/billing-and-usage-interpreting.html

今回はこの請求書の項目をベースに解説します。

なお本記事内の料金は、東京リージョンのものを記載しています。
そのため JP 、また APN1 の部分は、任意のリージョンコードに読み替えてください。

CloudFront 料金一覧

請求書 項目 概要 料金
JP-DataTransfer-Out-Bytes CloudFront から インターネットへのアウトバウンド転送料金 データ転送 (Out) GB あたり $0.114 (無料枠超えてから、最初の9TB)
JP-DataTransfer-Out-OBytes CloudFront から Origin や エッジ関数 へのアウトバウンド転送料金
(DELETE / OPTIONS / PATCH / POST / PUT / WebSocket時のGET)
データ転送 (Out) GB あたり $0.060
JP-Requests-Tier1 インターネット から CloudFront への HTTP リクエスト料金
(GET / HEAD)
リクエスト 1 万件あたり $0.009
JP-Requests-Tier2-HTTPS インターネット から CloudFront への HTTPS リクエスト料金
(GET / HEAD)
リクエスト 1 万件あたり $0.012
JP-Requests-HTTP-Proxy CloudFront から Origin や エッジ関数 への HTTP リクエスト料金
(DELETE / OPTIONS / PATCH / POST / PUT / WebSocket時のGET)
リクエスト 1 万件あたり $0.009
JP-Requests-HTTPS-Proxy CloudFront から Origin や エッジ関数 への HTTPS リクエスト料金
(DELETE / OPTIONS / PATCH / POST / PUT / WebSocket時のGET)
リクエスト 1 万件あたり $0.012
JP-Requests-HTTPS-Proxy-FLE CloudFront から Origin や エッジ関数 へのフィールドレベルの暗号化リクエスト
(DELETE / OPTIONS / PATCH / POST)
リクエスト 1 万件あたり $0.02
APN1-Bytes-OriginShield Origin から OriginShield へのデータ転送料金 請求書の項目として存在するが、実際は無料
APN1-OBytes-OriginShield OriginShield から Origin へのデータ転送料金 請求書の項目として存在するが、実際は無料
APN1-Requests-OriginShield 増分レイヤーとして Origin Shield に送信されたリクエスト料金 リクエスト 1 万件あたり $0.009
Invalidations CloudFront のキャッシュ削除料金 最初の 1,000 パスは無料、それ以降は無効化するごとに $0.005
SSL-Cert-Custom 専用 IP カスタム SSL の利用料金 一ヶ月ごとに $600 (時間単位での請求)
RealTimeLog-KinesisDataStream リアルタイムログの生成料金 100 万ログあたり $0.01
Executions-CloudFrontFunctions CloudFront Functions の呼び出し料金 100 万件の呼び出しあたり $0.10
APN1-Lambda-Edge-Request Lambda@Edge 関数の呼び出し料金 リクエスト 100 万件あたり $0.60 (リクエスト 1 件あたり $0.0000006)
APN1-Lambda-Edge-GB-Second Lambda@Edge 関数の実行期間の料金 GB 秒あたり $0.00005001
KeyValueStore-EdgeReads CloudFront KeyValueStore の読み取り呼び出し料金
(get / exists / meta メソッド)
100 万回の読み取りあたり $0.03
KeyValueStore-APIOperations CloudFront KeyValueStore API の呼び出し料金 1,000 回の API リクエストあたり $1

なお以下の常時無料枠が存在するため、
一部の利用料金はこちらを消費しきってから発生します。

CloudFront 無料枠一覧

項目 無料枠 関連する請求書項目
インターネットへのデータ転送 1 か月あたり 1 TB JP-DataTransfer-Out-Bytes
HTTP または HTTPS リクエスト 1 か月あたり 10,000,000 件 JP-Requests-Tier1
JP-Requests-Tier2-HTTPS
CloudFront 関数呼び出し 1 か月あたり 2,000,000 件 Executions-CloudFrontFunctions
CloudFront KeyValueStore の読み取り 1 か月あたり 2,000,000 回 KeyValueStore-EdgeReads

https://aws.amazon.com/jp/cloudfront/pricing/

CloudFront の通信と料金の関連性について

まず以下が全体像です。
が、これだけ見てもなんのこっちゃという感じだと思うので、詳しく解説します。

cloudfront-image-base.drawio

インターネット ↔︎ CloudFront 間の料金

図だと以下の赤枠の部分が該当します。
おそらくこれが一番想像しやすい料金かなと思います。

cloudfront-image-internet-cloudfront.drawio

リクエスト料金

  • region-Requests-Tier1
  • region-Requests-Tier2-HTTPS

インターネット から CloudFront へのリクエスト料金です。
10,000,000件の無料枠があるので、それを超えた分が有料となります。

アウトバウンド データ転送料金

  • region-DataTransfer-Out-Bytes

CloudFront からインターネットへのアウトバウンド転送料金です。
なお以下のようにデータ転送量に応じて段階的に料金が安くなっていきます。

データ転送料金 一覧 (JP)
データ転送量(月間累積) 料金(GB あたり)
最初の 1 TB 無料
次の 9 TB $0.114
次の 40 TB $0.089
次の 100 TB $0.086
次の 350 TB $0.084
次の 524 TB $0.080
次の 4 PB $0.070
5 PB 超 $0.060

CloudFront ↔︎ Origin 間の料金

図だと以下の赤枠の部分が該当します。
インターネット ↔︎ CloudFront 間に比べると、ここの料金は意外と見落としがちな気がします。

cloudfront-image-cloudfront-origin.drawio

また Origin までの経路が3つあるため、それぞれ解説します。
なお実際に通信が発生する際はいずれかの経路となるため、その経路の料金が発生します。

Edge Location ↔︎ Origin

リクエスト料金
  • region-Requests-HTTP-Proxy
  • region-Requests-HTTPS-Proxy
  • region-Requests-HTTPS-Proxy-FLE

CloudFront から Origin や エッジ関数 への HTTP リクエスト料金です。
HTTP であれば region-Requests-HTTP-Proxy、HTTPS であれば region-Requests-HTTPS-Proxy となります。

なお region-Requests-HTTPS-Proxy-FLE については公式ドキュメントの通り、
フィールドレベルの暗号化を実施したリクエスト数に応じて、HTTPS リクエスト料金に追加で発生します。

フィールドレベルの暗号化は、追加の暗号化を必要とするリクエストの数に応じて課金されます。
CloudFront がフィールドレベルの暗号化を使用して暗号化したリクエスト 1 万件ごとに、標準の HTTPS リクエスト料金に加えて 0.02 USD をお支払いいただきます。

https://aws.amazon.com/jp/cloudfront/pricing/

また請求書のドキュメントにて以下の記述がありますが、

CloudFront がオリジンまたはエッジ関数に転送する
HTTP WebSocket リクエスト (Upgrade: websocket ヘッダー付きの GET リクエスト) の数も含まれます。

これは クライアントハンドシェイクリクエスト のGETリクエストのことだと思われます。

https://developer.mozilla.org/ja/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#クライアントハンドシェイクリクエスト

データ転送料金
  • region-DataTransfer-Out-OBytes

CloudFront から Origin や エッジ関数 へのアウトバウンド転送料金です。
またクライアントからサーバーへの WebSocket データのデータ転送も含まれています。

Regional Edge Cache ↔︎ Origin

リクエスト料金
  • region-Requests-HTTP-Proxy
  • region-Requests-HTTPS-Proxy
  • region-Requests-HTTPS-Proxy-FLE

他と共通です。

データ転送料金料金
  • region-DataTransfer-Out-OBytes

他と共通です。

  • region-Bytes-OriginShield
  • region-OBytes-OriginShield

項目上は存在しますが、請求額は0のようです。
請求書の説明(item_description) では「$0 per GB - All data transfer XXX」のような表記になっています。

Origin Shield ↔︎ Origin

リクエスト料金
  • region-Requests-OriginShield

増分レイヤーとして Origin Shield へ送信されたリクエストに応じて発生します。
記事の構成上ここに記載していますが、
実際は Origin 間ではなく、Edge Location ↔︎ Origin Shield 間で発生すると言えます。

https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html#origin-shield-costs

  • region-Requests-HTTP-Proxy
  • region-Requests-HTTPS-Proxy
  • region-Requests-HTTPS-Proxy-FLE

他と共通です。

データ転送料金料金
  • region-DataTransfer-Out-OBytes
  • region-Bytes-OriginShield
  • region-OBytes-OriginShield

他と共通です。

CloudFront ↔︎ CloudFront Functions 間の料金

図だと以下の赤枠の部分が該当します。
みんな大好き CloudFront Functions に関連した料金です。

cloudfront-image-cloudfront-functions.drawio

リクエスト料金

  • region-Requests-HTTP-Proxy
  • region-Requests-HTTPS-Proxy
  • region-Requests-HTTPS-Proxy-FLE

他と共通です。

データ転送料金料金

  • region-DataTransfer-Out-OBytes

他と共通です。

CloudFront Function 実行料金

  • Executions-CloudFrontFunctions

CloudFront Functions の呼び出し料金です。
2,000,000件 の無料枠があるので、それを超えた分が有料となります。

Lambda@Edge に比べると CloudFront Function の実行料金が 1/6 なのは驚きました、
自由度の違いはあれど、このコストメリットが大きいので積極的に取り入れたいですね。

CloudFront ↔︎ Lambda@Edge 間の料金

図だと以下の赤枠の部分が該当します。
みんな大好き Lambda@Edge に関連した料金です。

cloudfront-image-cloudfront-lambda-edge.drawio

リクエスト料金

  • region-Requests-HTTP-Proxy
  • region-Requests-HTTPS-Proxy
  • region-Requests-HTTPS-Proxy-FLE

他と共通です。

データ転送料金料金

  • region-DataTransfer-Out-OBytes

他と共通です。

Lambda@Edge リクエスト関連料金

  • region-Lambda-Edge-Request
  • region-Lambda-Edge-GB-Second

Lambda@Edge 関数の呼び出し料金と、Lambda@Edge 関数の実行期間 (実行開始から関数のリターンや終了まで) の料金です。
またregion-Lambda-Edge-GB-Second は 1 ミリ秒単位 で利用したメモリ量を表しています。

CloudFront Function ↔︎ CloudFront KeyValueStore 間の料金

図だと以下の赤枠の部分が該当します。

cloudfront-image-functions-keyvaluestore.drawio

皆さん、CloudFront KeyValueStore という機能を知っていましたか?
(お恥ずかしながら私は知らなかったです…。)

なお GA が 2023/11/21 らしいので、人によってはもうお馴染みの機能かもしれませんね。

https://pages.awscloud.com/rs/112-TZM-766/images/reInvent2023-recap-EDGE-2-Cloudfront-services.pdf

メソッド呼び出し料金

  • KeyValueStore-EdgeReads

CloudFront KeyValueStore の読み取り呼び出し (get、exists、meta) 料金です。
2,000,000 回の無料枠があるので、それを超えた分が有料となります。

基本的には CloudFront Functions の呼び出しと連動しており、関数コード内で呼び出した数だけカウントされます。
例えば CloudFront Functions が 1,000 回呼び出され、そのコード内で CloudFront KeyValueStore の読み取りが 5 回ある場合は、合計で KeyValueStore-EdgeReads が 5,000 となります。

API 呼び出し料金

  • KeyValueStore-APIOperations

上記読み取り呼び出しに該当しない、
CloudFront KeyValueStore API の呼び出しにかかる料金です。
API 呼び出しが対象なので、マネジメントコンソールや AWS CLI、SDK からの呼び出しなども該当します。

その他料金

図だと以下の赤枠の部分が該当します。
CloudFront 自体の通信には直接影響しない料金ですね。

cloudfront-image-other.drawio

専用 IP カスタム SSL 料金

  • SSL-Cert-Custom

月額 $600 でお馴染みの、独自ドメイン + 専用 IP カスタム SSL を利用した際に発生する料金です。
一応時間割請求らしいですが、間違えて設定しないように気をつけましょう。

リアルタイムログ 生成料金

  • RealTimeLog-KinesisDataStream

CloudFront から Kinesis Data Streams に配信している、
リアルタイムログの行数に応じて発生する料金です。

キャッシュ削除料金

  • Invalidations

CloudFront でのキャッシュ削除に応じて発生する料金です。
1,000 パスの無料枠があるので、それを超えた分が有料となります。

さいごに

以上、CloudFront にかかる料金を図にしてみました。
利用料金全体を俯瞰して見ることで、改めてサービスへの理解が深まった気がします。
また知らない機能を発見できるいい機会になったので、今後も他のサービスでやってみようと思います。

なお CloudFront に限らず、マネージドサービスだとどうしても具体的な料金が意識しづらいものが多いような気がします。
そんなサービスでも正しく利用料金を把握して、コストを最適化していきたいですね。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.