アプリケーションで特別なルーティング(CNAME セットアップや Heroku などのカスタムホスト)が必要な場合は、ヘルスモニターで使う Host ヘッダーを、エンドポイント単位またはモニター単位でカスタマイズできます。
複数ホスト間でトラフィックを分散するには、同じプール内の個々のエンドポイントに Host ヘッダーを追加します。
たとえば、複数の AppEngine プロジェクトや Amazon S3 バケットでホストしているエンドポイントを持つプールがあるとします。同じプール内に、特定のフェイルオーバー用エンドポイントを置きたい場合もあります。
こうした例ではエンドポイントごとに固有のホスト名が必要なため、Host ヘッダーの上書きが ない と、ロードバランサーはトラフィックを正しくルーティングできません。
エンドポイントの Host ヘッダー上書きが必要な場合は、プールの 作成 または編集時に追加します。セキュリティ上の理由から、このヘッダーは次のいずれかを満たす必要があります。
- このアカウントに紐づくゾーンのサブドメインである
- エンドポイントアドレスと一致する
- 公開 DNS でエンドポイントアドレスに解決される
個別のエンドポイントにヘッダー上書きを設定すると、ヘルスモニターリクエストでは、モニターに設定したヘッダー上書きより優先されます。
たとえば、www.example.com 向けのロードバランサーが次の構成だとします。
-
プール:
-
プール 1:
- エンドポイント 1(
Hostヘッダーをlb-app-a.example.comに設定) - エンドポイント 2
- エンドポイント 1(
-
プール 2:
- エンドポイント 3
- エンドポイント 4(
Hostヘッダーをlb-app-b.example.comに設定)
-
-
モニター(
Hostヘッダーをwww.example.comに設定)
この場合、エンドポイント 1 のヘルスモニターリクエストは lb-app-a.example.com を使い、エンドポイント 4 のヘルスモニターリクエストは lb-app-b.example.com を使い、それ以外のヘルスモニターリクエストは既定で www.example.com を使います。Cloudflare と互換性のあるカスタムホスト設定への更新については、HTTPS 経由で Cloudflare と Heroku を設定する を参照してください。
モニターの Host ヘッダーを上書きしているエンドポイントの一覧を確認するには:
- モニターで Edit を選択します。
- Advanced health monitor settings を選択します。
- エンドポイント上書きがある場合は、Endpoint host header overrides が表示されます。
