Slide 1

Slide 1 text

コスト観点で見る CloudFront ~ NRIネットコム TECH AND DESIGN STUDY #47 ~ 2024年 10月 30日 NRIネットコム株式会社 NTシステム事業二部 西 洋平 #nncstudy

Slide 2

Slide 2 text

1 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ 西 洋平 (NISHI Yohei) ⚫ NRIネットコム株式会社 NTシステム事業二部 (@Osaka) ◼ Web システム開発運用チームのインフラ担当 ⚫ IaC や SaaS による運用とシステム改善 ⚫ たまにサーバレスアプリケーション開発 自己紹介 https://jawsug-asa.connpass.com/event/291918/ https://tech.nri-net.com/entry/cloudfront_in_terms_of_cache_control https://nrinetcom.connpass.com/event/321983/ #nncstudy

Slide 3

Slide 3 text

2 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼AWS マネージドな、グローバル展開されている CDN サービス ◼世界中に存在する Edge location によって高信頼・低遅延な Web コンテンツ配信を実現する Amazon CloudFront (CloudFront) おさらい #nncstudy

Slide 4

Slide 4 text

3 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ CloudFront の利用で発生するコスト要因には主に以下のものがある 1. CloudFront を介する通信 (リクエスト数・データ送信容量) 2. CloudFront のセキュリティ・キャッシュに関連する機能 3. エッジ関数 (Lambda@Edge・CloudFront Functions) 4. Origin Shield の利用 5. 料金クラス CloudFront 利用における費用の要因 #nncstudy 1. 2. 3. 4.

Slide 5

Slide 5 text

4 Copyright(C) NRI Netcom, Ltd. All rights reserved. CloudFront を介した通信 (リクエスト数・データ送信容量) に伴う費用 #nncstudy

Slide 6

Slide 6 text

5 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ CloudFront の利用で生じる主な費用は、リクエスト数や送信データ量に基づく従量課金制となっている ◼ CloudFront への HTTP リクエスト数 や CloudFront が送信するデータの量 (GB 単位) が指標として利用される CloudFront を介した通信 (リクエスト数・データ送信容量) に伴う費用 #nncstudy

Slide 7

Slide 7 text

6 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ 東京リージョンの場合、HTTP リクエスト 10,000 件毎に 0.009 USD が課金される ⚫ HTTP・HTTPS で料金が異なり、HTTP リクエストの場合は 0.009 USD、HTTPS リクエストの場合は 0.012 USD が課金される CloudFront を介した通信 (リクエスト数・データ送信容量) に伴う費用 ~ CloudFront への HTTP メソッドのリクエストによる課金 ~ #nncstudy

Slide 8

Slide 8 text

7 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ 東京リージョンの場合、オリジンへのデータ転送量に応じて、0.06 USD / GB だけ課金される ⚫ オリジンへの通信に対する課金はデータ転送量に寄らず一定 CloudFront を介した通信 (リクエスト数・データ送信容量) に伴う費用 ~ CloudFront からオリジンへのデータ転送量による課金~ #nncstudy

Slide 9

Slide 9 text

8 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ インターネットへのデータ転送料に応じて課金される (東京リージョンの料金テーブルを例示) ⚫ 月々の転送総量に応じて課金額が変動する CloudFront を介した通信 (リクエスト数・データ送信容量) に伴う費用 ~ CloudFront からインターネットへのデータ転送量による課金 ~ #nncstudy 一ヶ月あたりのデータ転送量 GB あたりの料金 10 TB まで 0.114 USD 40 TB まで 0.089 USD 100 TB まで 0.086 USD 350 TB まで 0.084 USD 524 TB まで 0.080 USD 4 PB まで 0.070 USD 6 PB 超 0.060 USD

Slide 10

Slide 10 text

9 Copyright(C) NRI Netcom, Ltd. All rights reserved. セキュリティ・キャッシュ・Edge 関数・その他機能による費用 #nncstudy

Slide 11

Slide 11 text

10 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ CloudFront は特別な設定を施さなくてもコンテンツキャッシュ機能は利用できる ◼ キャッシュの無効化や特殊なセキュリティ設定等、追加機能を利用する際には通信以外の課金が発生する セキュリティ・キャッシュ・Edge 関数・その他機能による費用 #nncstudy

Slide 12

Slide 12 text

11 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ 月々 1,000 パスまでは無料で無効化可能だが、それ以降は無効化するパス毎に 0.005 USD の料金が発生する セキュリティ・キャッシュ・Edge 関数・その他機能による費用 ~ キャッシュ無効化リクエストによる課金 ~ /path/pattern_1 /path/pattern_2 : : /path/pattern_1000 /path/pattern_1001 (以降の無効化には料金が発生) #nncstudy

Slide 13

Slide 13 text

12 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ CloudFront – オリジン間で、リクエスト内の機密情報等を個別に暗号化する機能 ◼ この機能による暗号化を利用したリクエスト 10,000 件毎に 0.02 USD が課金される セキュリティ・キャッシュ・Edge 関数・その他機能による費用 ~ フィールドレベル暗号化リクエストによる課金 ~ ディストリビューションに登録した鍵を利用し、 リクエスト内の特定情報を暗号化する #nncstudy

Slide 14

Slide 14 text

13 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ 専用 IP アドレスを利用しての SSL 認証を行うための証明書を利用可能 ⚫ SNI 非対応の古い仕組みなどで利用する ◼ CloudFront ディストリビューションに関連付けられる証明書あたり 600 USD / 月が課金される セキュリティ・キャッシュ・Edge 関数・その他機能による費用 ~ 専用 IP による独自 SSL 証明書の利用による課金 ~ 課金は証明書単位で発生する #nncstudy

Slide 15

Slide 15 text

14 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ CloudFront ディストリビューションへのリクエスト情報をリアルタイムで取得するにはリアルタイムログ機能が必要 ⚫ 標準ログは 1 時間以内に Amazon S3 へ出力される ◼ リアルタイムログ機能は行数に課金され、ログ送信先へ出力する 100 万ログ行毎に 0.01 USD が課金される ⚫ ログは Amazon Kinesis Data Streams や Amazon Data Firehose への出力が可能 セキュリティ・キャッシュ・Edge 関数・その他機能による費用 ~ リアルタイムログ機能の利用による課金 ~ #nncstudy

Slide 16

Slide 16 text

15 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ いずれも呼び出し数で課金され、コスト面は CF2 が安価 (Runtime・コードサイズ・起動トリガ等の制約はある) ⚫ CF2: 100 万件の呼び出しあたり 0.10 USD ⚫ L@E: 100 万件の呼び出しあたり 0.60 USD ◼ CF2 のみ利用可能な CloudFront KeyValue Store は CF2 からの 100 万件の読み取りあたり 0.03USD セキュリティ・キャッシュ・Edge 関数・その他機能による費用 ~ Lambda@Edge(L@E) ・CloudFront Functions (CF2) の利用 ~ オリジンリクエスト / レスポンス → L@E のみ利用可能 ビューワーリクエスト / レスポンス → CF2・L@E の両方が利用可能 #nncstudy

Slide 17

Slide 17 text

16 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ Regional edge cache とオリジンとの間にキャッシュレイヤを追加することが可能な機能 ◼ 東京リージョンの場合、HTTP リクエスト 1 万件あたり 0.0090 USD が課金となる セキュリティ・キャッシュ・Edge 関数・その他機能による費用 ~ Origin Shield ~ #nncstudy

Slide 18

Slide 18 text

17 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ 利用する Edge location を地域単位で制限し、利用コストを抑えることができる仕組み ⚫ その分対象地域におけるワークロードのレイテンシは犠牲となる ◼ クラスには 100 と 200 が用意されており、それぞれに含まれる地域が決まっている セキュリティ・キャッシュ・Edge 関数・その他機能による費用 ~ 料金クラス ~ https://aws.amazon.com/jp/cloudfront/pricing/ より 料金が比較的安価な欧米など主要リージョンはクラス 100 に含まれている

Slide 19

Slide 19 text

18 Copyright(C) NRI Netcom, Ltd. All rights reserved. 無料枠とワークロードのコスト低減 #nncstudy

Slide 20

Slide 20 text

19 Copyright(C) NRI Netcom, Ltd. All rights reserved. 項目 1 ヶ月あたりの無料枠 CloudFront からインターネットへのデータ転送 1TB まで無料 CloudFront への HTTP・HTTPS リクエスト 10,000,000 件 (一千万件) まで無料 CloudFront Functions の呼び出し 2,000,000 (二百万件) まで無料 CloudFront KeyValue Store の読み込み 2,000,000 (二百万件) まで無料 ◼ 利用に応じた従量課金は発生するが、全機能は追加料金やプラン変更なしで常に利用可能 ◼ SSL 証明書の利用 (≠ 固定 IP の独自 SSL 証明書) ◼ 課金要素のうち、一ヶ月あたり以下の容量 / 件数までは無料 無料枠 #nncstudy

Slide 21

Slide 21 text

20 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ CloudFront での料金削減においては、前述の料金体系より以下の点が主な考慮ポイントとなる ⚫ キャッシュキーの検討で、オリジンへの負荷を軽減する → オリジンへの送信データ容量を削減 ⚫ コンテンツ毎のライフサイクルを考慮の上、配信ファイルの配置パスを設計する → キャッシュ無効化リクエストの効率化 ⚫ Edge 関数は CF2 を優先的に利用する → 一回あたりの費用と無料枠で L@E より安価に利用可能 ◼ しかし、コストインパクトの観点では AWS WAF 等の他サービスとの併用が影響が大きい CloudFront の利用とそのワークロードのコスト削減を考える #nncstudy

Slide 22

Slide 22 text

21 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ AWS パートナー企業が提供するアカウント管理の場合、CloudFront の利用費用が割引されるプランあり ⚫ e.g. CloudFront のアウトバウンド費用を 65% 割引可能なプラン ◼ CloudFront をワークロードの前段に配置する → オリジンとなる AWS サービスのアウトバウンド通信コストを削減可能 CloudFront の利用とそのワークロードのコスト削減を考える ※ と は前述の CloudFront のコストが発生する通信 がコスト削減対象となる通信 #nncstudy アウトバウンド通信 (0.114 USD / GB※ の課金対象) が オリジン → CloudFront の通信 (課金対象ではない) となる ※ 東京リージョンの場合

Slide 23

Slide 23 text

22 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ AWS パートナー企業が提供するアカウント管理の場合、CloudFront の利用費用が割引されるプランあり ⚫ e.g. CloudFront のアウトバウンド費用を 65% 割引可能なプラン ◼ CloudFront をワークロードの前段に配置する → オリジンとなる AWS サービスのアウトバウンド通信コストを削減可能 CloudFront の利用とそのワークロードのコスト削減を考える アウトバウンド通信 (0.114 USD / GB※ の課金対象) が オリジン → CloudFront の通信 (課金対象ではない) となる ※ 東京リージョンの場合 ※ と は前述の CloudFront のコストが発生する通信 がコスト削減対象となる通信 #nncstudy CloudFront からのアウトバウンド通信は 月々 1TB までの無料枠あり

Slide 24

Slide 24 text

23 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼ CloudFront の利用で発生するコスト要因には主に以下のものがある ⚫ CloudFront を介した通信 (データ送信容量・リクエスト数) ⚫ CloudFront のセキュリティ・キャッシュに関連する機能の利用 ⚫ エッジ関数 (Lambda@Edge・CloudFront Functions) の利用 ⚫ Origin Shield の利用 ⚫ 料金クラス ◼ アカウント契約のプラン次第で CloudFront の利用費用を削減することが可能 ◼ ワークロードの前段に CloudFront を配置することで、CloudFront の無料枠を利用した費用削減が可能 おわりに #nncstudy