MEGAZONE
Tech ブログ
CDNにおいての「キャッシュ」とは?時間や確認方法も解説
CDN(Content Delivery Network)は、Webサイトの読み込み速度の向上などの目的でさまざまな企業で利用されています。CDNを利用する際によく聞くのが「キャッシュ」という言葉です。聞いたことはあるけど「キャッシュとは何か」「どのような仕組みなのか」と気になっている方も多いのではないでしょうか。
この記事では、CDNでよく聞く「キャッシュ」について詳しく解説します。「キャッシュ時間」やキャッシュ時間の確認方法なども紹介しますので、ぜひ参考にしてください。
必死の思いでようやく辿り着いたサイトオープン。 プロジェクトは順調に進んでいるかに見えたが… 思いがけないトラブルが発生!
窮地に追い込まれた斉藤はいかにして、 ピンチを乗り切るのだろうか?
【基礎知識】CDNのキャッシュとは
はじめに、基礎知識として「キャッシュ」とはそもそも何かを説明します。また、CDNにおけるキャッシュの使い方についても、併せて解説していきます。
☑︎|キャッシュの意味
☑︎|CDNでのキャッシュの使い方
キャッシュの意味
キャッシュとは、一度閲覧したWebページの情報をブラウザに一時的に保存する仕組みのことです。キャッシュがあることで、一度閲覧したWebページの表示速度が上がり、スムーズなページの閲覧・動画視聴が可能になります。
例えば、Webページを表示する際には、画像やテキスト、動画の情報などのさまざまなデータをWebページから順次ダウンロードしなければなりません。そのため、ダウンロードする手間や時間の分だけ、Webページを見るまでの間に時間が掛かってしまうのです。
しかし、端末にキャッシュが保存されていれば、情報をWebページからダウンロードする手間がかからず、端末から情報を即座に読み取り、画面に表示することができます。データをダウンロードして表示させる速度よりも、キャッシュを読み取る速度の方が速いため、表示スピードが上がる仕組みです。
≫≫ Webサイトの表示速度を改善するCDN・キャッシュとは?
CDNでのキャッシュの使い方
CDNは「コンテンツデリバリーネットワーク」の略であり、Webコンテンツをよりスピーディーかつ効率的に配信するための仕組みです。CDNは、キャッシュサーバーとオリジンサーバー、DNSによって成り立っています。CDNの大まかな仕組み・流れは下記の通りです。
1. はじめにユーザがDNSを経由してキャッシュサーバへリクエストを送信する。
2. キャッシュサーバーからオリジンサーバーへデータを取りにいく。
(キャッシュサーバの中身は最初は空になっているため)
3. 2回目以降のアクセスからはキャッシュサーバーからユーザーに向けて直接配信する。
2回目以降からは、キャッシュサーバから直接配信されるため、オリジンサーバへのアクセスは発生しません。CDNでは、このオリジンサーバからデータを取得し、キャッシュサーバーにデータを抱えている状態を「キャッシュしている」と呼びます。
CDNにおけるキャッシュは、コンテンツ配信の高速化に大きく貢献します。しかし、キャッシュが長期間保存されている場合、コンテンツの更新や修正が反映されないことがあるため、CDNではキャッシュの有効期限や更新方法などを設定することが重要です。
CDNのキャッシュ時間とは?
ここでは、CDNのキャッシュ時間について解説していきます。
☑︎|データの保持期間のこと
☑︎|コンテンツの更新を早くしたい場合
データの保持期間のこと
CDNにおけるキャッシュ時間とは、データの保存期間のことを指します。CDNの仕組みを理解するためには、CDNでのキャッシュ時間の考え方を理解しなければなりません。
例えば、キャッシュ時間を40秒に設定した場合の例で説明します。
40秒に設定すれば、初回にキャッシュサーバがオリジンサーバからデータを取得してから40秒間はキャッシュサーバからデータを配信し、41秒後以降にアクセスがあった場合、再度オリジンサーバからデータを取得する流れになります。その際にオリジンサーバのデータが更新された場合に更新し、また40秒間キャッシュしていきます。
また、このキャッシュ時間は「TTL(Time to Live)」とも呼ばれています。TTLとは、「生存する期間」という意味であり、秒単位で指定します。
例えばTTL値が60の場合、60秒=1分になります。基本的な利用可能な最小のTTLは通常30(30秒)で、最大値が86400(24時間)となっています。また、デフォルト値が3600(1時間)に設定されているサイトが大半です。
コンテンツの更新を早くしたい場合
実際にコンテンツの更新やWebページの読み込みスピードを上げたいときは、TTL(キャッシュ時間)の設定を短くすることで可能になります。TTLの値を短く設定すれば、その分だけ早くユーザー側に反映される仕組みです。
CDNのキャッシュ確認方法
この章では、CDNのキャッシュの確認方法について解説します。主な確認方法は下記の3つです。それぞれの確認方法について解説します。
☑︎|UIでの確認方法
☑︎|Webブラウザでの確認方法
☑︎|コマンドでの確認方法
UIでの確認方法
UI(User Interface)とは、ユーザーインターフェイスの略称であり、一般的にユーザーとサービスとの接点(インターフェイス)のことを指します。CDNによって手順は異なりますが、UIでのキャッシュの確認は下記の流れで行われるケースがほとんどです。
1. コンソールのCDN設定画面から、キャッシュを確認したいサービス名を選択する。
2. 表示画面にある「キャッシュ」の項目をクリックする。
3. 確認したいWebページのURLを入力する。
4. 現在のキャッシュ保持状態が表示される。
以上の流れになります。例えば、ステータスが正常に更新できていない場合、複数回ページを更新するようにしましょう。
Webブラウザでの確認方法
続いて、多くのユーザーが利用しているWebブラウザである「Google Chrome」での確認方法を紹介します。下記の手順で確認していきます。
1. キャッシュを設定したWebページの任意の場所で右クリックする。
2. 「検証」を選択する。
3. 表示された検証画面で「Network」のタブを選択する。
4. ページを更新する。
5. ページ下部に表示された一覧の中から、キャッシュの設定をしたコンテンツを選択する。
6. 「x-cache: MISS」となっている場合、正常にキャッシュできていない可能性が高い。
正常にキャッシュできていない場合、複数回ページを更新するようにしましょう。
コマンドでの確認方法
最後に、curlコマンドによる確認方法を紹介します。
1. 使っているコンソール内で下記のコマンドを入力してください。
2. curl -v “キャッシュを確認したいWebページのURL”> /dev/null
正常にキャッシュされていなければ、「x-cache: MISS」と表示されます。この文字が表示された場合、正常にキャッシュできていない可能性があることが分かります。
まとめ
今回は、CDNのキャッシュについて詳しく解説しました。
CDNは、コンテンツの速度改善やサーバーの負荷軽減など、様々なメリットをもたらします。キャッシュの時間設定や確認をスムーズに行うことができれば、CDNの機能をより有効に使えるようになります。本記事で紹介した方法を参考にしてみてください。
必死の思いでようやく辿り着いたサイトオープン。 プロジェクトは順調に進んでいるかに見えたが… 思いがけないトラブルが発生!
窮地に追い込まれた斉藤はいかにして、 ピンチを乗り切るのだろうか?