さくらインターネットのウェブアクセラレータは凄く良い感じ

   このエントリをはてなブックマークに登録    2017/11/17-1

昨日の日本国内のCDNシェアという記事に対して、「個人サイトの利用ならさくらのウェブアクセラレータあたりも中々気になるんだよなあ」というhatenaのブックマークコメントがついたので、書いてみました。

気がつくと全日本剣道連盟の委員も20年目となり、それから派生して色々なスポーツ関係者からWebサイト作りや運営の相談を受けることがあるのですが、だいたいが、組織規模が小さかったり、個人だったりなので、専属でITエンジニアを雇うことができません。 そうすると、基本的にIT系のエンジニアが常に管理することが必要なサーバではなく、ホスティングサービスなど、何らかのマネージドなサービスで、かつ、値段が手頃なところとして、さくらインターネットを勧めることが多いです。

で、そういった小規模な運営主体が何らかの理由で、非常に短期的に大規模なトラフィックをさばくようなこともあります。 たとえば、年に一度開催される代表的な大会があるとか、テレビで紹介されるとか、ネット上で話題になるとか、理由は様々です。 普段は少ないトラフィックしか発生しないけど、ある特定の短期間だけはWebサーバを増強したいという場合があるのです。 いまのところ、1日100万PV弱(海外からのアクセス含む)ぐらいまでの環境でしか試せてしませんが、特に問題なく運用できています。

そういったときに、非常に重宝するのが、去年(2016年)からサービスが開始された、さくらインターネットのウェブアクセラレータです。 こういった「個人や小規模組織が使いやすい」サービスって、あまり他にないので(以前、Cloudflareを試しましたが、いまはあまり使わなくなりました)。 使わなければずっと無料ですし、500ギガバイト分の無償利用枠も嬉しいです。

さくらインターネットのウェブアクセラレータ仕様解説ページには、以下のように書かれています。

※ クラウドのアカウント毎に500GiB分の無償利用枠が用意されます。アカウントの配下ウェブアクセラレータで、データ転送の累計が500GiBに到達するまで無償でお試しいただけます。無償利用枠はアカウント毎に一度のみ適用されます。無償利用枠に有効期限はありません。
※ 配信システム側からのOutboundのトラフィックを課金対象としています。(Inbound側のトラフィックは無料です。)

これ、個人や小規模な利用者にとっては非常にありがたいです。 「500GB分はお金がかかりません」という説明をして、「やらない」と言われたことがないですし。 前までは、「困った助けて!」と言われたときに、一時的にVPSサービスを借りてnginxを走らせたりしていたのですが、そういったことをしなくても大丈夫なのが助かります。

「さくらのクラウド」のメニューなので、「さくらのクラウド」のサービスと併用しなければならないと勘違いされがちですが、実際はさくらインターネットのレンタルサーバやマネージドサーバでも使えます。 レンタルサーバやマネージドサーバで使う場合には、事前にDNSサーバに登録された情報を自分で設定できる「ドメインメニュー」を使えるように契約をしている必要があります。 「ドメインメニュー」は、サーバの設定を行う「サーバコントロールパネル」ではなく、「会員メニュー」から行います(参考)。 「ドメインのゾーン編集」ができるようにしてある状態で、「さくらのクラウド」のアカウントを取得すれば、さくらのレンタルサーバやマネージドサーバでもウェブアクセラレータが使えるようになります。

「ドメインのゾーン編集」とウェブアクセラレータの設定を行う前に、オリジンサーバとして使うWebサーバ側でも設定が必要です。 さくらインターネットのウェブアクセラレータ仕様解説ページには、以下のように書かれています。

Cache-Controlヘッダにおいてs-maxageを設定しない場合はキャッシュされませんのでご注意ください。 キャッシュされないトラフィックについてもウェブアクセラレータから配信したトラフィックについては課金対象となりますのでご注意ください。

Cache-controlのmaxageではなく、s-maxageである点に注意が必要です。 さくらインターネットのウェブアクセラレータは、共有キャッシュ(Shared Cache)を示すs-maxageが設定されているものだけをキャッシュする仕様です。 Cache-controlのmaxageだけを設定したオリジンサーバ(Webサイト)に対してウェブアクセラレータを有効にした場合、ウェブアクセラレータがキャッシュなしのリバースプロクシーになってしまうので、キャッシュヒット率が極端に低い値を示しながら、ウェブアクセラレータの扱うトラフィックが増えていってしまいます。

s-maxageは、オリジンサーバ側で設定する必要があるのですが、.htaccessの記述例として、ウェブアクセラレータの仕様紹介ページに以下のようにあります。

例)画像ファイル(拡張子 .gif .jpg .jpeg .png .ico)を86400秒(1日)キャッシュする場合の設定

<Files ~ “\.(gif|jpe?g|png|ico)$”>
   Header set Cache-Control “s-maxage=86400, public”
</Files>

サイトに含まれるすべてのコンテンツをウェブアクセラレータで10分(600秒)の有効期限でキャッシュする場合には、以下のような記述を追加することでも可能です。


<IfModule mod_headers.c>
  Header set Cache-Control 's-maxage=600'
</IfModule>

あまり規模が大きくない組織や個人のサイトを念頭に今回は紹介しましたが、それ以外でも恐らくウェブアクセラレータは有効だと思うので、ご興味があるかたは是非お試しください。

本題とは関係ありませんが

でも、実際は、フリーランスになってから10年ですが、あまりお金を持ってない個人や小規模組織が困っているところを助けることを色々やっていて、そういった活動がほぼお金にならないことも多いので、自分の生活が苦しくなっていくという悪循環なのかもと思いつつ、なんだかんだいって手伝っちゃうんですよね。

そのぶん、普通はしないような経験を色々できているのだろうと思いますけどね。

   このエントリをはてなブックマークに登録