「CDN」って何? CDNやCloudflareについて解説

目次
初心者向けCDN解説
CDNという言葉を聞いたことはあるでしょうか? この記事ではCDNについての解説と、具体的なCDNの例をご紹介いたします。
CDNとは一体何か?

CDNとは、Content Delivery Networkの略称です。
Webサイトの画像や、CSS、JavaScriptなどのコンテンツを、元のWebサーバーとは別のCDNサーバー(エッジサーバー)にキャッシュして配信する仕組みです。
ユーザーに物理的に近い場所にあるCDNサーバーからコンテンツを配信することで、Webサイトの表示速度の向上や、Webサーバーの負荷分散に役立ちます。
CDNの特徴1: ユーザーに物理的に近い場所から配信する
日本の東京から同じ東京にあるサーバーにアクセスするのと、アメリカのカリフォルニアにあるサーバーまでアクセスするのでは、物理的に近い東京同士の方が早くアクセスが完了します。
アクセスするサーバーまでの物理的な距離が伸びれば伸びるほど、中間経路で予期しない悪影響を受ける可能性が高まります。
高性能なサーバーを安く海外で借りたとしても、サーバーとは無関係な中間経路で通信速度が著しく低下してしまう事もあるのです。
CDNは世界中の主要な都市に設置されたデータセンターに、Webサイトのコンテンツの複製をおくことで、アクセス元のユーザーの場所を自動的に判別し、そのユーザーに最も近いサーバーからコンテンツを配信することでWebサイトの表示を高速化する事ができるのです。
CDNの特徴2: キャッシュ
CDNはWebサイトのコンテンツを複製、つまりキャッシュを取りますが、それにより問題が発生してしまう事もあります。
Webサイトの画像を新しいものに差し替えた場合に、差し替える前の古い画像がCDNにキャッシュされてしまい、新しい画像が表示されないなどの問題です。
多くのCDNでは手動で古いキャッシュを削除する方法が用意されていますが、初心者が自力で問題を特定して解決するには難しいケースもあります。
特にユーザーがログインして何かを操作するような動的サイトや、買い物をする事ができるECサイトなどでは、CDNでキャッシュが保存されてしまう事が問題なることが多くあるため、何をCDNにキャッシュさせて、キャッシュさせないのかはプログラムなどの専門知識が必要になる事もあります。
逆に、一般的なブログなどのWebサイトであれば、CDNを初期設定のまま使うだけでも、十分にCDNの恩恵を受ける事ができる場合が多くあります。
CDNの特徴3: 負荷分散
CDNを設定したWebサイトへのアクセスの一部は、Webサーバーの代わりにCDNサーバーが応答してくれるようになるため、急激なアクセス増加などがあった場合でも、Webサーバーの負荷が上がりにくく、負荷分散にも貢献します。
CDNの具体例
CDNを利用する場合に、どのようなサービスがあるのか、どのような特徴があるのかをまとめました。
著名なCDNについて解説いたします。
| サービス名 | 主な特徴 |
|---|---|
| Cloudflare | 完全無料で利用出来るプランがある。 |
| Bunny CDN | 有料CDNの中では従量課金制で比較的安価。 |
| Sucuri CDN | セキュリティ対策を売りにしている。 |
| KeyCDN | スイス本社のため、米国のCLOUD Act(クラウドデータ開示要求)の直接的な適用外。 |
| Quic.Cloud | LiteSpeed Technologies が開発したため、LiteSpeedと親和性が非常に高い。 |
| Amazon CloudFront | AWSと統合されている。 |
Cloudflare

https://www.cloudflare.com/ja-jp
Cloudflareは、世界で最も利用者が多いCDNと言われています。利用者が多い理由の一つは、完全無料で利用出来るCDNであることにあります。
完全無料で使えるCDNは非常に少なく、その中でも日本語による設定案内などが充実している物はCloudflareくらいです。
CDNに興味はあるがどのCDNを使ったら良いのか分からない、そんな状況であればCloudflareが最も無難な選択肢となるでしょう。
しかしながら、注意点もあります。Cloudflareの無料プランには、SLA保証(稼働率保証)がありません。
そのため、法人などが社内ルールとして契約にSLA保証を必要としている場合や、障害発生時の責任範囲の明文化が必要な場合や、優先サポートや専属の担当者が必要な場合などの状況では、有料のCDNが必要となります。
Bunny CDN

Bunny CDNは、有料CDNの中では比較的安価に利用ができます。
月額1ドルの基本料金と従量課金により費用が発生する仕組みになっており、有料のCDNが必要だが、高機能なCDNを必要としない中小規模のWebサイト向けのCDNとなっています。
Sucuri CDN

https://docs.sucuri.net/website-firewall/website-firewall/sucuri-cdn
Sucuriはマルウェア、ハッキング、DDoS攻撃、ブルートフォース攻撃などの様々なセキュリティインシデントに対応するための、包括的なセキュリティ対策サービスです。
そのSucuriが提供するCDNという事もあり、悪意のあるDDoS攻撃などに非常に強い堅牢さを持っていると言われています。
CDNの導入理由が、DDoS対策などである場合には検討の価値があるでしょう。
KeyCDN

KeyCDNも重量課金制となっていますが、料金以外の重要な差別化ポイントがあります。
KeyCDNはインフラとソフトウェアを全て自社で構築・運用し、リセールモデルには依存しない自前主義を売りにしています。
スイス本社のため、米国のCLOUD Act(クラウドデータ開示要求)の直接的な適用外となる部分も他のCDNには無い特徴です。
つまり特定の国家の法律や、企業の影響などを受けにくいCDNであると言えます。
Quic.Cloud

Quic.Cloudの特徴はその開発元が、LiteSpeed Technologiesである事にあります。
LiteSpeedは非常に高速にWebサイトを表示させる事を売りとした、mixhostでも導入されているWeb サーバーで動作するソフトウェアです。
このLiteSpeedが高速に動作する仕組みの一つに、LiteSpeed Cacheという技術があります。Quic.Cloudは、そのLiteSpeed Cacheと唯一公式に連携ができるCDNであるという技術的な優位点があります。
本来であれば非常に高度な専門知識と技術が必要になるCDNのキャッシュ制御、動的ページキャッシュ、最適化、それら全てが自動連携により、常に最適な状態に保たれる事を強みとしています。
mixhostでは、WordPressの専用プラグインを使えば、専門知識が無くても無料でQuic.Cloudを使う事もできます。
Amazon CloudFront

https://aws.amazon.com/jp/cloudfront
Amazon CloudFrontの特徴は、その名前からも分かる通りAmazonのサービスであるAWSに含まれいている点です。
既にEC2やS3などのAWS関連サービスを使っているならば、それらサービスと緊密に連携させる事ができます。これは他のCDNには真似ができない、Amazon CloudFrontならではの強みになっています。
まとめ
CDNとは、Webサイトの様々なコンテンツをCDNサーバーにキャッシュして配信することで、Webサイトの表示速度の向上や、Webサーバーの負荷分散に役立つシステムです。
様々な特徴を持つCDNがありますが、Cloudflareは無料で利用出来るため初心者にもお勧めです。
mixhostで、WordPressを利用している場合には、LiteSpeedに特化したQuic.Cloudを利用する事もお勧めです。専用のプラグインから簡単に設定することができます。

