最新のアプリケーションを大規模に運用しているなら、あるお決まりのパターンに気づいていると思います。インフラストラクチャのコストは最初は妥当に見えますが、トラフィックやデータ使用量が増えるにつれて静かに膨れ上がっていくか、あるいはコスト効率を維持するためにさらなるサービスのセット契約を余儀なくされる、というものです。
特に、データの送信料金は、クラウド支出における大きな、かつ過小評価されがちな要因となっています。アプリケーションがスケールし、コンテンツがより動的になるにつれ、オリジンへの通信が発生するたびに実質的なコストが発生します。かつては端数誤差のように感じられたものが、あっという間に無視できない金額の請求項目へと変わってしまうのです。
Fastly では、顧客がパフォーマンスと経済性の両方において、より高いコントロールを持つべきだと考えています。幸いなことに、適切なアーキテクチャとプラットフォームを選択すれば、不要なオリジントラフィックを大幅に削減し、高騰するデータ送信コスト上昇を防ぐことができます。
今日から始める方法をご紹介します。
1. キャッシュヒット率をビジネス指標として扱う。
キャッシュヒット率 (CHR) は、パフォーマンスにとって常に重要です。今日では、コストコントロールにおいても同様に重要です。キャッシュヒット率を単なるエンジニアリング指標ではなく、ビジネス指標として扱うと、より意図的な意思決定が促進されます。
チームは意図せずにキャッシュヒット率を低下させてしまうことがよくあります。過度に積極的なパージ、保守的な TTL、または実際のコンテンツ使用方法と整合しないデフォルトのキャッシュ動作などです。キャッシュヘッダーと有効期限ポリシーを意図的に設定することで、鮮度を損なうことなくオリジンへのトラフィックを大幅に削減できます。以下に、キャッシュヒット率をさらに向上させるために当社チームが支援できる追加の事例をいくつかご紹介します。
A) リクエストキーの正規化
ルックアップ段階に到達する前にリクエストを「クリーニング」することで、キャッシュを大幅に統合できます。
クエリ文字列のソート :
?a=1&b=2と?b=2&a=1が同じキーとして扱われるようにします。マーケティングパラメータの削除 : キャッシュルックアップの前に
utm_source、gclid、またはfbclidを削除します。これらは配信されるコンテンツに価値を加えない一方で、無限のキャッシュミスを引き起こします。ヘッダーの正規化 : Accept-Encoding を変更する場合は、gzip、deflate と deflate、gzip が2つの別個のキャッシュエントリを作成しないように正規化します。
B) レジリエンスとスピードを得るために「失効済み」を活用
オリジンサーバーに負荷がかかっている際にコンテンツ配信ネットワークが適切に対応できるよう、ヘッダーを使用してください。
stale-if-error: オリジンがダウンしたり 5xx エラーを返したりした場合、コンテンツ配信ネットワークにキャッシュされたバージョンを1時間 (または1日) 余分に提供し続けるように指示します。再有効化中の失効済みコンテンツの配信: ユーザーは少し古いバージョンを即座に取得し、コンテンツ配信ネットワークがバックグラウンドで更新を取得します。
C) サロゲートキーによるスマートパージ
安易な「Purge All」コマンドの実行は、キャッシュヒット率を激減させる要因となります。代わりに以下の手法を活用しましょう。
タグ付け :
サロゲートキーヘッダーでコンテンツにタグ付けします。たとえば、ブログ記事にはpost_123、author_45、category_marketingなどのキーを設定します。ターゲットを絞った無効化 : 記事が編集された場合、
post_123のみをパージします。残りのキャッシュは温存され、エグレスコストは安定します。その他のキャッシュは有効な状態に保たれるため、データ転送コストの上昇を抑えることができます。
まとめ : キャッシュヒット率の向上=クラウド費用削減。クラウドプロバイダーに対して、重複するコンピュートサイクルへの支払いをやめましょう。負荷の高い作業はエッジに任せましょう。
2. Origin Shield でトラフィックを統合する
キャッシュヒット率が高くても、グローバルなトラフィックスパイクはオリジンを圧倒する可能性があります。「シールド」がなければ、キャッシュミスが発生した世界中の Fastly 配信拠点が同時にオリジンにアクセスしてしまうからです。
Fastly Origin Shield は中間キャッシュレイヤーとして機能します。90以上の場所の配信拠点がそれぞれクラウドプロバイダーへ同じ更新データを取りに行くのではなく、まずは指定された単一のシールド配信拠点へ一斉に確認を行うようになります。
このアプローチには、主に2つのメリットがあります。
リクエスト共有 : 同じコンテンツに対する複数のリクエストは、オリジンへの単一のリクエストに「まとめられ」ます。
大幅なデータ送信コストの節約 : 取得を一元化することで、サーバーの CPU を保護するだけでなく、まったく同じデータバイトに対して発生する、数十件もの重複した転送課金を防ぐことができます。

3.価値の高いコンテンツにキャッシュリザベーションを活用する
安定した需要がある大容量ファイル (人気の画像、動画、ソフトウェアパッケージなど) は、通常のキャッシュ圧迫によって削除されると、そのたびにオリジンから再取得することになり、多大なコストがかかります。キャッシュリザベーションは、この問題に直接対応します。
キャッシュリザベーションを使用すると、特定のオブジェクトが Fastly のネットワーク全域から追い出されるのを防ぐことができます。その結果、エッジでの可用性が予測可能になり、オリジンへの取得回数が減少して、より安定したコスト運用が可能になります。
多くの顧客にとって、その ROI (投資収益率) は明快です。適切な資産に対してキャッシュを予約しておくコストの方が、それらを再取得するために繰り返し支払うコストよりも安く済むことが多いためです。
4. 大規模資産の保管・提供場所を再考する
さらなる改善を目指すチームは、そもそも大規模資産をどこに配置するかを再考する価値があります。
Fastly Object Storage は、データを1か所に保存し、ユーザーがリクエストするたびに追加料金を支払うという従来のアーキテクチャの根本的な非効率性を排除するように設計されています。Fastly Object Storage では、エッジからコンテンツを提供するためのデータ送信料金はかかりません。
画像、ビデオライブラリ、バイナリを Fastly のプラットフォームに直接保存して提供することで、顧客はアーキテクチャを簡素化し、変動費というカテゴリーそのものを一掃することが可能になります。
5. Origin Inspector でリアルタイムの可視性を実現する
測定できないものを管理することはできません。多くのチームは、毎月の請求書が届いて初めてコストの高騰に気づきます。そのため、具体的にどのアプリケーションや行動がその原因となったのかを特定することは不可能です。
Fastly Origin Inspector は、オリジンから Fastly エッジに流れるデータの状況を、リアルタイムおよび履歴データとして可視化します。この高い可視性により、以下のことが可能になります。
「通信過多な」オリジンの特定 : どのサービスがデータ送信コストを押し上げているのかを正確に特定します。
最適化の効果検証 : 新しいキャッシュポリシーやキャッシュリザベーションの導入後、オリジントラフィックに与えた即時の影響を確認できます。
コスト予測 : 実際のトラフィックパターンに基づいた正確なデータを使用して、将来のクラウドコストを予測できます。
Origin Inspector を有効にすることで、請求が届いてから驚く事後的な対応から、積極的なコスト管理へと移行できます。

重要なポイント
クラウドプロバイダーは常に自社のビジネスモデルに合わせてプラットフォームを最適化します。これは批判ではなく、現実です。
重要なのは、ユーザー、パフォーマンス目標、そして予算に合わせて最適化するためのツールをあなたが手にしているかどうかです。規律あるキャッシング、保護されたエッジストレージ、そしてコンテンツ配信に対するエッジネイティブなアプローチを採用することで、コストとスケーラビリティの両方においてコントロールを取り戻すことができます。
インフラストラクチャのコストの上昇は避けられないわけではありません。適切な戦略があれば、それは設計上の選択となります。
Fastly がインフラストラクチャのコスト削減をどのように支援できるか、詳しくお知りになりたいですか?ぜひ、お問い合わせください。


