IDCF Tech-Blog

IDCF テックブログ

クラウド・ビッグデータ・データセンターを提供するIDCフロンティアの公式エンジニアブログ

コンテンツキャッシュの2つの新機能について

こんにちは!企画グループの神谷です。

今回は、IDCフロンティアが提供しているコンテンツ配信(CDN)サービスである、コンテンツキャッシュの新機能について紹介します。 5月10日のアップデートで追加された機能は2つです!

  1. キャッシュ取り込み
  2. エラー応答のキャッシュ停止

何が便利になったのか、それぞれの機能について見ていきたいと思います。また、これらの機能に関しては、コンテンツキャッシュ スタートアップガイドに詳しく設定方法が記載されていますので、合わせてご参考ください。

1. キャッシュ取り込み

キャッシュ取り込みとは、オリジンサーバーのコンテンツをキャッシュサーバーにワンクリックで登録する機能です。
通常、コンテンツキャッシュの動作の流れは下図の通りです。 f:id:kkamiyakenshiroh:20170524191409j:plain ▲図1:キャッシュ取り込みの概要

図1の通り、コンテンツをオリジンサーバーにアップロードするだけでは(ステップ①)、キャッシュサーバーにコンテンツは反映されません。ユーザーからのアクセスがあって(ステップ②)、初めてキャッシュサーバーがオリジンを参照し、コンテンツが登録されます(ステップ③)。

大規模なアクセスが一気にくるのをあらかじめ知っていたら、事前にキャッシュサーバーにコンテンツを登録させておいて、アクセス集中時のレスポンスを早くしたいですよね。その作業を、今まではcurlコマンドなどを用いて手動で行っていただく必要がありました。また、それぞれのキャッシュサーバーに登録させるために、図1のステップ③、④で示した手順を何度も行う必要がありました。そんな手間のかかる作業が、今回のキャッシュ取り込みの新機能でクラウドコンソールから自動で実行可能になりました!

これにより、

  • コンテンツ登録後の、オリジンサーバーへの負荷軽減
  • キャッシュサーバーへのコンテンツ登録作業時間削減

などの効果が期待できます!

キャッシュ取り込みは、図2のように、クラウドコンソールから設定したいキャッシュサーバーをクリックし、取り込みたいコンテンツ名を入力、「取り込む」ボタンを押すことで実行可能です!また、コンテンツが取り込まれているかどうかを、「確認する」ボタンからチェック可能です。 f:id:kkamiyakenshiroh:20170524191425p:plain ▲図2:キャッシュ取り込み機能設定方法

2.エラー応答のキャッシュ停止

コンテンツキャッシュを用いたシステムを運用していると、オリジンサーバーの障害や負荷集中などで、キャッシュサーバーからのリクエストに対しエラー応答を返す場合があります。 f:id:kkamiyakenshiroh:20170524191438j:plain ▲図3:オリジンサーバーの障害発生時

今までのコンテンツキャッシュでは、エラー応答と正常応答を区別する仕組みがなく、エラー応答もキャッシュしてしまっていました(図3の③と④)。よって、オリジンサーバーが復旧後もエラーページを表示してしまう…ということが発生していました(図4)。 回避策として、オリジンサーバー側でCache-Controlヘッダのmax-age値を調整し、エラー応答のキャッシュ保持期間を短縮することはできます。しかし、Cache-Controlヘッダの設定ができないサービス(例:オブジェクトストレージ)をオリジンサーバーとして設定している場合、回避することはできませんでした。

f:id:kkamiyakenshiroh:20170524191451j:plain ▲図4:オリジンサーバー復旧後

今回の「エラー応答のキャッシュ停止」機能では、オリジンサーバーからのエラー応答のキャッシュを制御できるようになりました!この機能を有効化すると、応答が正常な場合はキャッシュし、エラーの場合はキャッシュしないようにできます。これにより、サービスの種別を問わず、オリジンサーバー障害時のダウンタイムを最小限にとどめることが可能になりました。

図5のように、キャッシュサーバー作成時、エラー応答のキャッシュ停止の項目で「有効にする」を選択することで設定が完了します。
f:id:kkamiyakenshiroh:20170524191510p:plain ▲図5:エラー応答のキャッシュ停止機能設定方法

まとめ

今回は5月10日のコンテンツキャッシュのアップデートで追加された、次の2つの機能について紹介しました。どちらもコンテンツキャッシュサービスをさらに使いやすくさせたと思います。

1.キャッシュ取り込み
2.エラー応答のキャッシュ停止機能

こういった小さなアップデートで、IDCFクラウドのユーザビリティを少しずつ高めていきますので、今後ともご期待ください!

Copyright © IDC Frontier Inc.