リスナーは接続要求をチェックするために使用されます。 webアプリケーションやモバイルゲームなどのアプリケーションでデータコンテンツを識別する必要がある場合は、HTTPリスナーを作成してHTTPリクエストを転送できます。
前提条件
Application Load Balancer (ALB) インスタンスが作成されました。 詳細については、「ALBインスタンスの作成」をご参照ください。
バックエンドサーバーグループが作成されます。 詳細については、「サーバーグループの作成と管理」をご参照ください。
手順
このトピックでは、HTTPリスナーを作成する方法を示す2つの手順について説明します。 必要に応じて1つを選択できます。
手動作成
- ALBコンソールにログインします。
上部のナビゲーションバーで、ALBインスタンスが存在します。
次のいずれかの方法を使用して、リスナー構成ウィザードを開きます。
インスタンス ページで、管理するALBインスタンスを見つけ、操作 列の [リスナーの作成] をクリックします。
インスタンス ページで、管理するALBインスタンスのIDをクリックします。 リスナー タブで、[リスナーの作成] をクリックします。
では、リスナーの設定ステップで、次の表に記載されているパラメーターを設定し、次へ.
パラメーター
説明
リスナープロトコルの選択
リスナープロトコルを選択します。
この例では、HTTPが選択されています。
リスナーポート
ALBインスタンスがリッスンするポートを選択します。 ALBインスタンスは、指定されたポートでリクエストをリッスンし、リクエストをバックエンドサーバーに転送します。 有効な値: -1 から 65535 ほとんどの場合、ポート80はHTTPに使用され、ポート443はHTTPSに使用されます。
説明同じALBインスタンスで、同じプロトコルを使用するリスナーのポートは一意である必要があります。 HTTPリスナーとHTTPSリスナーは異なるポートを使用する必要があります。
この例では、ポート80が使用される。
リスナー名
リスナーの名前を入力します。
タグ
[タグキー] および [タグ値] パラメーターを設定して、タグを追加します。 1つ以上のタグを追加できます。
タグを指定した後、[リスナー] タブのタグでリスナーをフィルタリングできます。
詳細設定
[変更] をクリックして、詳細設定を設定できます。
アイドル接続タイムアウト期間
アイドル接続のタイムアウト期間を指定します。 単位は秒です。 有効な値: 1 ~ 60。 より長いタイムアウト期間を指定するには、
Quota Centerコンソールに移動します。
指定されたタイムアウト期間内にリクエストが受信されない場合、ALBは接続を閉じます。 別の要求が受信されると、ALBは新しい接続を確立する。
説明この機能は、HTTP/2リクエストでは使用できません。
接続リクエストタイムアウト
リクエストのタイムアウト時間を指定します。 単位は秒です。 有効な値: 1 ~ 180 より長いタイムアウト期間を指定するには、Quota Centerコンソールに移動します。
リクエストタイムアウト期間内にバックエンドサーバーから応答が受信されない場合、ALBはクライアントにHTTP 504エラーコードを返します。
圧縮
圧縮を有効にすると、特定の種類のファイルが圧縮されます。 圧縮を無効にすると、ファイルは圧縮されません。
Brotliはすべてのファイルタイプをサポートします。 GZIPは、
text/xml
、text/plain
、text/css
、application/javascript
、application/x-javascript
、application/rss + xml
、application/atom + xml
、application/xml
、application/json
のファイルタイプをサポートしています。実際のクライアントソース IP を見つける
ALBインスタンスがX-Forwarded-ForヘッダーからクライアントIPアドレスを取得できるようにするかどうかを指定します。 この機能を有効にする場合は、信頼できるIPアドレスを指定する必要があります。
信頼済みIPアドレスリストを
0.0.0.0/0
に設定すると、ALBインスタンスはX-Forwarded-Forヘッダーの左端のIPアドレスを取得します。 IPアドレスは送信元クライアントのIPアドレスです。信頼済みIPアドレスリストを
proxy1 IP、proxy2 IP、..
の形式で設定した場合、ALBインスタンスはX-Forwarded-ForヘッダーのIPアドレスを右から左に、信頼済みIPアドレスリストと比較します。 信頼済みIPアドレスリストにない最初のIPアドレスは、送信元クライアントIPアドレスと見なされます。
使用上の注意
X-Forwarded-Forヘッダーに、
X-Forwarded-For: <client-IP-address> 、<proxy1> 、<proxy2> 、…
などの複数のipアドレスが含まれている場合、左端のIPアドレスは送信元クライアントIPアドレスです。 ALB転送ルールで送信元IPアドレスに基づく照合とクライアントIPアドレスごとのQPSに基づくスロットリング機能を有効にする場合は、[クライアントIPの取得] スイッチをオンにして、ALBインスタンスがX-Forwarded-Forヘッダーから送信元クライアントIPアドレスを取得できるようにする必要があります。 詳細については、「転送ルールの作成」をご参照ください。
HTTPヘッダーの追加
デフォルトでは、X-Forwarded-Forヘッダーが選択されています。 ヘッダーは、送信元クライアントIPアドレスを取得するために使用されます。 ALBは、送信元クライアントIPアドレスをヘッダーに挿入し、ヘッダーをバックエンドサーバーに渡します。 詳細については、「ALBによるクライアントIPアドレスの保持」をご参照ください。
次のオプションを選択できます。
ALB IDを取得するSLB-IDの追加
: ALBインスタンスのIDを格納するSLB-IDヘッダーを追加します。Add X-Forwarded-Proto to Retrieve Listening Protocol
: リスナープロトコルを格納するX-Forwarded-Protoヘッダーを追加します。Add X-Forwarded-Port to Retrieve Listening Port
: リスナーポートを格納するX-Forwarded-Portヘッダーを追加します。Add X-Forwarded-Client-srcport to Retrieve Client Port
: クライアントポートを格納するX-Forwarded-Client-srcportヘッダーを追加します。
では、サーバーグループの選択ステップ、サーバーグループを選択し、バックエンドサーバーを表示し、次へ.
では、確定ステップ、設定を確認し、送信.
クイック作成
この方法を選択した場合は、リスナープロトコル、リスナーポート、およびサーバーグループのみを指定する必要があります。
- ALBコンソールにログインします。
上部のナビゲーションバーで、ALBインスタンスが存在します。
[インスタンス] ページで、管理するALBインスタンスを見つけ、そのIDをクリックします。
[リスナー] タブをクリックします。 [リスナー] タブで、[クイック作成リスナー] をクリックします。
[クイック作成リスナー] ダイアログボックスでパラメーターを設定し、[OK] をクリックします。 下表にパラメーターを示します。
パラメーター
説明
リスナープロトコル
リスナープロトコルを選択します。 この例では、HTTPが選択されています。
リスナーポート
バックエンドサーバーへのリクエストの受信と転送に使用されるフロントエンドポート。
一般的に使用されるポートを選択するか、ポート番号を入力できます。 有効な値: -1 から 65535
リソースグループ
サーバーグループのリソースグループを選択します。
サーバーグループ
[サーバータイプ] パラメーターを設定し、指定したサーバータイプに基づいてサーバーグループを選択します。
関連ドキュメント
ALBは、さまざまな高度な転送ルールをサポートします。 詳細については、「リスナーの転送ルールの管理」をご参照ください。
参考資料