Quick UDP Internet Connections (QUIC) は、ネットワークの品質を向上させ、ネットワーク信号が弱い場合やWi-Fiとセルラーネットワーク間の頻繁な切り替えのシナリオでビデオの停滞の問題に対処するための理想的なプロトコルです。 QUICを使用すると、伝送中のデータセキュリティを維持しながら、オーディオおよびビデオコンテンツの配信を高速化できます。 このトピックでは、QUICリスナーをApplication Load Balancer (ALB) インスタンスに追加してデータ送信を暗号化する方法について説明します。 QUICリスナーはQUICリクエストを転送できます。
QUICの概要
QUICはSSLと同じレベルのセキュリティを提供し、接続多重化をサポートします。 接続が弱く、ネットワーク待ち時間が長く、パケット損失率が高いシナリオでは、QUICはサービスの可用性を保証します。 QUICは、オペレーティングシステムやカーネルに関係なく、アプリケーション層で異なる輻輳制御アルゴリズムを実装できます。 TCPと比較して、QUICはサービス要件に基づいた柔軟な調整をサポートします。 QUIC は、TCP の最適化でボトルネックが発生した場合の適切な代替手段です。
ショートビデオやライブストリーミングサービスが普及するにつれて、ストリーミングプラットフォームはビジネス要件を満たすために高帯域幅と低ネットワーク遅延を必要とします。 QUICは、ネットワーク遅延を最小限に抑え、ビデオバッファリングを削減し、オーディオおよびビデオコンテンツの配信を高速化し、データ転送を保護します。
サポートされるQUICプロトコルタイプ
ALBはgQUICとiQUICをサポートしています。 HTTP/3は、iQUICに基づくアプリケーション層プロトコルです。 HTTP/3は、iQUICを使用して、多重化、輻輳制御、パケットロス検出、および再送信を実装します。 HTTP/3は、より高速な接続確立をサポートし、ヘッドオブラインブロッキングの問題を排除し、クライアントIPアドレス変更のシナリオでの接続移行をサポートします。
ALBはgQUICバージョンQ46、Q43、およびQ39をサポートしており、Google Chrome 74〜81が必要です。
ALBはHTTP/3のバージョンh3をサポートしており、Google Chrome 87以降が必要です。
シナリオの使用
シナリオ | 説明 |
QUICリスナーのみを使用する | すべてのクライアントはHTTP/3をサポートする必要があります。 |
QUICリスナーとHTTPSリスナーを一緒に使用する | ALBはクライアントと交渉してHTTP/3を優先的に使用します。 HTTP/3がクライアントでサポートされていない場合、HTTPSまたはHTTP/2が使用されます。 詳細については、以下のトピックをご参照ください。 |
前提条件
ALBインスタンスが作成されました。 詳細については、「ALBインスタンスの作成」をご参照ください。
少なくとも1つのSSLサーバー証明書がALBインスタンスにデプロイされています。
バックエンドサーバーグループが作成されます。 詳細については、「サーバーグループの作成と管理」をご参照ください。
手続き
このトピックでは、QUICリスナーを追加する方法を示す2つの手順について説明します。 必要に応じて1つを選択できます。
手動作成
手順1: リスナーの作成
QUICリスナーを作成するには、次の手順を実行します。
にログインします。ALBコンソール.
次のいずれかの方法を使用して、リスナー構成ウィザードを開きます。
インスタンス ページで、管理するALBインスタンスを見つけ、リスナーの作成 列の 操作 をクリックします。
インスタンス ページで、管理するNLBインスタンスのIDをクリックします。 リスナー タブで、リスナーの作成 をクリックします。
On theリスナーの設定ウィザードページで、次のパラメーターを設定し、次へをクリックします。
パラメーター
説明
リスナープロトコルの選択
リスナープロトコルを選択します。
この例では、QUICが選択されています。
リスナーポート
ALBインスタンスがリッスンするポートを選択します。 ALBインスタンスはポートをリッスンし、リクエストをバックエンドサーバーに転送します。
有効な値: -1 から 65535
説明同じALBインスタンスで、同じプロトコルを使用するリスナーのポートは一意である必要があります。 HTTPリスナーとHTTPSリスナーは異なるポートを使用する必要があります。
リスナー名
リスナーの名前を入力します。
タグ
[タグキー] および [タグ値] パラメーターを設定して、タグを追加します。 1つ以上のタグを追加できます。
タグを指定した後、[リスナー] タブのタグでリスナーをフィルタリングできます。
詳細設定
[変更] をクリックして、詳細設定を設定できます。
アイドル接続タイムアウト期間
アイドル接続のタイムアウト期間を指定します。 単位は秒です。 有効な値: 1 ~ 60。 より長いタイムアウト期間を指定するには、Quota Centerコンソールに移動します。
指定されたタイムアウト期間内にリクエストが受信されない場合、ALBは接続を閉じます。 別の要求が受信されると、ALBは新しい接続を確立する。
接続要求タイムアウト
リクエストのタイムアウト時間を指定します。 単位は秒です。 有効な値: 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
のファイルタイプをサポートしています。HTTPヘッダーの追加
次のオプションを選択できます。
ALB IDを取得するSLB-IDの追加
: ALBインスタンスのIDを保持するためにSLB-IDヘッダーを追加します。X-Forwarded-Protoを追加してリスニングプロトコルを取得
: X-Forwarded-Protoヘッダーを追加して、リスナープロトコルを保持します。X-Forwarded-Portをリスニングポートの取得に追加
: X-Forwarded-Portヘッダーを追加して、リスナーポートを保持します。
手順2: SSL証明書の追加
SSL証明書を設定して、データ送信が暗号化され、ユーザーのIDが信頼できる機関によって検証されるようにします。 詳細については、次をご参照ください: 証明書管理サービス
[SSL証明書の設定] ステップで、サーバー証明書を選択するか、[サーバー証明書] ドロップダウンリストの [SSL証明書の作成] をクリックして新しい証明書を購入します。 [次へ] をクリックします。
使用できるサーバー証明書がない場合は、[SSL証明書の作成] をクリックして作成します。 詳細については、「SSL証明書の購入」および「SSL証明書のアップロード」をご参照ください。
手順3: サーバーグループの選択
[サーバーグループの選択] ステップで、サーバーグループを選択し、バックエンドサーバーを表示し、[次へ] をクリックします。
ステップ4: 設定の確認
[設定の確認] ステップで設定を確認し、[送信] をクリックします。
クイック作成
この方法を選択した場合は、リスナープロトコル、リスナーポート、サーバー証明書、およびサーバーグループを指定するだけで済みます。
ALBコンソールにログインします。
上部のナビゲーションバーで、ALBインスタンスが存在します。
[インスタンス] ページで、管理するALBインスタンスを見つけ、そのIDをクリックします。
[リスナー] タブをクリックします。 [リスナー] タブで、[クイック作成リスナー] をクリックします。
[クイック作成リスナー] ダイアログボックスでパラメーターを設定し、[OK] をクリックします。 下表にパラメーターを示します。
パラメーター
説明
リスナープロトコルの選択
リスナープロトコルを選択します。 この例では、QUICが選択されています。
リスナーポート
バックエンドサーバーへのリクエストの受信と転送に使用されるフロントエンドポート。
一般的に使用されるポートを選択するか、ポート番号を入力できます。 有効な値: -1 から 65535
サーバー証明書
ドロップダウンリストからサーバー証明書を選択します。
使用できるサーバー証明書がない場合は、[SSL証明書の作成] をクリックして作成します。 詳細については、「SSL証明書の購入」および「SSL証明書のアップロード」をご参照ください。
リソースグループ
サーバーグループのリソースグループを選択します。
サーバーグループ
[サーバータイプ] パラメーターを設定し、指定したサーバータイプに基づいてサーバーグループを選択します。