ヘルスチェック
最終更新日 2022-12-01
ヘルスチェックではホストの状態をモニタリングします。Fastly は、Create a health check ページで選択した Check frequency 設定に基づいて、オリジンサーバーのヘルスチェックを行います。選択した Check frequency 設定は、Fastly POP が所定の健全性を満たしているかどうかをチェックするために、1分間におよそ何回ヘルスチェックリクエストを行うかを指定します。1期間につき、Fastly POPごとに、およそ1回のヘルスチェックが行われます。合格したチェックは「健全」として報告されます。
設定前の注意点
ヘルスチェックの設定を始める前に、コントロールパネルの機能とサービスの操作方法についてご確認ください。
制約と考慮事項
ヘルスチェックを作成する際、カスタムヘッダー値を作成して添付するオプションがあります。このオプションを利用する場合は、次の点に留意してください。
- ヘッダー値は、カスタムヘッダーチェックにのみ使用して、他の目的には使用しないでください。カスタマーヘッダー値に適切なアクセス制限を設定することを含めた、適切なセキュリティコントロールとシークレット管理手順を維持する必要があります。
- すべてのヘッダーを組み合わせたサイズは、64KB 未満でなければなりません。各ヘッダーのサイズは、8190バイト未満でなければなりません。
- 各ヘルスチェックにリンクされるヘッダーの数が、100 を超えることはできません。
ヘルスチェックの作成
- Fastly コントロールパネルにログインします。
- Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインでの検索が行えます。
- Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
- Origins をクリックします。Origins ページが表示されます。
Create health check ボタンをクリックします。Create a health check ページが表示されます。
Create a health check フィールドを以下のように記入します。
- Name フィールドに分かりやすいヘルスチェックの名前を入力します (例 :
West Coast Origin Check
)。 - Request メニューから HTTP 動詞を選択します。Request フィールドに、チェックを行う際にアクセスするパスを入力します。固有のパスを使用します。例えば、 や
/
ではなく、/website-healthcheck.txt``/healthcheck
を使用します。 - Host header フィールドに、リクエスト送信時に使用する HTTP ホストヘッダーを入力します (例:
example.com
)。 - Custom header フィールドで、Add a custom header リンクをクリックして、ヘルスチェックリクエストに追加ヘッダーを追加します。最大で100 の追加ヘッダーを指定することができます。
- Header name列には、分かりやすいヘッダーの識別子を入力します。
- Value列には、ヘッダーに割り当てる値を入力します。
重要
ヘッダー値は、カスタムヘッダーチェックにのみ使用して、他の目的には使用しないでください。
- Expected response メニューから、チェックに合格するためにオリジンサーバーが返す必要がある HTTP ステータスコードを選択します (通常は
200 OK
)。 - Check frequency セクションでは、ヘルスチェックの実行頻度を選択します。
- Low: 各データセンターから毎分1回リクエストを行い、「健全」とみなされるには、2回に1回パスしなければならないことを意味します。
- Medium: 各データセンターから15秒ごとに1回リクエストを行い、「健全」とみなされるには、5回のうち3回はパスしなければならないことを意味します。
- High: 各データセンターから2秒に1回の割合でリクエストを行い、「健全」とみなされるには、10回のうち7回はパスしなければならないことを意味します。
- Custom: お客様が指定したカスタムの頻度です。
- Threshold & Window フィールドに、ヘルスチェックの総数に対する成功数を入力します。例えば、
3/5
と指定した場合、5回のチェックのうち3回合格すれば、健全であると報告されます。 - Initial フィールドに、デプロイでパスしている想定するリクエストの数を入力します。例えば、Threshold & Window フィールドが に設定され、Initial フィールドが
3/5``1
に設定されている場合、バックエンドは、さらに2回のヘルスチェックに合格して必要最低限に達するまで、「不健全」とマークされます。 - Interval & Timeout (ms) フィールドに、時間を入力します。Interval はリクエストが実行される期間を表します。Timeout はリクエストが失敗したとみなされるまでの待ち時間を表します。時間はいずれもミリ秒単位で指定します。
- Name フィールドに分かりやすいヘルスチェックの名前を入力します (例 :
Create ボタンをクリックします。
作成した新しいヘルスチェックがチェックリストに表示されます。
ヘルスチェックのアサイン
ヘルスチェックはそれだけでは何の役割もありませんが、オリジンサーバーの設定で特別なパラメータとして追加することができます。
- オリジンサーバーの名前をクリックして、既存のオリジンサーバーを編集します。Edit this host ページが表示されます。
- Health checks メニューから、先ほど作成したヘルスチェックを選択します。
- Update をクリックします。
これにより、Fastly はヘルスチェックを使用して、選択したオリジンサーバーをモニタリングします。
VCL の使用によるヘルスチェックの作成と割り当て
VCL を使用してヘルスチェックを作成して割り当てることもできます。詳細については、ヘルスチェックに関する開発者ドキュメントをご覧ください。
トラブルシューティング
Fastly は、選択されたオプションに基づいて定期的にオリジンサーバーをチェックします。特にHTTP Host ヘッダーに注意してください。よくあるミスは、ホストの設定を間違えることです。適切なホストが設定されていない場合、オリジンサーバーは301や302のリダイレクトを返し、ヘルスチェックが失敗することがあります。また Varnish は、ヘルスチェックリクエストを受信したオリジンサーバーにリクエストごとに接続を閉じるよう求めます。オリジンサーバーが接続を閉じない場合、ヘルスチェックはタイムアウトして失敗します。
オリジンサーバーがヘルスチェックにより不健全と判定された場合、Fastly はそのサーバーへのリクエスト送信を停止します。すべてのオリジンサーバーが不健全と判定されると、Fastly は、お客様が別の方法を指示しない限り、クライアントに503エラー (サービス利用不可) を返します。オリジンサーバーが再び利用可能になるまで、代わりに失効済みコンテンツを配信するように Fastly を設定することができます。