こんにちは。「クロジカサーバー管理」 IT/テックライターのkait78です。
一般的に、WebサイトはURLとなるドメインとサーバーがあれば、インターネット上に公開が可能です。しかし、ドメインとサーバーだけで構築されたWebサイトではページの応答速度が遅くなる場合や、セキュリティが脆弱になる可能性があります。
WebサイトにCDN(Contents Delivery Network)を導入すると、これらの課題を解決できるため、今回はCDNの概要やメリットをご紹介します。
目次
CDN(Contents Delivery Network)とは?
CDN(Contents Delivery Network)とは、Webサイト用のキャッシュサーバーを全世界に設置できるサービスです。
総務省の「次期自治体情報セキュリティクラウド機能要件」にも必須要件として記載がされているほど、Webサイトにおいては必要不可欠な機能となります。皆さんはChromeやFirefoxなどのブラウザでキャッシュのクリアをした経験はないでしょうか?
Webサイトを1度閲覧すると、ブラウザがWebサイトのコンテンツのキャッシュを一定期間保持しており、2度目の閲覧は1度目よりも速くページを見ることが可能です。
CDNではこのキャッシュ機能が、個人のブラウザの範囲ではなく、世界中の範囲で利用できるサービスです。具体的には、世界中にキャッシュサーバーが設置され、CDNを通過する1ユーザー目は通常通りの閲覧速度になりますが、2ユーザー目以降はキャッシュによる応答のためにページ閲覧速度が速くなります。
それでは、具体的なCDNの機能について見ていきましょう。
キャッシュコントロール
上記でもご紹介しましたが、CDNのメイン機能はキャッシュコントロールです。
ユーザーからの初回のアクセスリクエストでサーバー本体の情報をキャッシュサーバーに保持して、2回目以降に別ユーザーからアクセスがあった場合に、サーバーまでアクセスさせずにキャッシュサーバーの情報を返します。ユーザー目線では、キャッシュサーバーの返答とは気づかず、普段通りWebサイトを見ている状態と同じです。
キャッシュコントロールでは、設定により下記が可能です。
- キャッシュ保持期間の設定
ブラウザのキャッシュと同様、一定期間経つと、自動でキャッシュを削除します。
その保持期間を設定できます。
- キャッシュコンテンツの設定
キャッシュコンテンツの設定ができます。
Webサイト全体をキャッシュさせるのではなく、ページ単位でキャッシュが可能です。常に最新状態を見せる必要がある場合や、動的なサイト(ユーザー情報によって表示が変わるサイト)は該当ページのキャッシュを無効化します。
- ルーティング設定
CDNサービス会社の機能によりますが、ルーティング機能を有しているサービスもあります。複数のサーバーから、リクエストに合致したサーバーへ転送するルーティング設定が可能です。次に、CDNのもう1つの特徴として、世界中からのアクセスに対応しています。
その機能についてご紹介します。
複数のキャッシュサーバーで対応する
CDNは世界中の各拠点にキャッシュサーバーを配置しており、ユーザーが物理的に近いキャッシュサーバーへルーティングすることが可能です。
日本の場合はCDN提供会社によりますが、基本的に東京と大阪に拠点があり、一部の会社では福岡や沖縄にも拠点があります。同様に、主要な国には2から3拠点ほどキャッシュサーバーが用意されています。
このように、CDNは、世界中のキャッシュサーバーからアクセスさせるため、Webサイトのサーバーが設置されている地域までのアクセスが不要です。これがCDNの主な機能となります。このCDNを利用することでさまざまなメリットがあります。
それぞれ見ていきましょう。
CDNのメリット
CDNを利用するメリットは下記が挙げられます。
CDNでサーバー負荷を軽減できる
Webサイトへのアクセスが多いと、サーバーのCPUが高負荷状態になり、パフォーマンスが落ちたり、サイトがダウンするかもしれません。
CDNを導入すると、ユーザーからのアクセスのほとんどが、サーバーではなく、CDNのキャッシュサーバーが返答することになります。そのため、サーバーへのリクエスト数が減り、サーバーの安定性が向上します。
たとえば、さくらインターネットのレンタルサーバーや、AWS(Amazon Web Service)などのクラウドサーバーを利用している場合、サーバー負荷を軽減できるため、比較的安いプランのサーバーで運用が可能です。オンプレミスサーバーでは、サーバーの増設などが不要になる可能性があります。
CDNでページ応答速度を速くする
CDNによりページ応答速度が速くなります。
たとえば、CDNがない環境で、アメリカからWebサイトへアクセスした場合は、サーバーのある日本からアメリカまでデータを転送しなくてはいけません。
しかし、CDNを導入している場合は、アメリカのキャッシュサーバーに情報があるため、日本まで行かずに、アメリカ国内のみのデータ転送でページの閲覧が可能になります。そのため、ページ応答速度が改善されるため、ユーザーへのメリットもあります。
また、日本国内の通信で、Webサイトのサーバー負荷によりページが読み込み辛い状態でも、キャッシュサーバーが返答するため、快適にページを読み込むことが可能です。
CDNによるセキュリティ向上
CDNはセキュリティ対策の一環としても利用されます。一部のCDNサービスは、DDoSなどのサイバー攻撃を防ぐアクセスフィルタ機能を提供しています。全ての通信がキャッシュサーバーを通るため、Webサーバーへ到着する前の段階で防御が可能です。
CDNのデメリット
ページ応答速度の改善やセキュリティ向上が可能なCDNですが、デメリットもあります。
CDNにより古い情報が表示されてしまう
Webページの閲覧の際、古い情報が表示されてしまう可能性があります。
ブラウザのキャッシュと同様の現象が、CDNでも発生するのです。
このデメリットは、時間経過により解決しますが、どうしても即時で改善したい場合は、キャッシュクリアをします。Windowsの場合はブラウザで[Ctrl + F5]を押してキャッシュをクリアしますが、CDNも同様に、キャッシュクリアをする必要があります。
Webサイト担当者によってページを更新した場合は、CDNのキャッシュをクリアするか、キャッシュ保持期間を短くする対応が必要です。
サーバーログが記録されない
CDNはキャッシュサーバーがユーザーからのリクエストに返答するため、アクセスログなどがサーバーへ書き込まれません。その場合は、CDN側でログが管理される場合もあるため、サービスの仕様を理解する必要があります。
CDN利用料金が発生する
基本的にCDNは有料サービスです。サービス会社によりますが、月額の基本利用料やギガバイト当たりの通信料によって料金が決まります。予算やWebサイトの需要に合わせて導入を決定しましょう。
CDNの導入方法
ここからは、CDNを導入する方法を2パターンご紹介します。
自身でCDNサービスに登録する
1つ目は、ご自身でCDNサービスに登録する方法です。
WordPressのプラグインで用意されていたり、一般的な企業情報や支払い方法の登録をすることでサービスの登録自体は簡単ですが、CDNサービス登録後にご自身で下記のような設定が必要となります。
- DNS(Domain Name System)設定
URLとなるドメインをコントロールしているDNS設定が必要です。
URL⇀サーバーIPアドレスという設定を、URL⇀CDNのように設定が必要です。
- CDN宛先設定
CDN内で宛先サーバーを設定します。サービスによりますが、宛先のリソースのことを「オリジン」と呼びます。
- キャッシュコンテンツ設定
キャッシュしたいページを設定します。
静的なサイト(どのユーザーが見ても同じ情報を返すサイト)の場合は全てキャッシュ可能です。
- その他CDN設定
キャッシュの保持期間やCDNを利用するエリア(アジア限定やヨーロッパ限定など)設定など詳細を決めます。このように、CDNの設定には専門的な知識が必要です。導入によるメリットは大きいですが、学習コストや導入の手間がかかります。
CDN・サーバーまとめてトータルサポートができる会社へ委託する
2つ目に、CDNの導入を会社へ委託する方法があります。
委託先会社が既存のサーバー情報を元に、CDNの導入を行います。
さらに、CDNとネットワーク・サーバーは密接に関係しているため、導入後はネットワークを含めたサーバーも一緒に管理できる委託会社を選択すると良いでしょう。
そこで、「クロジカサーバー管理」をご紹介します。
「クロジカサーバー管理」では、お客さまのWebサーバーをオンプレミス環境からAWSというクラウド環境への移行や新規構築・管理まで行っております。AWSのCDNサービスであるAmazon CloudFrontを利用した構築が可能です。サーバーのクラウド化と一緒にCDNの導入も実現できます。
ぜひ、「クロジカサーバー管理」をご検討ください。
ライター:kait78
元大手通信事業者のインフラエンジニア。ネットワーク・サーバー・AWS領域でIT/テック記事に特化した記事を執筆。Webサーバーにまつわる課題や悩みに対して実務経験を基にした、現場社員目線の課題解決となるアイデアを提供します。
コーポレートサイトをクラウドでセキュアに
無料ではじめるサーバー管理
クロジカガイドブック
- コーポレートサイト構築・運用の課題を解決
- クロジカサーバー管理の主な機能
- 導入事例
- 導入までの流れ