さくらのクラウド ウェブアクセラレータ初期設定の選び方まとめ:利用ドメイン別メリット・ユースケース
概要
さくらのクラウドが提供しているCDNサービスとしてウェブアクセラレータ(以下、略称WA)を設定する機会がありました
CDNとしてキャッシュ配信してくれる便利なサービスですが、いざ設定しようとマニュアルを見ると初期設定のパターンが多く、わかりにくかったので調べてみました
ウェブアクセラレータの初期設定を考えるときは、次の2段階で決まります
分岐1. オリジンの種類を選ぶ
- サーバ(ウェブサーバ)
- オブジェクトストレージ(S3互換含む)
分岐2. どのドメインで配信するかを選ぶ
- 独自ドメインを利用(www.example.jp など)
- 独自のキャッシュ用サブドメインを利用(cdn.example.jp など)
- ウェブアクセラレータ提供のサブドメインを利用(xxxx.user.webaccel.jp)
この組み合わせで、公式マニュアルにある「5種類の初期設定パターン」が決まります
初期設定(独自ドメイン利用)
初期設定(独自ドメインにサブドメインを新規設定して利用)
初期設定(サブドメイン利用)
初期設定(オブジェクトストレージ・独自ドメイン利用)
初期設定(オブジェクトストレージ・サブドメイン利用)
分岐1 オリジンを選ぶ
ウェブアクセラレータのオリジンに設定できるものは以下の2種類です
- ウェブサーバ
- オブジェクトストレージ
1.1 ウェブサーバ
ウェブサーバを設定する場合、さくらのクラウドのサーバはもちろんのこと、さくらのクラウド以外のサーバも指定することが可能です
コンテンツ取得先として、オリジンサーバのIPアドレス or FQDN、オリジンサーバへのアクセスのプロトコルの設定が必要です
1.2 オブジェクトストレージ
オブジェクトストレージとありますが、S3互換サービスも使用できるようです
ただ、オブジェクトストレージ以外を利用する場合は公式サポート対象外になるため、自身で動作検証する必要があります
コンテンツ取得先として、バケット名・S3エンドポイント・S3リージョン、またオリジン接続時に使用するAPIアクセスキーの設定が必要です
分岐2 配信に使うドメインを選ぶ
配信に利用できるドメインの種類は以下の3種類です
- ドメインの種類
- 独自ドメイン(例:
www.example.jp
) - 独自のキャッシュ用サブドメインを利用(例:
cdn.example.jp
) - ウェブアクセラレータ提供のサブドメイン(例:
xxxx.user.webaccel.jp
)
- 独自ドメイン(例:
2.1 独自ドメインを利用
- 既存のドメイン(例: www.example.com)をそのままウェブアクセラレータ経由に変更
メリット
- 利用中ドメインでキャッシュ配信が可能
- サイト内のURL変更不要
- サイト全体をキャッシュ可能
注意点
- Zone Apexドメイン(wwwなどを伴わないドメイン 例: example.com)の場合、ALIAS対応DNS(さくらのクラウドDNSなど)が必要
- キャッシュされないファイルへのアクセスも課金対象になる
- レコード切り替え時にダウンタイムの可能性あり
2.2 独自のキャッシュ用サブドメインを利用
- 利用中のドメイン(例: example.com)に、新しくキャッシュ用サブドメイン(例: cdn.example.jp)を作成
- キャッシュ用サブドメインのみをウェブアクセラレータ経由に変更
メリット
- 既存サイトはそのまま利用可能
- Zone Apexドメインが使える
- ウェブアクセラレータを経由しないアクセスは課金対象にならない
- レコード切り替え時にダウンタイムが発生しない
注意点
- キャッシュ対象ファイルのURLを書き換える必要がある
例:example.com/xxx.png
→cdn.example.jp/xxx.png
- サイト全体のキャッシュはできず、一部コンテンツのみ
2.3 ウェブアクセラレータ提供のサブドメイン
- ウェブアクセラレータで提供するドメイン(例:
xxxx.user.webaccel.jp
)でウェブアクセラレータを利用 - 配信ドメインが外部ドメインになってしまうことを許容できる場合は有用
メリット
- 既存サイトはそのまま利用可能
- Zone Apexドメインが使える(キャッシュ用ドメインは外部ドメインになってしまう)
- ウェブアクセラレータを経由しないアクセスは課金対象にならない
- レコード切り替え時にダウンタイムが発生しない
注意点
- 配信ドメインが自サイトのドメインではなく外部ドメインになる
- キャッシュ対象ファイルは
example.com/xxx.png
→xxxx.user.webaccel.jp/xxx.png
のように URL の書き換えが必要 - サイト全体をキャッシュする用途には向かない(一部ファイル向けが現実的)
メリット・デメリット比較
配信に利用できるドメインごとのメリット・デメリットをまとめた表が以下です
利用ドメイン | 例 | メリット | デメリット |
---|---|---|---|
独自ドメイン | www.example.jp | • 利用中ドメインでキャッシュ配信が可能 • サイトURLの変更不要 サイト全体をキャッシュ可能 |
• Zone Apex の場合 ALIAS 対応DNSが必須 • キャッシュされないファイルも課金対象になる • 運用中にDNSレコードを切り替えるとダウンタイムの可能性あり |
独自のキャッシュ用サブドメインを利用 | cdn.example.jp(新規作成) | • サイトURLがZone Apexでも、一部のファイルだけをサブドメイン利用で配信可能 • ダウンタイムなしでキャッシュ配信利用可能 • WAを通さないアクセスは課金対象外 |
• キャッシュ対象のURL書き換えが必要 • サイト全体のキャッシュはできない |
WA提供のサブドメイン | xxxx.user.webaccel.jp | • 独自ドメイン側のDNS設定不要 • ダウンタイムなしでキャッシュ配信利用可能 • WAを通さないアクセスは課金対象外 |
• 配信ドメインが自サイトのものではなく外部ドメインになる • キャッシュ対象URLの書き換えが必要 |
• サイト全体のキャッシュには不向き |
ユースケース
ユースケースごとの選択肢をまとめてみました
条件 | 選択肢 | 理由 |
---|---|---|
Zone Apexでない独自ドメインを使いたい | 独自ドメインをそのまま利用 | サイトURLの変更不要、CNAMEでOK |
Zone Apex独自ドメインを使いたい | ・ALIAS対応DNS利用 → 独自ドメイン利用 ・ALIAS対応DNS利用不可 → キャッシュ用サブドメイン利用 |
ALIAS必須、なければサブドメイン切り出し |
配信ドメインが外部ドメインでもよい | WA提供のサブドメイン | 導入が最も簡単 |
WAの費用を抑えたい | ・ 独自のキャッシュ用サブドメイン ・外部ドメインでもよければWA提供サブドメイン |
WA経由のアクセスはキャッシュしないファイルでも課金対象 |
サイト全体をキャッシュしたい | 独自ドメイン利用 | 全コンテンツを対象にキャッシュ可能 |
まとめ
さくらのクラウドのウェブアクセラレータを設定する場合、オリジンの種類と配信ドメインの選択によって方法が変わります
用途や制約に応じて、最適な組み合わせを選ぶことが重要です
本記事が、これから設定する方の参考になれば幸いです
Discussion