

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Application Load Balancer のリスナー
<a name="load-balancer-listeners"></a>

*リスナー*とは、設定したプロトコルとポートを使用して接続リクエストをチェックするプロセスです。Application Load Balancer の使用を開始する前に、最低 1 つのリスナーを追加する必要があります。ロードバランサーにリスナーがない場合、クライアントからのトラフィックを受信できません。リスナーに対して定義したルールにより、ロードバランサーが EC2 インスタンスなど登録したターゲットにリクエストをルーティングする方法が決まります。

**Topics**
+ [リスナーの設定](#listener-configuration)
+ [リスナー属性](#listener-attributes)
+ [デフォルトアクション](#default-action)
+ [HTTP リスナーを作成する](create-listener.md)
+ [SSL 証明書](https-listener-certificates.md)
+ [セキュリティポリシー](describe-ssl-policies.md)
+ [HTTPS リスナーを作成する](create-https-listener.md)
+ [HTTPS リスナーを更新する](listener-update-certificates.md)
+ [リスナールール](listener-rules.md)
+ [相互 TLS 認証](mutual-authentication.md)
+ [ユーザー認証](listener-authenticate-users.md)
+ [JWT 検証](listener-verify-jwt.md)
+ [X-Forwarded ヘッダー](x-forwarded-headers.md)
+ [HTTP ヘッダーの変更](header-modification.md)
+ [リスナーの削除](delete-listener.md)

## リスナーの設定
<a name="listener-configuration"></a>

リスナーは次のポートとプロトコルをサポートします。
+ **プロトコル**: HTTP、HTTPS
+ **ポート**: 1 ～ 65535

アプリケーションがビジネスロジックに集中できるように、HTTPS リスナーを使用して、暗号化および復号の作業をロードバランサーに任せることができます。リスナープロトコルが HTTPS の場合は、リスナーに SSL サーバー証明書を少なくとも 1 つデプロイする必要があります。詳細については、「[Application Load Balancer 用の HTTPS リスナーを作成する](create-https-listener.md)」を参照してください。

ターゲットがロードバランサーではなく HTTPS トラフィックを復号化する必要がある場合は、ポート 443 に TCP リスナーを使用してNetwork Load Balancer を作成できます。TCP リスナーを使用すると、ロードバランサーは暗号化されたトラフィックを復号化せずにターゲットに渡します。の詳細については、「[ Network Load Balancer のユーザーガイド](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/)」を参照してください。

**WebSockets**  
Application Load Balancer は WebSocket のネイティブ サポートを提供します。HTTP 接続のアップグレードを使用して、既存の HTTP/1.1 接続を WebSocket (`ws` または `wss`) 接続にアップグレードできます。アップグレードすると、リクエストに使用される TCP 接続 (ロードバランサーとターゲットへの) は、ロードバランサーを介したクライアントとターゲット間の永続的な WebSocket 接続になります。WebSocket は、HTTP リスナーと HTTPS リスナーの両方で使用できます。リスナーに対して選択したオプションは、HTTP トラフィックだけでなく、WebSocket 接続にも適用されます。Websocket は、ターゲットオプティマイザを有効にしたターゲットグループにルーティングされたリクエストではサポートされていません。詳細については、*Amazon CloudFront デベロッパーガイド*の [How the WebSocket Protocol Works](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-working-with.websockets.html#distribution-working-with.websockets.how-it-works) を参照してください。

**HTTP/2**  
Application Load Balancer は HTTPS リスナーで HTTP/2 のネイティブサポートを提供します。1 つの HTTP/2 コネクションで最大 128 のリクエストを並行して送信できます。プロトコルバージョンを使用して、HTTP/2 を使用するターゲットに要求を送信することができます。詳細については、「[プロトコルバージョン](load-balancer-target-groups.md#target-group-protocol-version)」を参照してください。HTTP/2 ではフロントエンド接続を効率的に使用するため、クライアントとロードバランサー間の接続数が減少します。HTTP/2 のサーバープッシュ機能は使用できません。

Application Load Balancer の相互 TLS 認証では、パススルーモードと検証モードの両方で HTTP/2 をサポートします。詳細については、「[Application Load Balancer での TLS による相互認証](mutual-authentication.md)」を参照してください。

詳細については、Elastic Load Balancing ユーザーガイドの[ルーティングのリクエスト](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#request-routing)を参照してください。

## リスナー属性
<a name="listener-attributes"></a>

Application Load Balancer のリスナー属性を以下に示します。

`routing.http.request.x_amzn_mtls_clientcert_serial_number.header_name`  
**X-Amzn-Mtls-Clientcert-Serial-Number** HTTP リクエストヘッダーのヘッダー名を変更できます。

`routing.http.request.x_amzn_mtls_clientcert_issuer.header_name`  
**X-Amzn-Mtls-Clientcert-Issuer** HTTP リクエストヘッダーのヘッダー名を変更できます。

`routing.http.request.x_amzn_mtls_clientcert_subject.header_name`  
**X-Amzn-Mtls-Clientcert-Subject** HTTP リクエストヘッダーのヘッダー名を変更できます。

`routing.http.request.x_amzn_mtls_clientcert_validity.header_name`  
**X-Amzn-Mtls-Clientcert-Validity** HTTP リクエストヘッダーのヘッダー名を変更できます。

`routing.http.request.x_amzn_mtls_clientcert_leaf.header_name`  
**X-Amzn-Mtls-Clientcert-Leaf** HTTP リクエストヘッダーのヘッダー名を変更できます。

`routing.http.request.x_amzn_mtls_clientcert.header_name`  
 **X-Amzn-Mtls-Clientcert** HTTP リクエストヘッダーのヘッダー名を変更できます。

`routing.http.request.x_amzn_tls_version.header_name`  
**X-Amzn-Tls-Version** HTTP リクエストヘッダーのヘッダー名を変更できます。

`routing.http.request.x_amzn_tls_cipher_suite.header_name`  
**X-Amzn-Tls-Cipher-Suite** HTTP リクエストヘッダーのヘッダー名を変更できます。

`routing.http.response.server.enabled`  
 HTTP レスポンスサーバーヘッダーを許可または削除できます。

`routing.http.response.strict_transport_security.header_value`  
 サイトには HTTPS を使用してのみアクセスし、今後 HTTP を使用してアクセスしようとすると自動的に HTTPS に変換されることをブラウザに通知します。

`routing.http.response.access_control_allow_origin.header_value`  
 サーバーへのアクセスを許可するオリジンを指定します。

`routing.http.response.access_control_allow_methods.header_value`  
別のオリジンからサーバーにアクセスするときに許可される HTTP メソッドを返します。

`routing.http.response.access_control_allow_headers.header_value`  
リクエスト中に使用できるヘッダーを指定します。

`routing.http.response.access_control_allow_credentials.header_value`  
 リクエストを行うときにブラウザに Cookie や認証などの認証情報を含めるかどうかを示します。

`routing.http.response.access_control_expose_headers.header_value`  
ブラウザがリクエスト元のクライアントに公開できるヘッダーを返します。

`routing.http.response.access_control_max_age.header_value`  
プリフライトリクエストの結果をキャッシュできる時間を秒単位で指定します。

`routing.http.response.content_security_policy.header_value`  
特定のタイプのセキュリティ脅威のリスクを最小限に抑えるために、ブラウザによって適用される制限を指定します。

`routing.http.response.x_content_type_options.header_value`  
**Content-Type** ヘッダーでアドバタイズされた MIME タイプに従うべきかどうかを示し、変更しないかどうかを示します。

`routing.http.response.x_frame_options.header_value`  
ブラウザが**フレーム**、**iframe**、**埋め込み**、または**オブジェクト**でページをレンダリングできるかどうかを示します。

## デフォルトアクション
<a name="default-action"></a>

リスナーには、必ずデフォルトアクションがあります。これはデフォルトルールとも言います。デフォルトルールは削除できず、必ず最後に実行されます。追加のルールを作成できます。これらのルールは優先度、1 つ以上のアクション、および 1 つ以上の条件で構成されています。ルールの追加や編集はいつでも行うことができます。詳細については、「[リスナールール](listener-rules.md)」を参照してください。