2. Fastly の使用を開始

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

Fastly web インターフェース

サービス名の変更

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

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

サービス名の変更

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

ドメインの追加

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

ドメインの追加

オリジンホスト名の追加

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

オリジンホスト名の追加

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

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

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

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

下に示しているように、オリジン設定を編集ペンシルアイコンをクリックし、いいえ、TLS を有効化しませんを選択してください。次に、Update ボタンをクリックして設定を保存します。これですべて完了です!

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

サービスのバージョン管理

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

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

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

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

サービス設定の有効化

サービス設定を有効化しましょう。そうすることで、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 ベースのシステムにデフォルトでインストールされています。端末アプリケーションを開き、次のコマンドを入力します:

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

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

1
2
3
4
< 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 のキャッシュにないことを意味します。)キャッシュ内に現在のオブジェクトの時代と、コンピュータにコンテンツを提供するキャッシュノードも表示されます。

このチュートリアル全体で、キャッシュの確認とヘッダーの検証を続けていきます。詳細に興味をお持ちの方は、checking cacheに関するガイドまたは HTTP header reference documentationをご覧ください。

無料 TLS でサイトを保護する

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

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

新しい TLSドメインの追加

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

オリジンに 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 サイトにアクセスできるようになります。



Back to Top