クラウド egress 対 CDN 節約計算ツールでできること
クラウドプロバイダーは、データが自社ネットワークから公開インターネットへ出るたびに、ギガバイトあたりの egress 料金を課金します。アクセスの多いウェブサイト、メディアライブラリ、ソフトウェアのダウンロードをオリジンのストレージやコンピュートから直接配信すると、この egress の項目がクラウド請求の最大の部分の一つになりかねません。コンテンツ配信ネットワーク(CDN)はコンテンツをエッジロケーションにキャッシュするため、ほとんどのリクエストはより低い配信レートで CDN が応答し、オリジンに一切到達しません。
この計算ツールは二つのアプローチを比較します。すべてのトラフィックをクラウドの egress から直接配信した場合の料金、CDN を前面に置いた場合の料金(CDN の配信料に、キャッシュミス時のより少ないオリジン egress を加えたもの)、そしてそれによる月間・年間の節約額を見積もります。
使い方
ユーザーへ配信する月間データ量をギガバイトで、クラウドの egress レートを GB あたりのドルで、CDN 配信レートを GB あたりのドルで、そして想定する キャッシュヒット率をパーセントで入力してください。パブリッククラウドの egress は通常 GB あたり $0.08 から $0.12 程度、一般的な CDN 配信はしばしば GB あたり $0.01 から $0.05 で、よく調整された静的サイトなら 90% 以上のキャッシュヒット率に達することもあります。最も正確な結果を得るには、ご自身のプロバイダーの料金ページのレートを使ってください。この計算ツールは直接 egress のコスト、CDN の総コスト、そして節約額を返します。
計算式の解説
T を月間トラフィック(GB)、R_e をクラウドの egress レート、R_c を CDN の配信レート、H を 0 と 1 の間の割合で表したキャッシュヒット率とします。
すべてをクラウドの egress から直接配信するコストは次のとおりです。
$$ D = T \times R_e $$CDN を使うと、ユーザーは CDN レートで配信され、キャッシュミスの分だけがオリジンから egress として出ていきます。
$$ C = T \times (1 - H) \times R_e + T \times R_c $$したがって月間の節約額と節約率は次のとおりです。
$$ S = D - C $$ $$ \text{Savings \%} = \frac{D - C}{D} \times 100 $$キャッシュヒット率が高いほどオリジン egress の項が小さくなり、CDN レートが低いほど配信の項が小さくなるため、どちらも節約を押し上げます。
計算例
たとえば月間 10,000 GB(10 TB)を配信し、クラウドの egress レートが $0.09/GB、CDN 配信レートが $0.02/GB、キャッシュヒット率が 90% だとします。
直接 egress: 10,000 x $0.09 = $900。CDN を使うと、オリジンは 10% のキャッシュミス分だけを配信します: 10,000 x 0.10 x $0.09 = $90、これに CDN 配信の 10,000 x $0.02 = $200 を加えて、合計 $290。月間の節約額は $900 - $290 = $610、約 67.8% の削減で、年間ではおよそ $7,320 になります。
よくある質問
CDN は必ずコストを節約しますか? いいえ。キャッシュヒット率が低い、または CDN レートが egress レートに近い場合、CDN の配信料にミス時のオリジン egress を加えたものが直接 egress と同等かそれ以上になることがあります。通常はキャッシュヒット率を上げることが最大の効きどころです。
CDN を使ってもオリジン egress が課金されるのはなぜですか? キャッシュミスのたびに CDN はオリジンからオブジェクトを取得する必要があり、その取得はクラウドから egress として出ていきます。キャッシュされた分(ヒット率)だけがオリジン egress を回避できるため、高いヒット率が非常に重要になります。
どのくらいのキャッシュヒット率を見込めばよいですか? 静的アセットやバージョン付きファイルは 90〜99% でキャッシュされることが多い一方、高度にパーソナライズされたコンテンツや急速に変化するコンテンツはキャッシュされにくいです。推測ではなく、CDN の分析で実際のヒット率を確認してください。