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

Server Load Balancer:HTTP リスナーの追加

最終更新日:Nov 09, 2025

リスナーは接続リクエストをチェックします。Web アプリケーションやモバイルゲームなどのアプリケーションでデータコンテンツを検査する必要がある場合は、HTTP リスナーを追加して、HTTP プロトコルを使用するリクエストを転送できます。

前提条件

手順

このトピックでは、HTTP リスナーを作成する 2 つのメソッドについて説明します。お好みのメソッドを選択できます。

HTTP リスナーの作成

  1. Application Load Balancer (ALB) コンソールにログインします。

  2. 上部のナビゲーションバーで、ALB インスタンスがデプロイされているリージョンを選択します。

  3. 次のいずれかの方法で、リスナー設定ウィザードを開きます。

    • インスタンス ページで、ターゲットインスタンスを見つけ、操作 列の [リスナーの作成] をクリックします。

    • インスタンス ページで、ターゲットインスタンスの ID をクリックします。リスナー タブで、[リスナーの作成] をクリックします。

  4. リスナーの設定 ウィザードで、次のパラメーターを設定し、[次へ] をクリックします。

    リスナーの設定

    説明

    リスナープロトコルの選択

    リスナープロトコルを選択します。

    この例では、[HTTP] が選択されています。

    リスナーポート

    リクエストを受信してバックエンドサーバーに転送するリスナーポートを入力します。ポート番号は 1 から 65535 の範囲である必要があります。通常、HTTP にはポート 80、HTTPS にはポート 443 が使用されます。

    説明

    同じ ALB インスタンス内では、同じプロトコルのリスナーは同じポートを使用できません。HTTP リスナーと HTTPS リスナーは同じポートを使用できません。

    この例では、80 と入力します。

    リスナー名

    リスナーの名前を入力します。

    タグ

    [タグキー][タグ値] を設定します。

    タグを追加すると、[リスナー] タブでタグによってリスナーをフィルターできます。

    詳細設定

    [変更] をクリックして詳細設定を展開します。

    アイドル接続タイムアウト期間

    アイドルタイムアウト期間を指定します。有効値: 1 から 600 秒。デフォルト値: 15 秒。クォータの引き上げをリクエストするには、Quota Center に移動します。

    タイムアウト期間内にリクエストが受信されない場合、ALB は接続を閉じます。次のリクエストが到着すると、新しい接続が確立されます。

    説明

    この機能は HTTP/2 リクエストには効果がありません。

    接続リクエストタイムアウト

    リクエストタイムアウト期間を指定します。有効値: 1 から 600 秒。デフォルト値: 60 秒。クォータの引き上げをリクエストするには、Quota Center に移動します。

    バックエンドサーバーがタイムアウト期間内に応答しない場合、ALB は待機を停止し、HTTP 504 エラーコードをクライアントに返します。

    圧縮

    この機能を有効にすると、特定のファイルタイプが圧縮されます。この機能が無効になっている場合、ファイルは圧縮されません。

    • Brotli はすべてのファイルタイプをサポートします。

    • Gzip は次のファイルタイプをサポートします: text/xmltext/plaintext/cssapplication/javascriptapplication/x-javascriptapplication/rss+xmlapplication/atom+xmlapplication/xml、および application/json

    説明
    • データ圧縮は、応答の Content-Length が 1024 バイトを超えた場合にのみトリガーされます。

    • クライアントリクエストが Brotli と Gzip の両方をサポートしている場合、ALB はより効率的な Brotli を使用します。

    • クライアントが Gzip のみをサポートし、ファイルタイプが Gzip でサポートされていない場合、ALB はファイルを圧縮しません。

    実際のクライアントソース IP を見つける

    この機能を有効にすると、ALB は X-Forwarded-For ヘッダーフィールドから送信元のクライアント IP アドレスを取得できます。この機能を有効にした後、信頼できる IP アドレスのリストを設定する必要があります。

    • 信頼できる IP アドレスのリストを 0.0.0.0/0 に設定した場合: X-Forwarded-For リクエストヘッダーから最も左の IP アドレスを送信元のクライアント IP アドレスとして取得します。

    • 信頼できる IP アドレスのリストを proxy1 IP;proxy2 IP;.. に設定した場合: このリストにない右から最初の IP アドレスを送信元のクライアント IP アドレスとして取得します。

    シナリオ:

    X-Forwarded-For リクエストヘッダーには、X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, … のように複数の IP アドレスを含めることができます。最も左のアドレスがクライアントの IP アドレスです。ALB 転送ルールで [SourceIp] 一致条件と [QPS (クライアントソース IP に基づくスロットリング)] 機能を使用するには、[送信元クライアント IP アドレスの検索] を有効にします。これにより、ALB は X-Forwarded-For ヘッダーフィールドから送信元のクライアント IP アドレスを見つけることができます。詳細については、「転送ルールの追加」をご参照ください。

    説明

    標準および WAF 対応の ALB インスタンスのみがこの機能をサポートします。Basic ALB インスタンスはサポートしません。

    追加の HTTP ヘッダーフィールド

    追加するカスタム HTTP ヘッダーフィールドを選択します:

    • X-Forwarded-For ヘッダーフィールドを使用してクライアント IP アドレスを取得するかどうかを選択します。

      • クライアント IP アドレスを保持するために X-Forwarded-For を追加 を選択した場合、ALB はリクエストをバックエンドサーバーに転送する前に、リクエストに X-Forwarded-For ヘッダーを追加するか、リクエストから X-Forwarded-For ヘッダーを削除できます。

        • 追加 (デフォルト)

          [追加] を選択した場合、ALB はリクエストをバックエンドサーバーに転送する前に、リクエストの X-Forwarded-For ヘッダーに最後のホップの IP アドレスを追加します。リクエストに X-Forwarded-For ヘッダーが含まれていない場合、ALB は値が最後のホップの IP アドレスである X-Forwarded-For ヘッダーを作成し、そのヘッダーをリクエストに追加します。リクエストの X-Forwarded-For ヘッダーには、コンマ (,) で区切られた複数の IP アドレスが含まれる場合があります。

        • 削除

          [削除] を選択した場合、ALB はリクエストをバックエンドサーバーに転送する前に、リクエストから X-Forwarded-For ヘッダーを削除します。

      • クライアント IP アドレスを保持するために X-Forwarded-For を追加 を選択しない場合、ALB はリクエストをバックエンドサーバーに転送する前に、リクエストの X-Forwarded-For ヘッダーに対して何もしません。

      フォーマット:

      X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …

      バックエンドサーバーが受信するリクエストの X-Forwarded-For ヘッダーに関する例を表示するには、クリックしてください。

      この例では、最後のホップの IP アドレスは 127.0.0.1 です。

      リクエストの説明

      サンプルリクエスト

      クライアント IP アドレスを保持するために X-Forwarded-For を追加 を選択

      クライアント IP アドレスを保持するために X-Forwarded-For を追加 を選択しない

      追加

      削除

      ALB が受信したリクエストに X-Forwarded-For ヘッダーが含まれていません。

      GET /index.html HTTP/1.1

      Host: example.com

      X-Forwarded-For: 127.0.0.1

      X-Forwarded-For ヘッダーは存在しません。

      X-Forwarded-For ヘッダーは存在しません。

      ALB が受信したリクエストに X-Forwarded-For ヘッダーとクライアント IP アドレスが含まれています。

      GET /index.html HTTP/1.1

      Host: example.com

      X-Forwarded-For: 127.0.0.2

      X-Forwarded-For: 127.0.0.2, 127.0.0.1

      X-Forwarded-For ヘッダーは存在しません。

      X-Forwarded-For: 127.0.0.2

      ALB が受信したリクエストに X-Forwarded-For ヘッダーと複数のクライアント IP アドレスが含まれています。

      GET /index.html HTTP/1.1

      Host: example.com

      X-Forwarded-For: 127.0.0.2, 127.0.0.3

      X-Forwarded-For: 127.0.0.2, 127.0.0.3, 127.0.0.1

      X-Forwarded-For ヘッダーは存在しません。

      X-Forwarded-For: 127.0.0.2, 127.0.0.3

      ALB がクライアント IP アドレスを保持できるようにする方法の詳細については、「Application Load Balancer を介してバックエンドサーバーでクライアントの送信元 IP アドレスを取得する」をご参照ください。

    • SLB-ID ヘッダーフィールドを追加して、SLB インスタンスの ID を取得します。

    • X-Forwarded-Proto ヘッダーフィールドを追加して、インスタンスのリスナープロトコルを取得します。

    • X-Forwarded-Port ヘッダーフィールドを追加して、インスタンスのリスナーポートを取得します。

    • X-Forwarded-Host ヘッダーフィールドを追加して、クライアントが ALB インスタンスへのアクセスに使用したドメイン名を取得します。

    • X-Forwarded-Client-srcport ヘッダーフィールドを追加して、クライアントが ALB インスタンスへのアクセスに使用したポートを取得します。

    説明

    • ALB によって作成されリクエストに追加される X-Forwarded-For ヘッダーは、常に大文字の「X」で始まります。

    • X-Forwarded-For を除き、上記のヘッダーについては、ALB は上記で説明したルールに従って処理します。その他のヘッダーについては、ALB はリクエスト内の元の形式で保持します。

  5. [サーバーグループの選択] ウィザードで、サーバーグループを選択し、バックエンドサーバー情報を表示してから、次へ をクリックします。

  6. 確定 ウィザードで、設定を確認し、送信 をクリックします。

HTTP リスナーのクイック作成

リスナーをクイック作成するには、リスナープロトコル、リスナーポート、およびバックエンドサーバーグループのみを設定する必要があります。

  1. Application Load Balancer (ALB) コンソールにログインします。

  2. 上部のナビゲーションバーで、ALB インスタンスがデプロイされているリージョンを選択します。

  3. [インスタンス] ページで、ターゲットインスタンスを見つけ、その ID をクリックします。

  4. [リスナー] タブをクリックし、[リスナー] タブで [リスナーのクイック作成] をクリックします。

  5. [リスナーのクイック作成] ダイアログボックスで、次のパラメーターを設定し、[OK] をクリックします。

    リスナーの設定

    説明

    リスナープロトコルの選択

    ロードバランシングプロトコルを選択します。このトピックでは、[HTTP] が選択されています。

    リスナーポート

    リスナーがリクエストを受信し、バックエンドサーバーに転送するために使用するフロントエンドポート。

    一般的なポート番号をクリックしてポートを自動的に入力するか、カスタムポート番号を入力できます。ポート番号は 1 から 65535 の範囲である必要があります。

    リソースグループの選択

    サーバーグループが属するリソースグループを選択します。

    サーバーグループ

    バックエンドサーバーグループのタイプとバックエンドサーバーを選択します。

関連資料

  • ALB は、さまざまな詳細転送ルールを提供します。詳細については、「リスナー転送ルールの設定」をご参照ください。

  • 異常なエラーコードが発生した場合は、「ALB のステータスコード」をご参照ください。

  • ヘルスチェックが異常な場合は、「ALB の異常なヘルスチェックのトラブルシューティング」をご参照ください。

  • さまざまなシナリオに関するチュートリアルについては、次のトピックをご参照ください:

    • ALB を使用して HTTP リクエストを HTTPS にリダイレクトする: ALB リスナー転送ルールを使用して、HTTP リクエストを HTTPS にリダイレクトします。これにより、転送中にデータが暗号化され、中間者攻撃やデータ侵害を防ぐことができます。このメソッドは、最新のセキュリティ基準を満たすネットワークアーキテクチャを構築するのに役立ちます。

    • ALB のトラフィックミラーリング機能を使用してシミュレーションストレステストを実行する: ALB のトラフィックミラーリング機能を使用して、オンラインのトラフィックをテスト環境のバックエンドサーバーにミラーリングすることにより、シミュレーションストレステストを実行します。ALB は、ミラーリングされたバックエンドサーバーからの応答を自動的に破棄して、テストサービスがオンラインサービスに影響を与えないようにします。

    • ALB を使用して段階的リリースを実装する: 特定の条件または異なるサーバーグループのトラフィックの重みに基づいてリスナー転送ルールを設定します。このメソッドを使用すると、リクエストの一部を新しいアプリケーションバージョンに転送し、その安定性を徐々に検証し、段階的リリースを実装できます。