翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Application Load Balancer のリスナー
リスナーとは、設定したプロトコルとポートを使用して接続リクエストをチェックするプロセスです。Application Load Balancer の使用を開始する前に、最低 1 つのリスナーを追加する必要があります。ロードバランサーにリスナーがない場合、クライアントからのトラフィックを受信できません。リスナーに対して定義したルールにより、ロードバランサーが EC2 インスタンスなど登録したターゲットにリクエストをルーティングする方法が決まります。
内容
リスナーの設定
リスナーは次のポートとプロトコルをサポートします。
-
プロトコル: HTTP、HTTPS
-
ポート: 1 ~ 65535
アプリケーションがビジネスロジックに集中できるように、HTTPS リスナーを使用して、暗号化および復号の作業をロードバランサーに任せることができます。リスナープロトコルが HTTPS の場合は、リスナーに SSL サーバー証明書を少なくとも 1 つデプロイする必要があります。詳細については、「Application Load Balancer 用の HTTPS リスナーを作成する」を参照してください。
ターゲットがロードバランサーではなく HTTPS トラフィックを復号化する必要がある場合は、ポート 443 に TCP リスナーを使用してNetwork Load Balancer を作成できます。TCP リスナーを使用すると、ロードバランサーは暗号化されたトラフィックを復号化せずにターゲットに渡します。の詳細については、「 Network Load Balancer のユーザーガイド」を参照してください。
WebSockets
Application Load Balancer は WebSocket のネイティブ サポートを提供します。HTTP 接続のアップグレードを使用して、既存の HTTP/1.1 接続を WebSocket (ws
または wss
) 接続にアップグレードできます。アップグレードすると、リクエストに使用される TCP 接続 (ロードバランサーとターゲットへの) は、ロードバランサーを介したクライアントとターゲット間の永続的な WebSocket 接続になります。WebSocket は、HTTP リスナーと HTTPS リスナーの両方で使用できます。リスナーに対して選択したオプションは、HTTP トラフィックだけでなく、WebSocket 接続にも適用されます。詳細については、Amazon CloudFront デベロッパーガイドの How the WebSocket Protocol Works を参照してください。
HTTP/2
Application Load Balancer は HTTPS リスナーで HTTP/2 のネイティブサポートを提供します。1 つの HTTP/2 コネクションで最大 128 のリクエストを並行して送信できます。プロトコルバージョンを使用して、HTTP/2 を使用するターゲットに要求を送信することができます。詳細については、「プロトコルバージョン」を参照してください。HTTP/2 ではフロントエンド接続を効率的に使用するため、クライアントとロードバランサー間の接続数が減少します。HTTP/2 のサーバープッシュ機能は使用できません。
Application Load Balancer の相互 TLS 認証は、パススルーモードと検証モードの両方で HTTP/2 をサポートします。詳細については、「Application Load Balancer での TLS による相互認証」を参照してください。
詳細については、Elastic Load Balancing ユーザーガイドのルーティングのリクエストを参照してください。
リスナー属性
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、埋め込み、またはオブジェクトでページをレンダリングできるかどうかを示します。
デフォルトのアクション
リスナーには、必ずデフォルトアクションがあります。これはデフォルトルールとも言います。デフォルトのルールは削除できません。常に最後に実行されます。追加のルールを作成できます。これらのルールは、優先度、1 つ以上のアクション、1 つ以上の条件で構成されます。ルールの追加や編集はいつでも行うことができます。詳細については、「リスナールール」を参照してください。