「CDN」という言葉をサーバーや速度改善の文脈で目にすることがあります。難しそうに聞こえますが、仕組みを理解すると、Webサイトの速度とセキュリティを手軽に改善できる便利な仕組みです。
この記事では、CDNの基礎知識と、無料で使えるCloudflareを使った導入方法を整理します。
CDNとは何か
CDN(Content Delivery Network、コンテンツデリバリーネットワーク)は、世界各地に分散配置されたサーバー(エッジサーバー)を使って、Webサイトのコンテンツを訪問者の近くから配信する仕組みです。
通常、Webサイトのコンテンツはサーバーが設置されている1か所から配信されます。サーバーが東京にあれば、大阪の訪問者は東京のサーバーからデータを受け取ります。CDNを使うと、コンテンツが世界中のエッジサーバーにキャッシュされ、訪問者の地理的に近いサーバーから配信されます。
CDNを使うメリット
CDNを導入することで得られる主なメリットを確認しましょう。
表示速度の改善
訪問者に近いエッジサーバーからコンテンツが配信されるため、通信のレイテンシ(遅延)が減少します。特に画像・CSS・JavaScriptなどの静的ファイルの配信に効果があります。
日本国内のみを対象とするサイトでは、CDNによる速度改善効果は限定的なことがありますが、海外からのアクセスがある場合は顕著な改善が期待できます。
サーバーの負荷軽減
CDNがコンテンツをキャッシュしてエッジサーバーから返すため、オリジンサーバー(レンタルサーバー)へのリクエストが減ります。アクセス集中時にサーバーの負荷が下がり、安定した表示が維持しやすくなります。
DDoS攻撃への耐性
CDNは大量の不正トラフィック(DDoS攻撃)をエッジサーバーで吸収・フィルタリングする機能を持っています。オリジンサーバーへの直接攻撃を防ぎやすくなるため、セキュリティ面でも効果があります。
帯域コストの削減
CDNがコンテンツを代わりに配信するため、オリジンサーバーからの転送量が減ります。サーバーの転送量制限に余裕が生まれます。
代表的なCDNサービス
主なCDNサービスを紹介します。
Cloudflare(無料プランあり)
世界最大規模のCDNサービスの一つです。無料プランでもCDNの基本機能(コンテンツキャッシュ・DDoS対策・SSL)が使えます。設定はDNSのネームサーバーをCloudflareに向けるだけで完了するため、技術的な知識がなくても導入できます。
レンタルサーバー付属のCDN
一部のレンタルサーバーはCDN機能を標準または追加オプションとして提供しています。管理画面から有効化するだけで使えるため、別サービスの登録なしに利用できます。
Cloudflareの無料プランでの導入手順
Cloudflareを例に、CDNの導入手順を説明します。
1. Cloudflareアカウントを作成する
Cloudflare(cloudflare.com)にアクセスし、メールアドレスとパスワードでアカウントを作成します。無料プランを選択します。
2. ドメインを追加する
管理画面で「サイトを追加」をクリックし、自社のドメイン名を入力します。Cloudflareが現在のDNS設定を読み込んで一覧表示するので、内容を確認します。
3. ネームサーバーをCloudflareに変更する
Cloudflareが指定するネームサーバー(2つ)をコピーし、ドメイン管理会社の設定画面でネームサーバーをCloudflareのものに変更します。変更後、DNSの伝播(24〜48時間)が完了するとCloudflareを経由したCDN配信が始まります。
4. SSL設定を確認する
CloudflareのSSL/TLS設定で「フル(暗号化)」または「フル(厳格)」を選択します。「柔軟」設定ではCloudflareとオリジンサーバー間の通信が暗号化されないため、セキュリティの観点から推奨されません。
オリジンサーバー(レンタルサーバー)にすでにSSL証明書が設定されている場合は「フル(厳格)」を選択するのが安全です。
5. キャッシュルールを設定する(必要に応じて)
Cloudflareのデフォルトでは、画像・CSS・JavaScriptなどの静的ファイルはキャッシュされますが、HTMLページはキャッシュされません。WordPressのページもキャッシュしたい場合は、「Page Rules」または「Cache Rules」でキャッシュの設定を追加します。
ただし、WordPressの管理画面・ログインページ・お問い合わせフォームなど動的なページはキャッシュから除外する設定が必要です。
CDN導入時の注意点
CDNを導入する前に確認しておきたい点があります。
コンテンツの更新が反映されるまでの時間
CDNにキャッシュされたコンテンツは、即座に更新されるわけではありません。サイトのコンテンツを更新した際に古いキャッシュが配信され続けることがあります。Cloudflareの場合は管理画面から「キャッシュをパージ」することで手動でキャッシュをクリアできます。
DNSの管理がCloudflareに移る
Cloudflareを導入するとネームサーバーをCloudflareに変更するため、以後DNSの設定変更はCloudflareの管理画面から行います。ドメイン管理会社の管理画面では直接DNSを変更できなくなる点に注意してください。
WordPressとの相性確認
CloudflareとWordPressのキャッシュプラグインを同時に使う場合、設定が競合することがあります。「Cloudflare」という公式プラグインを使うことで、WordPressの更新時にCloudflareのキャッシュを自動でクリアする連携が可能です。
まとめ
CDNは世界各地のエッジサーバーからコンテンツを配信することで、表示速度の改善・サーバー負荷軽減・DDoS対策の効果をもたらします。Cloudflareの無料プランを使えば、ネームサーバーの変更だけで導入でき、コスト追加なしで基本的な効果を得られます。
WordPressサイトに導入する場合は、キャッシュプラグインとの競合と、管理画面・フォームページのキャッシュ除外設定を確認してから運用してください。