ウェブアクセラレータ

さくらのクラウドで提供中のCDN(Content Delivery Network)サービス「ウェブアクセラレータ」を利用して、仮想サーバーの負荷を減らしウェブサイトの表示を安定させる方法をご案内します。
さくらのVPS では「root権限(管理者権限)」を利用できることから、Apacheやnginxの設定ファイルを変更して、ある程度はウェブサイトのエラー対策が行えます。
しかしながらそれを上回るアクセス過多が発生した場合、サーバーリソース不足が原因となりエラーが表示されることもあるため、ウェブアクセラレータの利用が対策として有効です。

用語説明

オリジンサーバ

ウェブアクセラレータで配信するコンテンツデータのもとを保持しているサーバー。ここでは さくらのVPS です。

ゾーンアペックス

example.comのようにドメインの前に何もない名前です。

リソースレコード

AレコードやMXレコードなどの設定情報です。

前提条件・事前確認

前提条件

ウェブアクセラレータでは利用するドメインについて、以下の3パターンがあります。( 5. 各機能の利用の流れ

  • 利用手順(独自ドメイン)

  • 利用手順(独自ドメインにサブドメインを新規設定)

  • 利用手順(サブドメイン)

本マニュアルでは「利用手順(独自ドメイン)」によるコンテンツの配信にお客様がお持ちのドメインを利用し、かつすでに稼働中のサイトのドメインにキャッシュを設定する際の使い方をご案内しています。
独自ドメインの利用ではドメインのCNAMEレコードを編集します。CNAMEは仕様上、ゾーンアペックスには設定できません。www.example.jpのようにサブドメインが設定されている必要があります。
独自ドメインを利用する設定例として、ドメインを以下のように定義しています。

www.example.com

公開しているサイトのホスト名

example.com

オリジンサーバ指定用のFQDN(ドメイン名、ホスト名)

さくらのクラウドアカウントをお持ちでない場合、 新規登録の手続き をおこなってください。

事前確認

お客様のオリジンサーバやネームサーバにて、以下の設定ができるかをご確認ください。設定できない場合は、このページの方式でのウェブアクセラレータの利用はできません。

  • お客様がお持ちのドメインのCNAMEレコード、Aレコード、TXTレコードが編集できること。

  • 既存のドメインをそのまま使う場合はお客様のドメインのAレコードを削除し、CNAMEレコードに変更しますので、TTLを変更できる場合は作業前に300秒程度にしておくことをおすすめします。

  • キャッシュしたいファイルに対してHTTPレスポンスヘッダーを追加できること。(Apacheであれば.htaccessが使用できる、nginxの場合はnginxの設定ファイルが編集できれば可能です)

事前準備

オリジンサーバにてコンテンツのキャッシュ設定

ウェブサーバの設定ファイル記述方法をご紹介します。この設定は必須のため、適切に設定されていない場合はキャッシュ配信が行われません。

nginxの場合

デフォルトの設定ファイルであるnginx.conf、またはincludeされる設定ファイルに記載します。
以下は拡張子「gif」「jpg」「png」「ico」のファイルをキャッシュ時間1日(86400秒)としてウェブアクセラレータにキャッシュすることができます。
対象ファイルは「 | 」(パイプ)で区切ることで追加できます。
location ~* \.(gif|jpg|png|ico)$ {
 add_header Cache-Control "s-maxage=86400, public";
}

Apacheの場合

この設定は .htaccess、httpd.conf、またはincludeされるApacheの設定ファイルに記載されている必要があります。
以下は拡張子「gif」「jpg」「png」「ico」のファイルをキャッシュ時間1日(86400秒)としてウェブアクセラレータにキャッシュすることができます。
対象ファイルは「 | 」(パイプ)で区切ることで追加できます。
<Files ~ "\.(gif|jpg|png|ico)$">
  Header set Cache-Control "s-maxage=86400, public"
</Files>

キャッシュサーバからオリジンサーバへのアクセスポートの開放

ウェブアクセラレータのキャッシュサーバは、以下のネットワークよりオリジンサーバへの通信を行っています。オリジンサーバにて以下ネットワークからのHTTP(80)の通信を許可するよう設定をお願い致します。

133.167.4.0/24
153.121.0.0/24(2017/1/31追加)

※ 設備増強により接続元IPアドレスが増加することがあります。

DNS設定の変更

さくらのVPS は無料でさくらのネームサーバを利用できます。( ネームサーバ利用申請
ここではさくらのネームサーバの利用を前提としてご説明していますが、他社ネームサーバでもウェブアクセラレータはご利用可能です。他社ネームサーバの設定については、他社サポートサイト等をご参考いただき、お客様にて設定をお願いいたします。

なお、レコードリソースの設定が誤っているとメールの受信などができなくなりますので、正しく入力するようご注意ください。
また、DNS設定の反映には時間を要しますので、 ウェブアクセラレータの設定を行う1日以上前に実施ください。

ネームサーバの利用するには会員メニューへログインします。
会員メニューのログイン画面

「契約情報」から 「ドメインの契約情報を確認」をクリックします。

契約情報の確認

「ドメインメニュー」をクリックします。

ドメインメニューを選択

「ネームサーバ新規登録」をクリックします。

ネームサーバ新規登録を選択

独自ドメイン「example.com」を入力し、「送信する」をクリックします。

独自ドメインを入力

これでネームサーバの登録は完了しました。「ドメインメニューへ」から次に進んでください。

ドメインメニューへ進む

ネームサーバに登録した独自ドメイン「example.com」の「ゾーン編集」をクリックします。

登録した独自ドメインのゾーン編集を選択

さくらインターネットのネームサーバに設定する(詳細設定)の「送信する」をクリックします。

送信するを選択

初期状態ではNSのみ設定されています。「変更」をクリックして「example.com」のリソースレコードを登録してください。

変更を選択

公開しているサイトのドメイン「www.example.com」のAレコードはTTLの指定を300にして「新規登録」をクリックします。

新規登録を選択

全てのリソースレコードの登録が完了したら、「データ送信」をクリックして設定を反映させます。

データ送信を選択
ドメインメニューのWHOIS情報編集でネームサーバを変更します。
例として以下はさくらインターネットで管理しているドメインのWHOIS情報画面です。他社ネームサーバが設定されている場合は「ns1.dns.ne.jp」「ns2.dns.ne.jp」に変更します。
ネームサーバの変更

ウェブアクセラレータの設定

ウェブアクセラレータ ダッシュボードへのアクセス手順

さくらのクラウドのログイン画面から「さくらのクラウドユーザとしてログイン」します。

さくらのクラウドのログイン画面

「ウェブアクセラレータ」のアイコンをクリックすると、ダッシュボードが表示されます。

ウェブアクセラレータを選択

サイトの新規追加

ウェブアクセラレータを利用するウェブサイトを新規追加します。左メニューの「サイト追加」をクリックして情報を入力します。

ドメイン種別

独自ドメイン

サイト名

コントロールパネルに表示される名前

公開ドメイン名

公開中のドメイン名(例では www.example.com)

オリジンサーバ

オリジンサーバのドメイン名(例では example.com)

入力後は「保存」をクリックします。

保存を選択

これでサイトの新規追加は完了です。サイトの詳細な情報を確認するには「追加サイトの詳細」をクリックします。

追加サイトの詳細を選択

新規追加時はウェブアクセラレータが無効になっています。有効にするため「CNAME先」の情報(00000000.user.webaccel.jp)をメモ等に控えてください。

無効から有効への変更

DNS設定(TXTレコードの追加)

ウェブアクセラレータのサイト有効化前にCNAMEを設定するとサイトが閲覧できなくなります。 そのため、すでに稼働中のサイトで独自ドメイン設定を行う場合はTXTレコードによる事前認証を行います。

ネームサーバに登録した独自ドメイン「example.com」の「ゾーン編集」をクリックします。
ゾーン編集を選択

「変更」をクリックします。

変更を選択

TXTレコードの情報を入力した後、「新規登録」をクリックします。値にはサイト新規追加時に控えておいた情報を用います。

エントリ名

www

種別

テキスト(TXT)

webaccel=00000000.user.webaccel.jp

新規登録を選択

「データ送信」をクリックすることで、TXTレコードの設定が反映します。

データ送信を選択

ステータスの有効化

さくらのクラウドのログイン画面から、ウェブアクセラレータのダッシュボードに移動します。初期状態では「ステータス無効」になっていますので「設定」をクリックします。

設定を選択

「有効にする」をクリックすると、「ステータスを有効に切り替えますか?」とメッセージが表示されます。内容を確認して問題がなければ「有効に切り替える」をクリックします。

有効に切り替えるを選択

以下の画面が表示されたら有効化は完了です。

有効化の完了

DNS設定(CNAMEへ変更)

CNAMEレコードはAレコードやTXTレコードとの共存ができません。Aレコードや事前認証のために設定したTXTレコードは削除が必要です。
なお、Aレコードを削除するとAレコードに設定したTTLの時間が経過した時点でサイトが閲覧できなくなります。削除後はできるだけ早くCNAMEレコードを設定してください。

ネームサーバに登録した独自ドメイン「example.com」の「ゾーン編集」をクリックします。
ゾーン編集を選択

「変更」をクリックします。

変更を選択

事前認証で使用したTXTレコードは「削除」をクリックして削除します。

削除を選択
CNAMEレコードの情報を入力した後、「変更」をクリックします。
この変更により「www.example.com」のAレコードが削除されます。

エントリ名

www

種別

別名(CNAME)

00000000.user.webaccel.jp.

変更を選択

「データ送信」をクリックすることで、TXTレコードの設定が反映します。

データ送信を選択

CNAMEの設定を行ってから最大でAレコードのTTL値分(ここでは300秒)の時間が経過するとキャッシュが有効になります。

ウェブサイトの確認

Google Chromeなどのブラウザで、「www.example.com」にアクセスします。デベロッパーツールを使用して、オリジンサイトの画像ファイルがウェブアクセラレータ経由(独自ドメイン:www.example.com)になっていることを確認します。
また、キャッシュされているファイルはレスポンスヘッダー「X-Cache」が「HIT」になります。東京リージョンと大阪リージョンで最低2回のキャッシュ用アクセスが必要ですので、2回以上、複数回アクセスしてからご確認ください。
※ 以下の画像はGoogle Chromeのデベロッパツールにおける「Network」の「Headers」
ウェブサイトの確認

DNS設定(CNAMEのTTL変更)

動作に問題が無いことが確認できれば、「www.example.com」に設定したCNAMEのTTLを3600に戻します。
「www.example.com」のゾーン編集画面に入り「00000000.user.webaccel.jp.」をクリックすると、「エントリの追加と変更」に情報が入力されます。
このまま「変更」→「データ送信」をクリックすることで、TTLが3600になります。
DNS設定

以上でウェブアクセラレータの設定は完了です。