FastlyのCDNは、比較的新しいCDNサービスですが、FastlyはDDoS対策を含む様々な機能を揃えた信頼性の高いプラットフォームとして知られています。

Fastlyのインストールと設定

FastlyのCDNを利用してHTTPSでサイトを配信するには(推奨)、Fastlyの有料プランを契約して、SSL証明書を追加することになります。

Fastlyのアカウントをお持ちでない場合、まずはアカウントの新規登録を行なってください。

ステップ1

Fastlyアカウントにログインしたら、編集(鉛筆)アイコンをクリックして新たなサービス名を入力し、Enter/Returnキーで保存します。

サービス名の変更
サービス名の変更

なお、このサービス名の変更は必須ではありませんが、後でサービスを追加する際に識別しやすくなり便利です。

ステップ2

Domains」セクションの入力フィールドにドメインを貼り付けます。

なおDNSの制約上、wwwなし(Apexドメイン)ではなく、wwwあり(例:www.example.com)のドメインを使用することが推奨されています。

Apexドメインを使用する場合にはこちらを参照してください。

ドメインを追加
ドメインを追加

ステップ3

次に、ページの上部付近に表示されるステップ2の「host」をクリックするか、左サイドバーメニューの「Origins」の下にある「Hosts」をクリックして、サーバー情報を追加します。

入力フィールドには、「hosting.kinsta.cloud」またはサイトのIPアドレスを貼り付けてください(プライマリドメインは、サービスを有効化するためにFastlyに紐付ける必要があります)。一時的なドメインをホスト名に使用することもできますが、一時的なドメインはサイトから削除されてしまう可能性があるため、「hosting.kinsta.cloud」の使用をお勧めします。

ホスト名を貼り付けたら、「Add」をクリックして追加します。

ホスト名を追加
ホスト名を追加

ステップ4

オリジンサーバーのホスト名を追加したら、横にある編集(鉛筆)アイコンをクリックし、各フィールドを以下のように設定してください。

  • Name:サーバーの表記のため任意(デフォルトは「Host 1」等)
  • Address:「hosting.kinsta.cloud」またはサイトのIPアドレス
  • TLS from Fastly to your host:Yes
  • Verify certificate?:Yes
  • Certificate hostname:お客様のKinstaサイトのプライマリドメイン
  • SNI hostname:お客様のKinstaサイトのプライマリドメイン

注意)KinstaサイトにFastlyで使用するドメインと異なるプライマリドメインを設定している場合は、以下の「サーバーにオーバーライドを設定する」をご覧ください。

ステップ5

ドメインとオリジンサーバーの設定を終えたら、サービスを有効化します。ページ右上にある「Activate」ボタンをクリックしてください。

なお、この段階ではドメインとオリジンサーバーの詳細をサービスに保存するだけで、本番サイトに影響を与えることはありません。

Fastlyのサービスを有効化
Fastlyのサービスを有効化

ステップ6

本番サイトに導入する前に、CDNが正常に動作するかをテストします。

この手順は必須ではありませんが、CDN導入後に何かしらの調整が必要になり、本番サイトに影響を与えてしまうことを考慮し、実施することをお勧めします。

テストドメインのリンクは、左サイドメニューの「Domains」をクリックします。

Fastlyの「Domains」ページに移動
Fastlyの「Domains」ページに移動

「Domains」ページで、ドメイン名の横にある「Test domain」をクリックすると、ブラウザの新規タブにテストドメインが表示されます。

テストドメインを開く
テストドメインを開く

テスト用ドメインのURLは、「http://www.example.com.global.prod.fastly.net(www.example.com をドメイン名に置き換え)」のようになります。必要に応じて、このURLをブックマークしたり、他のユーザーに共有することも可能です。

ステップ7

テストドメインでサイトが正常に表示されることを確認したら、TLSを追加してサイトをHTTPSで接続するように設定します。

FastlyにはTLS関連の機能がいくつかありますが、今回は証明書の機能のみをご紹介します。

追加料金が必要になりますが、必要に応じてサードパーティの証明書をアップロードすることができます。その場合は、こちらの手順に従ってください。

  1. ページ上部にある「Configure」をクリックし、その下にある「HTTPS and network」タブを選択します。
  2. 初めてドメインにTLSを設定する場合は、「Add HTTPS to your domains」の下にある「Get started」をクリックします。そうでない場合は、ページ右側にある「Secure another domain」をクリックします。表示されるドロップダウンメニューで「Use certificates Fastly obtains for you」を選択してください。
  3. 「Enter subscription」の詳細ページで、以下の操作を行なってください。
    1. ドメイン名を入力して、「Add」をクリックします。
    2. 認証局として「Let’s Encrypt」を選択します。
    3. TLS設定はデフォルトの「TLS 1.3」のままにしておきます。
    4. Submit」をクリックします。
  4. 「TLS subscription」の詳細ページで、「Verification Details」の「View」をクリックします。

    SSL証明書のドメイン所有権を確認するための詳細を表示
    SSL証明書のドメイン所有権を確認するための詳細を表示
  5. 表示されたポップアップ画面で、コピー(クリップボード)アイコンをクリックし、ドメイン所有権を確認する際、DNSレコードに必要なCNAMEレコードをコピーします。

    ドメイン所有権の確認用のCNAMEレコードをコピー
    ドメイン所有権の確認用のCNAMEレコードをコピー
  6. ドメインのDNSを管理している場所にログインし、CNAMEレコードを追加します。以下の例では、KinstaのDNSでCNAMEレコードを追加する方法をご紹介します。別のDNSプロバイダ(ドメインのネームサーバーがどこに紐付いているかによって、ドメインのレジストラや、他のDNSホスティングである可能性があります)を使用する場合は、手順がやや異なります。
    1. MyKinstaの左側のメニューで「DNS」をクリックします。
    2. DNSレコードを追加するドメインを選択します。
    3. DNSレコードを追加する」をクリックします。
    4. CNAME」タブを選択し、「ホスト名」と「指定先」を設定します。ホスト名は「_acme-challenge.www.DOMAIN_NAME(例:_acme-challenge.www.myawesomesite.com)」の形式で、指定先はFastlyの「Verify domain ownership」画面でコピーしたレコードを貼り付けます。「DNSレコードを追加」をクリックして、保存すれば完了です。なお、DNSレコードの伝播には最大1時間かかる場合があります。

      KinstaのDNSでドメインの所有権確認用のCNAMEレコードを追加
      KinstaのDNSでドメインの所有権確認用のCNAMEレコードを追加

ステップ8

TLSをセットアップしたら、次にドメインのCNAME(wwwあり)をFastlyに紐付けます。なお、この手順は、お使いのプロバイダによって異なる可能性があります。以下は、KinstaのDNSの例になります。

  1. MyKinstaの左側メニューから「DNS」をクリックします。
  2. DNSレコードを追加したいドメインをクリック選択します。
  3. wwwありのドメインにCNAMEレコードがすでに設定されている場合は、編集(鉛筆)アイコンをクリックして変更します。そうでない場合は、「DNSレコードを追加する」をクリックします。
    1. ホスト名:www
    2. 指定先:j.sni.global.fastly.net
  4. DNSレコードを変更する」ボタン(変更の場合)または「DNSレコードを追加」(新規追加の場合)をクリックして、DNSレコードを保存します。なお、DNSレコードの伝播には最大1時間かかる場合があります。

    KinstaのDNSでドメインのCNAME(wwwあり)をFastlyに紐付ける
    KinstaのDNSでドメインのCNAME(wwwあり)をFastlyに紐付ける

以上で、セットアップと設定が完了です。

よくある問題のトラブルシューティング

セットアップを終えた後も、問題が発生する可能性があります。以下、一般的に見られる問題のトラブルシューティング方法と設定のヒントをご紹介します。

サイトに変更が反映されない

Fastlyを通してサイトを配信すると、キャッシュのレイヤーが追加されるため、キャッシュのクリアが必要です。インストールまたは再インストール後、サイトの変更が表示されない場合、あるいはプラグインが正常に動作しない場合は、以下を含むすべてのキャッシュをクリアしてください。

  1. プラグイン(使用している場合)
  2. テーマ(使用している場合)
  3. Kinstaサイト/サーバーキャッシュ(MyKinstaまたはKinsta MUプラグインから)
  4. Fastlyのキャッシュ
  5. ブラウザキャッシュ

誤検知によるIPアドレスのブロック

FastlyのDDoS対策やボット検出によって誤検知が発生すると、お客様またはお客様のサイト訪問者がブロックされてしまう可能性があります。Fastlyと弊社のカスタマーサポートの両方に連絡を取り、ブロックが発生している場所を追跡してください。

HTTP-HTTPS間のリダイレクトループまたはTLSバージョンエラー

リダイレクトループまたはTLSバージョンエラーが発生する場合は、以下の設定を確認してください。

  1. 上記のステップ4を参照し、FastlyからオリジンサーバーへのHTTPS/TLS設定が一致しているかどうかを確認します(「Origins」>「Hosts」>「Show all details」)。
  2. 上記のステップ3を参照し、ホスト名がKinstaのドメインと一致しているかどうかを確認します。

サーバーにオーバーライドを設定する

Fastlyのホストヘッダーは、デフォルトでFastlyで設定したドメインが指定されています。Kinstaサイトがリクエストを認識するには、ホストヘッダーがサイトのドメインと一致していなければなりません。

Fastlyに追加したドメインがKinstaサイトに設定されていない場合、Kinstaからコンテンツを要求するオリジンサーバーに対してオーバーライドを設定してください。オーバーライドには、Kinstaサイトに設定されているドメインを選択してください。

例えば、Fastlyで「example.com」を設定していて、Kinstaサイトのドメインが「example.kinsta.cloud」のみの場合、Kinstaからプルするオリジンサーバーのオーバーライドを「example.kinsta.cloud」に設定します。

サーバーレスコンピューティング

Kinstaで運用していない他のパスやサブドメインに使用することができます(例:API呼び出しやWordPressサイト外のパスなど)。

FastlyのWordPressプラグイン

Fastlyは、WordPressの管理画面で使用できるプラグインも提供しています。

プラグインをインストールして有効化した後、WordPress管理画面の「Fastly」>「General」で、サービスIDとAPIトークンを設定してください。

検索・設定方法の手順は、同じ画面にあるリンクから参照可能です。接続テストを行う前に、必ずこの設定を行なってください。

まとめ

FastlyのCDNに関する問題が発生した場合、サーバー側の問題については、弊社カスタマーサポートでご対応いたします。Fastly側のトラブルシューティングについては、Fastlyにお問い合わせいただくか、開発者と協力して操作を行なってください。

Kinstaニュースレターでは、Cloudflare統合にまつわる最新情報を毎週お届けしています。ぜひご購読ください。