2. Fastly の使用を開始する

2 of 7

このページは、Fastly の CDN の説明の一部であり、Fastly の CDN の使用方法および Web サイトの例とドメイン名を示して段階的に説明するチュートリアルです。このチュートリアルでは、静的サイト生成ツールの Jekyll、Amazon AWS、Fastly CDN を使用して静的Webサイトをキャッシュ・配信する手順をご紹介します。詳細については、こちらをご覧ください。

Fastly アカウントを作成し、Fastly コントロールパネルにログインしていきます。トライアルアカウントに登録できます。クレジットカード情報は必要ありません。登録してアカウントを認証すると、以下の画面が表示されます。

注意

Fastly アカウントを作成して設定を追加しても、本番環境の Web サイトに関連するものは何も変更されません。トラフィックは、DNS レコードを更新するまでに、S3 バケットに流れ続けます。

Fastly web インターフェース

サービス名を変更する

Fastly は、アカウントに登録したときに、サービスを作成しました上のスクリーンショットでservice configurationを確認します。Fastly アカウントには複数のサービスを含めることができ、個別の Web サイトまたはアプリケーションに各々のサービスで対応することができます。サービス設定では、ドメイン名、オリジン、ヘッダー、キャッシュ設定など、Fastly サービスに関するあらゆる設定を行うことができます。

OptionsメニューからEdit service nameを選択して、サービス名を変更していきます。下記に示すように、Taco Labsなどの覚えやすい名前をサービス名に使用します。

サービス名を変更する

現在、設定されているサービスは1つのみですが、今後さらに追加することがあるかもしれません。サービスに分かりやすい名前をつけることで、すべてのサービスが表示されるホームページ (All services) で他のサービスとの見分けがつきやすくなります。

ドメインの追加

これで、サービス設定にドメインを追加する準備ができました。ドメインにはユーザーがアクセスするパブリック URL を設定します。これを設定することで、Fastly は、サービスへのトラフィックがどこから発生するかを把握することができます。以下のように、ドメインフィールドに www.tacolabs.com を入力し、Add をクリックしてサービス設定にドメインを保存します。

ドメインを追加する

注意

www.tacolabs.com はすでに追加されているため、ご利用のサービスにドメインとして追加することはできません。Fastly では、複数のサービスが同じドメインを使用することはできません。

オリジンホスト名の追加

次に、サービス設定にオリジンのホスト名を追加し、Fastly がコンテンツをどこからプルするかを把握できるようにします。サイドバーの Hosts をクリックし、S3 静的 Web サイト (www.tacolabs.com.s3-website.us-east-2.amazonaws.com) の公開 URL を以下のように入力します。

オリジンホスト名を追加する

ヒント

オリジンのホスト名を探すには、少し時間がかかります。AWS や Google Cloud Platform などのクラウドサービスを使用している場合、管理コンソールでホスト名を確認することができますが、常にそうできるとは限りません。ここでは、AWS が提供する S3 の静的 Web サイトホスティング機能を使用しているため、オリジンのホスト名は、S3 でホストされた Web サイトのパブリック URL (www.tacolabs.com.s3-website.us-east-2.amazonaws.com) になります。静的 Web サイトのホスティング機能を使用せずに S3 バケットを使用している場合、オリジンのホスト名は Amazon S3 統合ガイドに記載されている形式になります (www.tacolabs.com.s3.us-east-2.amazonaws.com)。また、オリジンがサーバーである場合、オリジンホスト名が IP アドレスとなる可能性が高くなります。

オリジン接続の TLS を無効化する

TLS で保護できる接続には、オリジンと Fastly 間の接続、および Fastly とユーザー間の接続の 2 つがあります。以下の図で 2 つの接続の違いを確認できます。

TLS 証明書で保護できる2つの接続

Fastly は、Web コントロールパネルをホスト名に入力した場合、オリジンと Fastly の間で TLS を自動的に有効化します。(IP アドレスを入力すると、TLS は自動的に無効化されます。)S3 の静的ホスト機能は TTLS をサポートしていないため、S3 バケットと Fastly の間で TLS を無効化するオリジン設定を調整する必要があります。Fastly とユーザー間の TLS は後で設定します。

ヒント

接続を暗号化すると、よいでしょう!実際の状況では、Fastly とオリジンの接続を可能な限り暗号化してください。オリジンによっては、Let's Encrypt が発行する無料証明書をインストールできる場合があります。

以下に示されているように、鉛筆アイコンをクリックしてオリジン設定を編集し、No, do not enable TLS (いいえ、TLS を有効化しません) を選択してください。次に、Update をクリックして設定を保存します。これですべて完了です!

S3 バケットと Fastly 間の TLS を無効化する

サービスのバージョン管理について理解する

サービス設定の有効化の準備ができましたが、その前に、Fastly がどのようにしてサービス設定の変更を管理するかについて説明します。これは、多くの新規ユーザーが混乱する問題です。ですから、進める前に、ここで仕組みを説明します。

Fastly のバージョンサービス設定。これは Fastly のサービス設定に、バージョンコントロールの原則を適用するようなものです。このチュートリアルではこれまで、draftサービス設定を使って作業してきました。ドラフトバージョンのサービス設定を有効にすると、Fastly は設定を本番環境にプッシュし、サービス設定をロックします。変更を行う場合、アクティブなバージョンを複製し、新しいバージョンを編集する必要があります。

コントロールパネルを使用してサービス設定のバージョンを切り替える

上の図が示すように、サービス設定の各バージョンにはバージョン番号が割り当てられています。以前のサービス設定とアクティブな設定は編集することはできませんが、前のバージョンを複製して新しいバージョンで変更することは可能です。コントロールパネルを使用して、バージョンにコメントを追加し、2つの異なるバージョンの違いを表示することができます。また、以前のサーバー設定のバージョンにロールバックすることができます。サービスと仕組みについての詳細を知るには、サービスを設定するのドキュメントをご覧ください。

サービス設定の有効化

サービス設定を有効にしてみましょう。そうすることで、Fastly がどのように Web サイトをキャッシュし、配信するかをプレビューできます。以下のように、画面の右上にある Activate をクリックします。この操作が、本番環境の Web サイトに影響することは一切ありません。DNS レコードはまだ変更されていません。

Active ボタンをクリックして、サービス設定をデプロイする

Fastly は、サービス設定をロックし、設定を本番環境にプッシュします。

Web サイトの確認

Fastly がサービス設定の変更を反映させるまでには、数分かかる場合があります。変更が有効になったら、Fastly がどのように Web サイトをキャッシュし、配信するかをプレビューすることができます。Fastly はすべてのサービスにテストドメイン名を提供します。以下のように、Domains ページにテストドメインへのリンクが表示されます。

Web サイトを確認するテストドメインリンク

Web ブラウザでリンクをクリックして開きます。表示されました!http://www.tacolabs.com.global.prod.fastly.net/ にウェブサイトがあります。Fastly は S3 の静的サイトから Web サイトをプルして POP サーバーにキャッシュし、テストドメインを介して配信しています。

キャッシュ状態の確認

この初期段階で、Fastly がどのように Web サイトを配信しているかを確認するため、キャッシュをチェックして、HTTP ヘッダーを確認することをお勧めします。そうするには、2つの方法があります。コントロールパネルを使用して、オブジェクトのキャッシュ状態をチェックするか、または curl と呼ばれるコマンドラインユーティリティを使用することができます。

まず、コマンドラインインターフェースを使用していきます。通常 curlは Unix と Linux ベースのシステムにデフォルトでインストールされています。端末アプリケーションを開き、次のコマンドを入力します:

$ curl -svo /dev/null -H "Fastly-Debug:1" http://www.tacolabs.com.global.prod.fastly.net

出力で以下のように表示されます:

< Age: 585551
< X-Served-By: cache-sna10742-LGB
< X-Cache: HIT
< X-Cache-Hits: 1

X-Cache: HITは、オブジェクトが Fastly のキャッシュにあることを意味しています。(Web サイトにアクセスする前にコマンドを実行すると、X-Cache: MISSが確認できます。これは、Web サイトがまだ Fastly のキャッシュにないことを意味します。)キャッシュ内に現在のオブジェクトの時代と、コンピュータにコンテンツを提供するキャッシュノードも表示されます。

ヒント

鋭い読者は、curl コマンドにヘッダーが追加されたことに気付くかと思います。Fastly-Debugヘッダーは Fastly 独自のものです。ヘッダーが存在すると、Fastly のキャッシュサーバーが追加のレスポンスヘッダーを出力するよう指示します。

このチュートリアル全体で、キャッシュの確認とヘッダーの検証を続けていきます。詳細を確認したい場合は、キャッシュ状態の確認に関するガイドまたは HTTP ヘッダー参照ドキュメントを参照してください。

TLS でサイトを保護する

プレビューサイトの URL は、S3 静的サイトの URL と同じように TLS で保護されていません。これは TLS を Fastly の共有ドメインで使用することで解決できます。これにより、サービスに別のプレビュー URL を付与することができます。デフォルトで TLS を使用するように設計されたものです。

新しい TLS ドメインを追加する前に、サービス設定のアクティブなバージョンをクローンする必要があります。Clone をクリックして新しいドラフトバージョンを作成します。次に、以下に示されているように、Domains ページで Create Domain をクリックして新しいドメインを追加します。Fastly の共有 TLS ドメイン (<name>.global.ssl.fastly.net) を使用し、最初に tacolabs を入力します。つまり、URL は tacolabs.global.ssl.fastly.net になります。

ヒント

独自ドメイン名でこの手順に従っている場合、ユニークでドット区切りの名前でない限り、tacolabsにはどんな単語でも代入できます(例:www.example.org.global.ssl.fastly.netは機能しません)。

新しい TLS ドメインを追加する

Add をクリックしてドメインを追加しましょう。次に、Activate をクリックして、サーバー設定の新しいバージョンを有効にします。Fastly が変更をデプロイし、https://tacolabs.global.ssl.fastly.net で Web サイトを確認できるようになります。これで接続が暗号化されます。いかがですか?

オリジンに Host ヘッダーをオーバーライドします

有効化されたサービス設定のバージョンには、多少問題があることが分かりました。https://tacolabs.global.ssl.fastly.net にアクセスすると、以下のページが表示されます。何が問題なのでしょうか?

オーバーライドするホストを指定していないため、Amazon でコンテンツが見つからない様子

HTTP ヘッダーについては、先ほど簡単に説明しました。今度は、Amazon がリクエストを正しくルーティングできるよう、ヘッダーを設定する必要があります。この場合、オリジンレベルでオーバーライドする Host ヘッダーを設定することで、オーバーライドホストを指定できます。Amazon は、Fastly から送信されるものとは別の Host ヘッダーを期待していることから、これを行う必要があります。

Edit configuration ボタンをクリックして、サーバーを複製し、新しいドラフトバージョンを作成しましょう。次に、Origins ページで鉛筆アイコンをクリックして、オリジン設定を編集します。Advanced options セクションのすぐ上にある Override host フィールドに以下のようにオリジンのホスト名 (www.tacolabs.com.s3-website.us-east-2.amazonaws.com) を入力し、Update をクリックします。

オーバーライドホストの設定

Activate ボタンをクリックして、サービス設定の新しいバージョンを有効にします。Fastly が変更をデプロイします。これには数分かかることがあります。その後、https://tacolabs.global.ssl.fastly.net から Web サイトを確認することができます。


翻訳についての注意事項
このガイドは役に立ちましたか?

このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合は、サポートチームまでご連絡ください。このフォームは reCAPTCHA によって保護されており、Google のプライバシーポリシー利用規約が適用されます。