サーバー用語・Web配信

CDNとは?仕組み・適用例・導入時の注意点

CDNは、利用者からのリクエストを分散配置された配信拠点で受け、キャッシュ可能な応答を再利用したり、オリジンサーバーへの通信を中継したりする配信基盤です。「最寄りのサーバーへ全ファイルを置く仕組み」ではありません。速さ、負荷軽減、可用性、安全性は、経路選択、キャッシュキー、鮮度、オリジン保護、障害時動作を正しく設計して初めて得られます。

公開日 2024.12.05 更新日 2026.07.25 執筆・確認 Finite Field 編集部

基本の配信経路

利用者 → CDN edge → origin

85%キャッシュヒット例
15%origin到達例

1,000件中850件がedgeの有効なキャッシュから返り、150件がmissまたは再検証でoriginへ到達する説明例です。製品のhit ratio定義や分母は必ず確認します。

この記事に広告・アフィリエイトリンクはありません。配信経路、キャッシュキー、TTL・無効化、オリジン保護はAWS CloudFront公式資料、HTTPキャッシュの保存・鮮度・再検証はRFC 9111、Cache-Controlとcache statusはCloudflare公式資料、検索クローラーとCDNの関係はGoogle Search Centralを基準に確認しました。サービスの拠点数、機能、料金、既定値は契約・地域・時期で変わるため、導入時は対象事業者の現行文書も確認してください。事実確認日は2026年7月25日です。

先に結論

CDNは配信の中継層。キャッシュは機能の一つ

DNS等で利用者のリクエストをCDNのedgeへ到達させ、edgeに同じcache keyの新鮮な応答があればその場で返します。なければoriginへ転送し、得た応答を利用者へ返し、条件を満たせば保存します。動的APIやフォーム送信はキャッシュせず中継することもあります。したがって、CDN導入だけで全通信が高速化し、origin障害が消え、SEO順位やDDoS耐性が自動的に上がるわけではありません。

設計の中心

何を共有してよいか、何で応答を分けるか、いつ更新するか、originへ誰を通すかを決める

この記事で分かること

CDNを単なる地理的な近接サーバーとして説明せず、リクエストの流れ、適用対象、危険な設定、運用指標まで一続きで整理します。

用語と構成要素

CDN、edge、POP、origin、cache、reverse proxyの関係と、事業者ごとに異なる多段キャッシュを区別できます。

hit・missの配信経路

DNSによる入口、cache keyの照合、freshness、revalidation、origin fetch、利用者への応答という流れを追えます。

適用例と非適用例

静的資産、HTML、動画、API、認証後ページ、フォーム送信を、共有可能性と更新要件から判断できます。

安全な導入と運用

個人情報の混在、キャッシュ汚染、古い配信、origin直アクセス、費用急増を防ぐ確認項目が分かります。

CDNとは、分散した配信拠点を介してコンテンツを届ける基盤

CDN(Content Delivery Network)は、利用者とオリジンの間でリクエストを受け、キャッシュ、経路最適化、接続再利用、TLS終端などにより配信を支える分散ネットワークです。

典型的な構成では、公開ホスト名のDNS設定等によりリクエストがCDNのPOP(Point of Presence)またはedge locationへ到達します。AWS CloudFrontの説明では、DNSがリクエストを適切なPOPへ送り、edgeに対象オブジェクトがあれば利用者へ返し、なければ設定に従ってoriginへ要求します。originの応答は到着した先頭バイトから利用者へ転送され、条件を満たすオブジェクトは次回のために保存されます。ただしPOP、regional edge cache、tiered cache、shield等の階層は製品固有で、すべてのCDNに同じ構成があるわけではありません。

originは正規の応答を作る上流

originはWebサーバー、ロードバランサー、オブジェクトストレージ、API等です。CDNは通常、originの代わりにアプリやデータベース処理を完結するものではありません。cache miss、期限切れ、再検証、非キャッシュ対象、書き込み要求ではoriginまたは上流処理が必要です。

edgeは利用者に近い配信・中継地点

edgeはキャッシュ応答だけでなく、TLS終端、圧縮、ルール、WAF、bot対策、edge compute等を提供する場合があります。ただし機能と実行順序、対応地域、制限は製品・プランごとに異なります。「物理的に最も近い拠点」より、遅延、経路、障害、容量、ポリシーを含めて適切な拠点が選ばれると捉えます。

CDNとキャッシュは同義ではなく、CDNはoriginを自動的に不要にしない

キャッシュは以前の応答を再利用する仕組みで、ブラウザ、proxy、アプリ、データベース等にもあります。CDNは分散配信基盤であり、cacheはその主要機能の一つです。キャッシュしない動的要求でも、CDNを通してTLSやセキュリティ機能を適用できます。反対に、CDNを経由してもcache keyが細分化されすぎたり、応答が保存不可だったりすればorigin負荷はほとんど減りません。

具体例:cache hit・missから配信経路とorigin削減率を読む

以下は仕組みを理解するための説明値です。実サービスでは、cache-eligible requestの分母、REVALIDATEDやSTALEの扱い、多段cache、subrequest、range request、bot、エラー、edge functionの内部要求により値が変わります。事業者のダッシュボード定義とoriginログを照合してください。

リクエストのキャッシュヒット率

850 hits ÷ 1,000 eligible requests = 85%

同じ期間・ホスト・cache behaviorで、キャッシュ対象1,000件のうち850件が有効なedge cacheから返った例です。全リクエストを分母にするか、BYPASSや非対象を除くかは製品で異なります。hit ratioだけで利用者体験を判断せず、hit時・miss時のlatencyとstatusも見ます。

単純化したorigin request削減率

1 − (150 origin requests ÷ 1,000 viewer requests) = 85%

100件のMISSと50件の同期再検証がoriginへ届き、850件のHITでは届かなかったと仮定した例です。実際にはtiered cacheが下位edgeのmissを吸収する場合、edge functionが複数subrequestを出す場合、origin shieldやrequest collapsingが働く場合があり、edgeの非hit数とorigin要求数は一致しません。

1つの画像を初回と2回目に要求したとき

  1. 1入口:利用者が`/assets/app.a1b2.css`を要求すると、DNSやCDN事業者の経路制御により、要求を処理するedgeへ到達する。HTTPSでは利用者とedgeのTLS接続が確立される。
  2. 2照合:edgeはmethod、host、pathを基本に、設定したquery string、header、cookie等からcache keyを作る。同じURLでも応答を変える入力をkeyから落とすと誤配信し、不要な入力を含めすぎるとhit率が下がる。
  3. 3初回MISS:保存済みの有効な応答がなければ上位cacheまたはoriginへ転送する。originから200応答を受け、保存条件とTTLを満たせばcacheへ格納しつつ利用者へ返す。最初の利用者はorigin経路の待ち時間を受ける。
  4. 4次回HITまたは再検証:同じkeyで応答がfreshならedgeから返す。staleならETagのIf-None-Match等で再検証し、304なら保存済みbodyを再利用できる。purge、eviction、期限切れ、別edgeでは再びMISSになり得る。

CDNの効果は「距離が短い」だけではありません。originへの往復を省くHIT、接続再利用、多段cache、圧縮等が組み合わさります。一方、cold cacheや非キャッシュAPIではorigin経路が残るため、origin自体の性能・容量・冗長化も必要です。

適用例:何をCDNで配信し、何を共有キャッシュしないか

ファイル拡張子だけで決めず、同じcache keyの利用者へ同じ応答を返してよいか、変更がいつ反映されるべきか、認証・個人情報・Cookieに依存するかで判断します。`Cache-Control`だけでなく、CDN側のminimum TTLやcache ruleがorigin指示を上書きしないかも確認します。

表は横方向にスクロールできます

CDNの代表的な適用対象と注意点
対象基本方針向いている理由主な注意点
版管理した静的資産長いTTLで共有cachehash付きCSS、JavaScript、画像、fontはURLが内容ごとに変わるため再利用しやすいHTMLから新URLへ切り替え、古い資産を即削除しない。immutableと長期TTLはversioned URLと組み合わせる
公開HTML・記事短いTTLまたは再検証同じURLの公開内容を多くの利用者へ配信でき、origin負荷を軽減しやすい更新反映、preview、ログイン状態、AB test、言語・端末差、Cookie、エラー応答のcache条件を設計する
ダウンロード・動画共有cacheとRange対応大容量objectの配信距離とorigin転送を減らし、急増時の配信を分散しやすいRange request、署名URL、権限失効、seek、ファイルサイズ上限、転送費、権利管理を確認する
公開GET API条件付きで短時間cache同一queryに同一応答を返す天気・商品一覧等は短いTTLでburstを吸収できる場合があるquery正規化、認可、地域、通貨、language、pagination、更新許容時間、error cacheをkeyとTTLへ反映する
認証後・個人別ページ原則bypassまたは厳密な分離CDN経由のTLS、WAF、rate limit、動的中継は利用できる共有cacheへ個人情報を保存しない。Authorization、session cookie、tenantを無視したkeyは重大な情報漏えいを起こす
POST・更新処理originへ中継フォーム送信やCRUDはCDNを入口にしてsecurity policyを適用できる通常の共有cacheによる高速化対象ではない。timeout、body上限、retry、idempotency、WAF誤検知を確認する
障害時のstale配信許容範囲だけ明示設定originが一時的に応答できないとき、期限切れの公開内容を限定時間返して閲覧を継続できる場合がある価格、在庫、法令、認証、緊急告知等は古い表示の損害を評価する。staleは自動の完全障害対策ではない

「動的コンテンツだからCDN不可」「CDNだから全部cache」はどちらも誤り

動的生成したHTMLやAPIでも、利用者間で共有できる応答なら短時間cacheや再検証が可能です。反対に拡張子が画像でも、権限付きの私有画像や署名条件があるなら無条件共有できません。cacheability、cache key、TTL、認可をURLパターン単位で文書化します。

導入前に決める6項目

CDN事業者の比較より先に、アプリがどの入力で応答を変え、何秒古くてもよく、originをどの経路から受け付けるかを決めます。既定値任せにせず、代表URLごとの期待するcache statusとsecurity boundaryをテスト可能にします。

cache対象とHTTP method

pathごとにGET・HEAD・OPTIONS・POST等の扱い、status code、response header、object sizeを確認します。HTML、asset、API、download、error responseを別behaviorにし、Set-CookieやAuthorizationを含む応答を共有してよいか明記します。

cache keyとvariant

host、pathに加え、応答を本当に変えるquery、header、cookieだけをkeyへ含めます。language、compression、device、tenant、currency等を落とすと誤配信し、tracking queryや一意sessionを含めるとobjectが細分化されhit率と容量効率が落ちます。

TTL・再検証・無効化

`s-maxage`、`max-age`、`no-cache`、`no-store`、`private`、ETag、Last-Modifiedの意味をRFCと事業者実装で確認します。更新頻度、許容陳腐化、purge範囲、versioned URL、rollback、緊急削除の手順をrelease設計へ含めます。

origin保護とTLS

利用者→edgeとedge→originの双方でHTTPSを使い、証明書、SNI、Host、redirectを確認します。S3等はOAC、custom originは認証済みheader、mTLS、firewall allowlist等、対応方式でCDN以外からの直接到達を制限し、secretを定期更新します。

可観測性と障害動作

HIT、MISS、BYPASS、EXPIRED、REVALIDATED、STALE等の意味を製品文書で確認し、edgeとoriginのrequest、bytes、status、latencyを同じ時間軸で監視します。origin timeout、5xx、DNS、証明書、purge、設定反映、単一地域障害を試験します。

費用・上限・濫用対策

利用者向け転送、origin向け転送、request、function、WAF、log、purge、専用IP等の課金単位と無料枠を確認します。大容量bot、cache-busting query、range濫用、hotlink、攻撃時にも費用が増え得るため、budget alertとrate limitを用意します。

hit ratioは高いほど常に良いわけではない

個人別APIを無理に共有してhit率を上げれば安全性を損ないます。逆に、更新頻度が高く低流量のobjectは正しく設定してもhitしにくい場合があります。cache-eligible対象ごとに、origin offload、p50/p95 latency、stale率、error率、正確性、費用を合わせて評価します。

CDNと関連技術の違い

製品は複数機能を一体提供するため境界が重なりますが、役割を分けると設計漏れを見つけやすくなります。CDNを導入しても、DNS、origin、load balancer、アプリ、databaseの責任は残ります。

CDN・cache・proxy・配信関連技術の比較
用語主な役割CDNとの違い・関係
キャッシュ以前の応答・計算結果・データを保存して再利用する仕組みCDN以外のbrowser、OS、application、databaseにも存在する。CDNはshared HTTP cacheを分散配置する場合がある
リバースプロキシ利用者の前面で要求を受け、上流サーバーへ転送する中継CDN edgeもreverse proxyとして働くが、単一拠点のproxyは分散配信網とは限らない
ロードバランサー複数のbackendへ要求を振り分け、health check等で処理先を選ぶorigin側でapplication instanceを分散することが多い。CDNのglobal routingやedge cacheとは層が異なる
DNSdomain nameをIPアドレス等の接続情報へ解決するCDNへの入口を向ける手段だが、DNS自体がHTTP応答をcacheして配信するわけではない
WebホスティングWebサーバー、storage、runtime等を提供し、正規のcontent・applicationを動かすCDNのoriginになり得る。CDNを使ってもoriginの保守、backup、security、capacityは必要
edge computeedgeでcodeを実行し、redirect、認証、変換、応答生成等を行うCDN事業者が提供する機能の一つ。実行時間、runtime、状態、地域、料金、cacheとの順序に制限がある
WAF・DDoS対策不正・過剰な通信を検知、制限、吸収するsecurity controlCDNに統合されることがあるが、自動的に全攻撃を防ぐ意味ではない。rule、origin bypass、L7 cost attackを設計する
object storagefile・objectを耐久的に保存し、APIやHTTPで取得可能にするCDNのoriginとして使えるが、storageの公開設定とCDN cacheは別。private originと署名accessを設計する

「CDNを使えばSEOが上がる」は因果を省略している

CDNは検索順位を購入する機能ではありません。Google Search CentralはCDN利用自体を問題とせず、cold cacheでは最初のcrawlがoriginへ届き、crawl急増時にはorigin容量へ注意するよう説明しています。配信速度や可用性の改善が利用者体験やcrawl可能性へ寄与する場合はありますが、内容品質、index可否、canonical、status、renderingが正しいことが前提です。CDN移行時はrobots.txt、noindex、redirect、host、TLS、error cacheを確認します。

安全に導入・運用する6ステップ

いきなり全URLをcacheせず、観測可能な小さい範囲から始めます。変更前後でURL、response body、header、status、latency、origin request、費用を比較し、異常時に即時bypassまたはrollbackできる状態を作ります。

  1. 1

    1. 配信対象とvariantを棚卸しする

    代表URLをasset、public HTML、public API、authenticated、upload、admin、errorへ分類します。method、query、header、cookie、Authorization、Set-Cookie、language、tenant、personal data、更新頻度、最大size、Rangeの有無を記録します。

  2. 2

    2. DNS・証明書・origin経路を準備する

    検証用hostでCDNを設定し、viewer TLSとorigin TLS、Host header、SNI、redirect、IPv4/IPv6、CNAME、CAA、証明書更新を確認します。originへ直接届く公開addressを残す場合は、bypassされるsecurity riskを評価します。

  3. 3

    3. cache policyをURL群ごとに定義する

    cacheability、cache key、TTL、stale、error cache、compression、forward header/cookie/queryを明記します。最初は版管理したstatic assetから始め、public HTMLやAPIは短いTTL・再検証で段階的に追加します。private応答はbypassを確認します。

  4. 4

    4. security boundaryと失敗条件を試験する

    別user・別tenant・別language・別currencyでbodyが混ざらないこと、logout後にprivate contentが残らないことを確認します。origin直アクセス、header偽装、cache deception、poisoning、oversized request、WAF false positive、5xx・timeout時動作も検証します。

  5. 5

    5. release・purge・rollbackを自動化する

    static assetはcontent hash付きURLを基本にし、HTMLから新versionへ切り替えます。同じURLを緊急更新する場合のpurge対象、完了確認、rate limit、費用を決めます。purge直後のMISS集中でoriginが過負荷にならないよう段階反映やpre-warmを評価します。

  6. 6

    6. edgeとoriginを継続監視する

    request、bytes、cache status、hit ratio、latency、4xx/5xx、TLS、WAF、origin load、費用をpath・region・status別に監視します。synthetic testでHIT期待URLとBYPASS期待URLを定期確認し、設定変更、証明書期限、log欠損、急なcache-bustingをalertにします。

CDNは可用性の一部であり、完全な障害対策ではない

edge cacheが残っていれば一部の公開GETを返せる場合がありますが、cold object、dynamic request、write、authentication、database処理はoriginへ依存します。CDN事業者自身の障害、誤設定、DNS障害、証明書問題、global purge、WAF誤遮断もあります。複数origin、health check、stale許容、bypass、status page、運用権限、変更承認を事業継続要件に合わせます。

事実確認に用いた一次資料・公式資料

概念の根拠と実装例を分けて確認しています。RFC 9111はHTTP cacheの標準、AWS・Cloudflare資料は各製品の実装例です。製品固有の既定値をCDN全体の普遍的仕様として扱わないでください。

CDNのよくある質問

CDNとキャッシュは同じですか?

同じではありません。cacheは応答等を保存・再利用する仕組みで、CDNは分散配信基盤です。CDNはcacheを使いますが、非キャッシュ要求の中継、TLS、WAF等も担えます。

CDNを導入すると必ずWebサイトが速くなりますか?

必ずではありません。cache hitならorigin往復を省けますが、cold cache、動的処理、誤ったcache key、遠いorigin、重いedge処理では改善しないことがあります。実測で比較します。

動的コンテンツやAPIにもCDNを使えますか?

使えます。中継やsecurity機能だけを使う方法と、共有可能なGET応答を短時間cacheする方法があります。認証・個人情報・更新許容時間を先に確認します。

Cache-Control: no-cacheは保存禁止ですか?

RFC上、no-cacheは再利用前の検証を要求する指示で、保存禁止はno-storeです。ただしCDN側の実装・設定で挙動が変わるため、response headerとcache statusを実測します。

CDNを使えばDDoS攻撃を防げますか?

防御層にはなりますが完全保証ではありません。契約機能、WAF・rate limit、origin非公開化、applicationの高コスト処理、攻撃時課金、運用体制まで設計します。

更新したのに古いファイルが出るのはなぜですか?

edgeまたはbrowserの保存済み応答がfreshだからです。静的資産はversioned URL、同一URLの内容は短いTTL・再検証・対象を絞ったpurgeを使います。

CDNを使うとSEO順位が上がりますか?

直接の順位保証はありません。速度・安定性を改善できる場合はありますが、content品質、index設定、status、canonical、renderingが前提です。移行時の誤遮断やerror cacheにも注意します。

キャッシュヒット率は何%なら良いですか?

一律の基準はありません。対象URLの共有可能性、更新頻度、流量、分母定義で変わります。origin offload、latency、正確性、error、費用と合わせて判断します。

CDN設計に関係する用語

まとめ:CDNはcache key・鮮度・origin保護まで設計する

CDNは、利用者とoriginの間に分散したedgeを置き、cache可能な応答を再利用し、非cache要求も中継する配信基盤です。HITではorigin往復を省けますが、MISS、再検証、動的要求、writeは上流へ到達します。コンテンツ別にcacheability、key、TTL、versioning・purge、stale、security boundaryを決め、edgeとoriginのrequest、bytes、latency、status、費用を同じ時間軸で監視してください。個人情報の共有、古い重要情報、origin bypass、purge後の負荷集中を防げて初めて、安全な高速化になります。

執筆・事実確認

Finite Field 編集部

Web配信、HTTP、server、security、可観測性を扱う編集部が、IETF RFC、AWS、Cloudflare、Google Search Centralの一次資料・公式資料を照合し、標準仕様と製品固有挙動を分離して確認しました。

CDN・cache・配信基盤の相談

速度だけでなく、誤配信とorigin依存を含めて設計します

CDNを導入したのにorigin負荷が下がらない、個人別応答のcacheが不安、更新が反映されない、edgeとoriginの数字が合わない、DDoS・費用急増へ備えたい場合に、配信経路、cache policy、origin protection、log・dashboard、release・rollbackを整理します。

個別開発を相談

対象システム、データ分類、利用地域、契約、可用性要件、予算を確認したうえで対応可否をご案内します。特定の速度、hit率、SEO順位、攻撃防御、費用削減、無停止を事前に保証するものではありません。