CDNとは何か、Cloudflareを挟む理由【入門】無料で何ができる?
TL;DR
CDN(Content Delivery Network)は、世界中に分散したサーバー群でコンテンツをキャッシュし、利用者に最も近い拠点から配信する仕組みです。これにより表示が速くなり、オリジンサーバーの負荷が下がり、DDoS や不正アクセスへの耐性も上がります。
Cloudflare は無料プランから使えます。 アカウントを作ってドメインのネームサーバーを向けるだけで、CDN・SSL・基本的な DDoS 緩和がすべて有効になります。クレジットカード登録は不要です。
この記事は CDN の基礎をまとめた入口記事です。個別の設定や応用は、本文中のリンク先で深掘りしています。
「自分のサイトにも CDN は要る?」
結論から言います。ブログ・メディア・ポートフォリオなど、不特定多数に公開するサイトであれば、CDN を挟むのが現代のスタンダードです。 特に理由がなければ Cloudflare の無料プランから始めてください。
CDN なしと比べて、速度・防御・コストの 3 点すべてで状況が改善します。詰める必要があるのは「何をキャッシュして、何を除外するか」だけで、それも設定の読み方さえ分かれば難しくありません。
CDNとは何か
CDN は、オリジンサーバー(実際にコンテンツを持つ大元のサーバー)と利用者の間に挟まる、地理的に分散した中継ネットワークです。各拠点をエッジサーバーと呼びます。
「オリジンサーバー」って何? あなたが契約しているレンタルサーバーやVPSのことです。Webページを生成・保管している本体です。CDN はそこへの道中に挟まる「前捌き層」です。
利用者がアクセスすると、Anycast という仕組みによって、物理的・ネットワーク的に近いエッジサーバーへ振り分けられます。
「Anycast」って何? 同じ IP アドレスを世界中の複数の拠点で持たせておき、利用者が最も近い拠点に自動的に到達するルーティング方式です。DNS の仕組みとは別のレイヤーで動いていますが、利用者側は何も意識しなくていいです。「近い拠点に自動で繋がる仕組み」と覚えておけば十分です。
エッジに目的のコンテンツがキャッシュされていれば、オリジンまで取りに行かず、エッジから直接返します。
「キャッシュ」って何? 一度取得したコンテンツをエッジサーバーにコピーして保持しておくことです。次のアクセスのときに、大元(オリジン)まで取りに行かず、近くのコピーからすぐに返せます。
何が速くなるのか
エッジキャッシュ
エッジサーバーは、一度オリジンから取得したコンテンツを一定期間ローカルに保持します。次に同じコンテンツが要求されたとき、オリジンへ問い合わせず即座に返せるため、応答が速くなります。
キャッシュが残っている状態を HIT、残っておらずオリジンへ取りに行く状態を MISS と呼びます。Cloudflare ではこの状態を CF-Cache-Status ヘッダーで確認できます(詳細は Cloudflareキャッシュをバイパスする方法 を参照)。
地理分散とTTFB
利用者からオリジンまでの物理距離が遠いほど、通信の往復に時間がかかります。エッジサーバーが利用者の近くにあれば、TTFB(Time To First Byte)、つまり「リクエストを送ってから最初の 1 バイトが届くまでの時間」が短くなります。
TTFB が重要な理由: Google の Core Web Vitals でもサーバー応答速度の指標として参照されます。オリジンが国内 1 拠点のみの場合、海外からのアクセスは TTFB だけで数百ミリ秒増えることがあります。CDN を挟むと、世界中どこからでも近いエッジから返せるため、地理的なばらつきが平準化されます。
| 項目 | CDNなし | CDNあり |
|---|---|---|
| 静的ファイルの配信 | 毎回オリジンから | エッジキャッシュから |
| TTFB(遠隔地) | 距離分の遅延 | 近接エッジで短縮 |
| オリジン負荷 | 全リクエストが集中 | キャッシュ分を肩代わり |
| 帯域(オリジン側) | 全トラフィック分 | キャッシュヒット分を削減 |
静的コンテンツの配信
画像・CSS・JavaScript・フォントといった、内容が頻繁に変わらない静的ファイルは CDN と相性が良い対象です。一度エッジにキャッシュされれば、以降はオリジンに触れずに配信できます。
オリジン負荷と帯域の削減
キャッシュヒットしたリクエストはオリジンに届きません。アクセスが集中してもエッジが大半を処理するため、オリジンサーバーの CPU・メモリ負荷と、オリジンから出ていく帯域(転送量)の両方が下がります。転送量課金のホスティングを使っている場合、コスト削減にも直結します。
付随する利点
CDN は速度だけのための仕組みではありません。Web サイトの前段に立つ性質上、いくつかの保護機能を兼ねます。
DDoS緩和
大量のリクエストを一拠点に集中させて停止を狙う DDoS 攻撃に対して、CDN の分散ネットワークは緩衝材として働きます。
「DDoS 攻撃」って何? Distributed Denial of Service(分散型サービス妨害)の略です。世界中の多数のマシンから同時に大量のアクセスを送り付けて、サーバーをパンクさせる攻撃です。CDN を挟むと、この攻撃を多数のエッジで吸収・分散できるため、オリジンへのダメージが減ります。
WAF(Webアプリケーションファイアウォール)
WAF は、エッジでリクエストを検査し、SQL インジェクションや不正なボットアクセスなどをオリジンに届く前に遮断する仕組みです。
「WAF」って何? Web Application Firewall の略です。一般的なファイアウォールが「どの IP・ポートを通すか」を判定するのに対して、WAF は「HTTP リクエストの中身が正常かどうか」を見ます。Cloudflare では WAF やボット対策のルールをダッシュボードで設定でき、オリジンに到達する前に弾けます(具体的な設定は CloudflareのWAFで悪質ボットをブロックする を参照)。
SSL/TLS
CDN は利用者とエッジ間の HTTPS 通信を終端できます。Cloudflare は無料で SSL/TLS 証明書を提供し、証明書の更新も自動で扱われます。オリジン側で自前の証明書を運用したい場合は、Let’s Encryptで無料HTTPS証明書を発行する のような手段と組み合わせます。
キャッシュの基本 — 何をキャッシュし、何を除外するか
CDN を正しく使う鍵は「キャッシュしてよいもの」と「してはいけないもの」を分けることです。
- キャッシュする(静的): 画像、CSS、JavaScript、フォント、変化の少ない HTML など。内容が利用者ごとに変わらないもの。
- キャッシュから除外する(動的): ログイン後のページ、カート、管理画面、API レスポンスなど。利用者ごとに内容が異なるもの。
動的なコンテンツを誤ってキャッシュすると、ある利用者向けの内容が別の利用者に表示される事故につながります。これを防ぐため、オリジンが Cache-Control: no-store を返す、または CDN 側でパスを指定してキャッシュを除外します。
Cloudflare では、API レスポンスなどキャッシュ不可と判断されたものは CF-Cache-Status: DYNAMIC として扱われます。キャッシュの除外やバイパスの具体的な手段は Cloudflareキャッシュをバイパスする方法 にまとめています。
WordPress のように動的生成が前提の CMS でも、ページキャッシュを適切に設定すれば CDN の恩恵を受けられます。具体的な手順は CloudflareでWordPressを高速化する を参照してください。さらにエッジ側でロジックを動かしたい場合は Cloudflare WorkersでWordPressをエッジ最適化する が踏み込んだ題材です。
CDNが向くケース・向かないケース
CDN は万能ではありません。コンテンツの性質によって効き方が変わります。
| ケース | CDNの効果 |
|---|---|
| 静的サイト・ブログ・メディア | 大きい(キャッシュが効きやすい) |
| 画像・動画・配布ファイルが多い | 大きい(帯域削減も) |
| 利用者が地理的に分散している | 大きい(地理分散が活きる) |
| アクセスが集中・急増しやすい | 大きい(負荷分散・DDoS緩和) |
| 完全に動的・個別化されたページばかり | 小さい(キャッシュが効きにくい) |
| 利用者が単一地域に限られる社内システム | 小さい(地理分散の旨味が薄い) |
動的ページ中心のアプリケーションでも、静的アセットだけを CDN に載せる、あるいは WAF や DDoS 緩和を目的に前段へ置く、という使い方は成立します。「速度のためだけの道具」と決めつけないことがポイントです。
Cloudflareの無料プランでできること
Cloudflare は無料です。 アカウント作成・ネームサーバーの切り替えだけで使い始められ、クレジットカード登録も不要です。ドメインの管理画面でネームサーバーを Cloudflare 側に向けると、以降の通信はすべて Cloudflare 経由になります。
無料プランでできることは次のとおりです。
- グローバルな CDN とエッジキャッシュ
- 無料の SSL/TLS 証明書(自動更新)
- 基本的な DDoS 緩和
- DNS 管理
- キャッシュルールなどの基本設定
WAF の詳細ルールや高度なボット対策、画像最適化といった機能には有料プランや個別契約が必要なものもあります。ただし「まず CDN を挟んで速度と防御の基礎を固める」という目的であれば、無料プランから始めて段階的に拡張する流れが現実的です。
まとめ
| 観点 | CDN(Cloudflare)を挟む意味 |
|---|---|
| 速度 | 近接エッジから配信し TTFB とオリジン負荷を下げる |
| コスト | キャッシュヒット分のオリジン帯域を削減 |
| 防御 | DDoS 緩和・WAF・ボット対策をエッジで吸収 |
| 暗号化 | 無料 SSL/TLS で HTTPS を簡単に有効化 |
| 始めやすさ | 無料プランで CDN・SSL・基本防御を試せる |
CDN は「速くする仕組み」であると同時に「Web サイトの前段に立つ防御層」でもあります。Cloudflare はその両方を無料プランから扱えるため、最初に挟む一手として理にかなっています。
個別の設定は、次の記事で深掘りしています。