要約
- CloudFrontの従量課金では、アカウント全体で毎月最初の1,000パスの無効化が無料。その後は1パス0.005ドルで、多数のファイルを覆うワイルドカードも一つと数える。
- 消した内容は、その後の閲覧要求に応じてオリジンから取り直す。AWSのオリジンからの通常の取得転送は無料だが、オリジンのサービス料金や処理時間は別に残る。
- 定額プランには無効化が含まれる。料金方式が変わっても、更新の範囲、版ごとのファイル名、旧版の保持を決める仕事は利用企業にある。
変更したファイルを一つずつ調べる。関連するページを探す。残してよいキャッシュを見分ける。更新作業の途中で、誰かが「全部消せば早い」と言いたくなるのは理解できる。CloudFrontの従量課金表は、その一言にとても小さな値札を付ける。
無効化料金が数えるのはパスだ。ファイルを一つ指定しても、末尾にワイルドカードを付けて何千ものファイルを対象にしても、一つのパスとして扱う。アカウント内の全ディストリビューションを通算し、月の最初の1,000パスは無料。それを超えると1パス0.005ドルになる。複数のパスを一つのAPI要求に詰めても、パスの数は減らない。AWSの説明は、数える単位を明確にしている。
無料枠を使い切った後の計算をしてみよう。十のパスを個別に指定すれば、この料金は0.05ドル。十を含む範囲を一つのワイルドカードで指定すれば0.005ドルだ。さらに無関係のファイルが何個含まれても、この一行の料金は増えない。これは料金表に基づく計算であり、特定企業の請求実績ではない。
従量料金表が売っているのは、短く表現できる無効化の命令だ。そこから企業が「広く消すほど更新全体も安くなる」と判断するまでには、かなり大きな飛躍がある。表計算の小数点は正確でも、見ている仕事が足りない。
消えたコピーの仕事は、後から戻ってくる
キャッシュは、既に取得した内容を使い回すためにある。CloudFrontでファイルを無効化すると、その後に利用者から要求が来た時点で最新の内容をオリジンから取得する。命令を受けた瞬間、全ファイルを先回りして埋め直すわけではない。無効化と版管理の文書が示すのは、次の要求に結び付いた動作である。
広い無効化で考えるべきなのは、更新していないのに巻き込んだ人気コンテンツだ。そのコピーを使い続けられたところへ、取り直す仕事が戻る可能性がある。どれほど増えるかはアクセスの分布、キャッシュの階層、要求の集約で変わる。誰も再訪しないファイルまで、消したというだけで直ちにオリジンの仕事になることはない。
ここで転送料金を大げさに積み上げると、話を間違える。AWSサービスをオリジンにした通常のCloudFront取得では、その転送は無料だ。確認するのはオリジンサービス固有の要求・処理などの料金と、内容を取り直す時間である。閲覧者一人につき必ず一回オリジンへ行く、といった単純な掛け算も使えない。
小さな無効化料金が、この仕事を測っていないことが重要になる。更新担当が見せる節約額と、基盤担当が説明する処理量は違う列に入る。二つの部署がそれぞれ正しい数字を報告し、会社全体では何を節約したのか分からなくなる。請求書より組織図のほうが複雑なのだ。
命名に使わなかった時間
無効化の範囲には具体的な癖がある。ワイルドカードはパスの末尾に置く。/*ならディストリビューション全体を対象にできる。Cookieやヘッダーに応じて保存した複数の版は、そのパスの無効化でまとめて対象となり、一つの版だけを選べない。クエリ文字列による違いは、対応するパスを指定するか末尾のワイルドカードで覆う。対象指定の文書には、その区別が載っている。
精密に消すためには、自分たちが何をどう保存しているか知っていなければならない。広く消すと、その調査を省ける。目先の締め切りには役立つ。しかし毎回省いた調査は、翌週になって自然に完成しているわけでもない。星印は依存関係の説明を短くするというより、説明を先送りする道具にもなる。
AWSが更新の多いファイルに勧めるのは、版ごとに異なるファイル名を使う方法だ。新しいページから新しい名前を参照し、古いファイルはそのまま残す。無効化料金が発生せず、アクセスログで版を追いやすく、前の版へ戻す作業も行いやすい。ブラウザーや社内プロキシが古いコピーを保持していても、新しい名前への要求を使える。
その代わり、参照先を正しく切り替え、必要な旧版を保持する仕事が増える。クエリ文字列を足すだけの話とも区別したい。ファイル名の版管理は、更新の設計を消去作業から成果物と参照の管理へ移す。必要な仕事をなくすというより、先に整理しておく選択だ。
なお、現在のCloudFront定額プランは、各段階に高速なキャッシュ無効化を含む。1パス0.005ドルという議論が当てはまるのは従量課金である。定額化しても、広い無効化がどの内容を巻き込むか、オリジンにどんな仕事が戻るかは残る。
特定の更新でどちらが得かを決めるには、その更新前後の取得記録とオリジンの単価が足りない。その結果によって、細かな指定が得にも、手間の割に合わない選択にもなる。安い命令を買うことは簡単だ。安い更新を実現するには、消した後まで見に行く必要がある。
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
ストラテジックサークル限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加





