すべてのプロダクト
Search
ドキュメントセンター

API Gateway:Hostヘッダーの設定

最終更新日:Jul 31, 2024

このトピックでは、API Gatewayでホストヘッダーとホストヘッダー設定の優先度を設定する方法について説明します。

概要

Hostヘッダーは、複数のwebアプリケーションまたはサイトが同じバックエンドサーバーに存在する場合、どのバックエンドサービスAPI Gatewayにリクエストを転送するかを指定します。この場合、アプリケーションまたはサイトはIPアドレスを共有します。 設定例:

  • APIのバックエンドサービスは仮想プライベートクラウド (VPC) タイプであり、複数のアプリケーションまたはサイトが関連付けられたVPCで実行されます。 この場合、Hostヘッダーは、API Gatewayがリクエストを転送するアプリケーションまたはサイトを指定するために使用されます。

1. APIグループのホストヘッダーのパスを有効にする

APIグループの詳細ページの [リクエストヘッダーのパススルー設定] セクションで、[ホストヘッダーのパス] を選択します。 [Host Headerを渡す] を選択した後、API Gatewayはリクエスト内のHost headerパラメーターをバックエンドサービスに渡し、バックエンドホストの設定 (domain:port文字列など) を置き換えます。 [ホストヘッダーを渡す] を選択しない場合、API Gatewayは指定したホストヘッダーをバックエンドサービスに送信します。

image

2. API定义にホスト定数パラメーターを追加する

APIを作成するときに、hostという定数パラメータを追加できます。 [パラメーターの場所] 列に [ヘッド] を選択し、この定数パラメーターの値としてバックエンドサービスのドメイン名を設定する必要があります。

image

3。 VPCアクセス許可のHostパラメーターの設定

API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[Open API] > [VPC] を選択します。 目的のVPCが配置されているリージョンを選択し、[権限の作成] をクリックします。 [VPCアクセスの作成] ダイアログボックスで、[ホスト] を指定します。image

4。 バックエンドサービスのホストを構成する

API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIを開く] > [バックエンドサービス] を選択します。 右上隅の [バックエンドサービスの作成] をクリックし、HTTP/HTTPSまたはVPCタイプのバックエンドサービスを作成します。 これら2つのタイプのみがホスト構成をサポートします。 バックエンドサービスを作成したら、バックエンドサービスを見つけて、[操作] 列の [バックエンドサービスの設定と関連APIの表示] を選択します。 [バックエンドサービスの定義] ページで、タブをクリックしてテストなどの環境を選択し、右上隅の [作成] をクリックしてバックエンドサービスのURLとホストを定義します。

image.png

5。 バックエンドルーティングプラグインでのHostヘッダーの設定

ホストヘッダーを指定するには、httpTargetHostNameまたはvpcTargetHostNameパラメーターを使用できます。 バックエンドルーティングプラグインの設定の優先度が最も高くなります。 詳細については、「バックエンドルーティングプラグイン」のセクション1.3をご参照ください。

ホストヘッダー設定の優先度

5つの方法すべてでHostヘッダーを設定すると、設定は次の優先順位に基づいて有効になります。バックエンドルーティングプラグイン> バックエンドサービスの設定> VPCアクセス許可> APIグループの設定> API定義。

説明

APIグループのHost Headerを渡すを選択した後、API Gatewayはリクエスト内のHost headerパラメーターをバックエンドサービスに渡し、バックエンドホストの設定 (domain:port文字列など) を置き換えます。 例:

ホストヘッダー値iがリクエストにs apigateway.test.comされ、バックエンドサービスURL iがs backend.test.comされ、ホストヘッダーを渡すことが有効になっている場合、API Gatewayはリクエストをo apigateway.test.comに転送します。