独立サイトのCDN選定:Cloudflare/Akamai/Alibaba Cloudのノードとキャッシュを比較
1. CDNは独立サイトの構成で何をするのか
CDN(コンテンツ配信ネットワーク)は、画像、CSS、JS、さらにはHTMLページといった静的リソースを、ユーザーに最も近いエッジノードにキャッシュします。ドイツのユーザーがあなたのサイトにアクセスするとき、リクエストは太平洋を越えて杭州のサーバーに戻るのではなく、フランクフルトやデュッセルドルフのノードから直接返るため、ファーストビューの時間を50%から70%短縮できます。
独立サイトにとって、CDNは3つの課題を解決します。1つ目は地域をまたぐ遅延です。買い手が欧米にいてオリジンサーバーが国内にある場合、CDNがなければファーストビューは軽く5秒を超えます。2つ目はオリジンサーバーの保護です。CDNがDDoSやクローラーのトラフィックを吸収し、オリジンサーバーにはクリーンなリクエストだけが届きます。3つ目は帯域コストです。静的リソースをCDN経由で配信すれば、オリジンサーバーの帯域請求額を半分以上削減できます。
| CDNの役割 | CDNなしの場合 | CDNありの場合 | 定量的な効果 |
|---|---|---|---|
| 地域をまたぐ遅延 | 欧米ユーザーが海を越えてアクセスし、RTTは200から400ミリ秒 | 最寄りのノードから返り、RTTは20から50ミリ秒 | ファーストビューの時間を50%から70%短縮 |
| オリジンサーバーの保護 | クローラーやDDoSが直接オリジンサーバーを攻撃 | エッジノードで遮断し、オリジンサーバーにはクリーンなリクエストだけ | オリジンサーバーへのリクエストが80%以上減少 |
| 帯域コスト | すべてのリソースがオリジンサーバーに戻る | 静的リソースがCDNキャッシュにヒット | オリジンサーバーの帯域費が50%から80%減少 |
| HTTPSのオフロード | オリジンサーバーがTLSハンドシェイクを処理 | エッジノードがTLSハンドシェイクを処理 | オリジンサーバーのCPU使用率が20%から30%減少 |
CDNとキャッシュ戦略は2つの層の関係にあります。CDNはエッジノードからユーザーまでの区間を管理し、サーバー側のページキャッシュとオブジェクトキャッシュはオリジンサーバーの区間を管理します。2つの層を組み合わせて初めて、LCPを2.5秒以内に抑えられます。独立サイトのキャッシュ階層の設定はCDNによるグローバル高速化とキャッシュ戦略、Core Web Vitalsの達成ラインはCore Web Vitalsの指標と最適化の優先順位。
2. 3社のCDN比較:ノード、価格、適した用途
Cloudflare、Akamai、Alibaba Cloud CDNは、独立系サイトで最もよく名前が挙がる3社です。それぞれ立ち位置がまったく違います。Cloudflareは無料プランと世界規模のノードで中小企業市場を開拓し、Akamaiはエンタープライズ向けSLAと大規模トラフィックの制御でECやメディアを狙い、Alibaba Cloud CDNは中国国内のノードとICP登録のエコシステムで国内市場を攻めています。同じ基準で比べてはいけません。
| 比較の軸 | Cloudflare | Akamai | 阿里云CDN |
|---|---|---|---|
| 世界のノード数 | 330以上の都市 | 140以上の国 | 国内2800以上のノード、海外80以上 |
| 無料・入門プラン | 無料版、通信量無制限 | 無料プランなし、月2000ドル程度から | 従量課金、約0.18元/GB |
| 有料プランの価格 | Pro 月25ドル、Business 月250ドル | 企業契約、月数千〜数万ドル | 年間パッケージで月100元程度から |
| 向いている用途 | 中小企業、B2Bサイト、ブログ | ECのセール、メディアサイト、金融サイト | 国内からのアクセスが中心のサイト |
| 国内アクセス品質 | 普通、一部の省では遠回り | 普通、企業顧客はカスタマイズ可能 | 優秀、国内遅延10ミリ秒以内 |
| 設定の難易度 | 簡単、ワンクリックで接続 | 複雑、専任チームが必要 | 中程度、ICP登録とDNS設定が必要 |
| 追加のセキュリティ機能 | WAF、DDoS、Bot対策 | エンタープライズ向けWAF、リスク管理 | WAF、DDoSの基本版 |
具体例:杭州の産業機械メーカーが海外展開するサイトで、主な買い手はドイツとアメリカ、月間UVは約8000。このケースならCloudflareの無料版で十分です。330のノードがフランクフルトとサンノゼをカバーし、無料版でもサイト全体のHTTPSと基本WAFが付いて月額0ドル。もしAkamaiを選べば月2000ドルからで、しかも月100GBも使い切らない可能性があり、使わないエンタープライズSLAにお金を払うことになります。
三、市場とトラフィックでCDNを選ぶ判断フロー
選定ではまず「どれが一番良いか」を聞くのではなく、3つの質問に答えます。主な買い手はどの地域にいるか。月間トラフィックはおよそ何GBか。厳格なSLAが必要か。この3つに答えれば、ほぼ結論が出ます。
| 主要市場 | 月間トラフィック | SLAの要件 | 推奨プラン |
|---|---|---|---|
| 欧米が中心 | 500GB以下 | 不要 | Cloudflare無料版 |
| 欧米が中心 | 500GBから5TB | 99.9%が必要 | Cloudflare ProまたはBusiness |
| 欧米が中心 | 5TB超またはECのセール | 99.99%が必要 | Akamaiエンタープライズ版 |
| 国内が中心 | 問わない | 国内コンプライアンス | Alibaba Cloud CDN(ICP登録が必要) |
| 世界各地に分散 | 1TB以下 | 普通 | Cloudflare無料版から |
| 中東・ラテンアメリカ | 500GB以下 | 普通 | Cloudflare Business以上 |
直感に反する判断:無料版CDNは機能が限られると多くの人が思いますが、実際にはCloudflareの無料版にキャッシュルール、Page Rules、基本WAF、DDoS対策、サイト全体のHTTPSが含まれています。B2Bサイトに足りないのは画像最適化(Mirage)やPolishといった有料機能だけです。B2Bサイトは画像が多くないので、画像最適化プラグインで自分で処理すれば十分で、この2つの機能のために月25ドルのPro版に上げる必要はありません。
事例:金型五金を海外に販売するB2Bサイトで、商品画像は1枚約200KB、サイト全体で約500枚。この規模ならCloudflareの画像自動最適化は不要で、ShortPixelで1枚80KB以内に圧縮すれば、画像全体を100MBから40MBに削減でき、CDNの有料最適化より効果的です。メディア資産の管理と圧縮についてはメディア資産の管理と画像圧縮。
4. キャッシュルールの基本設定
CDNを導入しても自動で速くなるわけではありません。キャッシュルールを間違えると、CDNがないときより遅くなることもあります。よくある失敗はHTMLページをすべてキャッシュすることです。しかし自社サイトの問い合わせフォームや動的コンテンツはキャッシュできません。キャッシュすると、ユーザーが送信したフォームが他人の内容として表示されてしまいます。正しい方法はファイル種別ごとにルールを分けることです。
| リソース種別 | キャッシュ期間 | HTMLをキャッシュするか | 更新方法 |
|---|---|---|---|
| 画像(jpg/png/webp) | 30日〜1年 | 該当なし | ファイル名のハッシュで自動更新 |
| CSS/JS | 7日〜30日 | 該当なし | バージョン更新で自動失効 |
| HTMLページ | 直接キャッシュしない | サーバー側のページキャッシュを使う | 新バージョン公開時に手動更新 |
| 問い合わせフォームページ | キャッシュしない | 必ずno-cache | 常にオリジンへ |
| XML sitemap | 1時間 | 短時間キャッシュ | 期限切れで自動再取得 |
| wp-admin管理画面 | キャッシュしない | 必ずno-cache | 常にオリジンへ |
キャッシュヒット率はCDN設定が適切かを見る中心指標です。静的リソースのヒット率目標は95%以上、HTMLページはサーバー側キャッシュを経由して80%以上が目標です。ヒット率が10%上がるごとに、オリジンの帯域コストは約30%下がります。Cloudflare AnalyticsのCache Hit Rateを見て、静的リソースのヒット率が90%を下回るなら、キャッシュ期間が短すぎるか、ファイルURLが変わり続けています。
自社サイトのページキャッシュ、オブジェクトキャッシュ、ブラウザキャッシュの3層設定とCDNの連携については自社サイトの3層キャッシュ戦略をご覧ください。CDN有効化後の監視とアラートはサイト監視とアラートのチェックリスト。
5. 導入後の確認とよくある落とし穴
CDNを接続しただけで成功と判断せず、4項目の確認が必須です。第一に、対象市場からWebPageTestで初回表示を測定し、LCPが実際に下がったか確認します。第二に、HTTPS証明書がすべてのサブドメインをカバーしているか確認します。第三に、問い合わせフォームが正常に送信できるかテストします(CDNキャッシュはフォームページを静的ページとしてキャッシュしがちです)。第四に、robots.txtとsitemap.xmlが古いバージョンでキャッシュされていないか確認します。
| よくある落とし穴 | 現象 | 原因 | 修正方法 |
|---|---|---|---|
| HTMLがページ全体でキャッシュされる | 訪問者に他人が送信したフォーム内容が見える | CDNキャッシュルールがHTMLもキャッシュしている | HTMLをno-cacheにし、サーバー側キャッシュに任せる |
| 画像が更新されない | ロゴを変えてもユーザーに反映されない | ファイル名が変わらずキャッシュが失効しない | ファイル名にバージョン番号かハッシュを付ける |
| 中国国内からのアクセスが遅くなる | 国内ユーザーの初回表示がCDNなしより遅い | Cloudflareの国内ノードが遠回りする | 国内トラフィックはAlibaba Cloud CDNかオリジン直結に切り替える |
| HTTPS証明書エラー | 一部のサブドメインで証明書エラー | 証明書がすべてのサブドメインをカバーしていない | ワイルドカード証明書を取得する |
| クローラーが誤ってブロックされる | Googlebotがページを取得できない | WAFルールが厳しすぎる | GooglebotとBingbotのUAを許可する |
| キャッシュが更新されない | 内容を変更しても本番に反映されない | CDNのデフォルトキャッシュ時間が長すぎる | 公開後に手動でPurgeするか短いTTLを設定する |
CDNの選定は「まず動かしてから最適化する」プロセスです。選定段階で3か月も各社を比較する必要はありません。正しい進め方は、まずCloudflareの無料版を導入し、3か月動かして帯域とヒット率のデータを見てから、アップグレードやAlibaba Cloudへの乗り換えを判断するというものです。月間トラフィックが長期的に100GBを下回るなら、無料版をずっと使い続けられ、Proプランに上げる必要はありません。海外向けサイトの日常メンテナンスでは、CDN設定の確認は毎月の定例作業の一つです。詳しくは公式サイト保守で毎月やる6つのことをご覧ください。海外向けサイトのデータコンプライアンスとCookie設定もCDNと連携させる必要があります。詳しくは海外展開サイトのコンプライアンス基盤。
最後に一点注意です。CDNを導入した直後にオリジンサーバーのセキュリティ対策を切らないでください。CDNがすでに一段防いでいるからと、オリジン側のファイアウォールやWAFを止めてしまうのは誤りです。CDNが防げるのはあくまでCDNに届くトラフィックだけです。サーバーのIPが漏れると、攻撃者はCDNを迂回してオリジンを直接攻撃できます。正しい方法は、オリジンのファイアウォールでCDNのIPレンジだけを許可し、それ以外の接続元はすべて拒否することです。これならCDNのオリジンへのアクセスは妨げず、オリジンへの直接攻撃は防げます。Cloudflareの公式ドキュメントにIPレンジの一覧があるので、レンジ単位で許可リストに追加してください。
FAQ よくある質問
Cloudflareの無料版で足りるのか?
Akamaiが必要になるのはどんなとき?
Alibaba Cloud CDNとCloudflareはどう選ぶ?
CDNがHTMLページをキャッシュしてしまったら?
キャッシュヒット率はどのくらいなら正常ですか?
CDNを導入するとGoogleがクロールできなくなりますか?
最後に
CDN選定で最大の誤解は、「エンタープライズ向け」を「自分に合っている」と同一視することです。Akamaiは確かに強力ですが、それは毎秒10万リクエストをさばくECサイトや毎秒100万PVのメディアサイトに提供するものです。月間UV8千のB2Bサイトなら、Cloudflareの無料版で十分です。浮いたお金をコンテンツとSEOに回したほうが、2千ドル払ってエンタープライズSLAを買うよりはるかに見返りが大きいです。
実行は3ステップです。第一に、主要な買い手の地域と月間トラフィックを確認し、判断ツリーに沿ってCDN事業者を選びます。第二に、キャッシュルールを設定し、静的リソースは7日以上キャッシュ、HTMLはサーバー側キャッシュに任せ、フォームページは絶対にキャッシュしません。第三に、3か月運用して帯域の請求額とヒット率を見て、足りなければアップグレードします。この3ステップを終えれば、無料版の機能制限で行き詰まることも、使わないエンタープライズ機能にお金を払うこともなくなります。
覚えておきたい一言:CDNは高ければ高いほど良いのではなく、合っているほど良いのです。月間UV数千のB2Bサイトなら、Cloudflareの無料版が答えです。使わないエンタープライズSLAに2千ドル余分に払わないでください。
