Quick UDP Internet Connections (QUIC) は、UDP ベースの低遅延トランスポートプロトコルであり、HTTP/3 は QUIC 上に構築されています。HTTP/3 は再接続を必要とせずに多重化を可能にし、リソースへのアクセス効率を向上させます。ネットワーク状態が悪い、Wi-Fi とモバイルネットワーク間の切り替えが頻繁に発生する、遅延やパケット損失が大きいといったシナリオでは、Global Accelerator (GA) の HTTP/3 を有効にすることで、アプリケーションへのアクセスを高速化し、システムパフォーマンスを強化し、ユーザーエクスペリエンスを向上させることができます。
特徴
QUIC と HTTP/3 の特徴
Quick UDP Internet Connections (QUIC) は、UDP ベースの低遅延トランスポートプロトコルであり、より高速で安全なインターネット接続を提供するために設計されています。QUIC の主な目標は、現代のネットワーク環境、特に高遅延ネットワークや多重化接続における TCP と TLS のパフォーマンスボトルネックを解決することです。
そのパフォーマンス上の利点から、QUIC はインターネットトランスポートプロトコルの将来の重要な方向性の一つと広く見なされており、HTTP/3 の基盤となるトランスポート層プロトコルとして機能します。主要なブラウザや Web サーバーが QUIC をサポートし始めるにつれて、QUIC は徐々に現代のインターネットインフラストラクチャの不可欠な部分になりつつあります。
HTTP/3 の利用シーン
Web ブラウジング体験の向上:Web ブラウジングにおいて、HTTP/3 はページの読み込み時間を短縮できます。特に、複数のリソースを読み込む必要がある複雑な Web ページで効果的です。QUIC が提供する多重化機能により、ユーザーはより迅速に Web コンテンツを閲覧できます。
リアルタイム通信アプリケーション:インスタントメッセージ、ビデオ会議、オンラインゲームなど、遅延に非常に敏感なアプリケーションは、HTTP/3 の恩恵を受けることができます。QUIC の低遅延特性と迅速なエラー回復メカニズムは、スムーズなリアルタイム通信体験を維持するのに役立ちます。
モバイルデバイス上のアプリケーション:モバイルネットワーク環境の接続は不安定なことが多いです。HTTP/3 は、QUIC の無損失回復メカニズムとネットワーク変更への優れた適応性により、モバイルユーザーにより安定した接続体験を提供できます。
ストリーミングメディアサービス:ショートビデオやライブストリーミング業界などのビデオおよびオーディオストリーミングサービスに対して、HTTP/3 はより連続的な再生体験を提供し、バッファリングや中断を減らし、ユーザー満足度を向上させることができます。
高い同時実行性が求められるシナリオ:例えば、大規模な e コマースプラットフォームやソーシャルメディアプラットフォームのトラフィックが多い時間帯において、HTTP/3 の多重化機能は、HTTP/2 のような head-of-line ブロッキング問題に遭遇することなく、多くの同時リクエストを効果的に処理できます。
GA がサポートするプロトコルバージョンとクライアント要件
GA がサポートする HTTP/3 プロトコルのバージョンは h3 です。クライアントがサポートする HTTP/3 のバージョンが GA のバージョンと互換性があることを確認する必要があります:
対応する Chrome ブラウザのバージョンは Chrome 87 以降です。他のブラウザを使用する場合は、そのブラウザが HTTP/3 をサポートしていることを確認する必要があります。
自己開発アプリケーションなど他のクライアントを使用する場合、クライアントは QUIC プロトコルをサポートするネットワークライブラリ (例:lsquic-client、cronet ネットワークライブラリ、ngtcp2、quiche) を統合する必要があります。
GA とクライアントによる HTTP/3 のネゴシエーション方法
サーバーとクライアント間で HTTP/3 接続を確立する前に、UDP のコネクションレスな性質のため、クライアントは通常、まず TLS 1.3 ハンドシェイクを通じてサーバーとの安全な接続を確立し、このプロセス中に自動的に HTTP/3 の使用をネゴシエートします。ユーザーや開発者が明示的に指定する必要はありません。
HTTP/3 は全く新しいプロトコルです。HTTP/1.1 や HTTP/2 の上に構築された直接的なアップデートや拡張ではなく、QUIC プロトコルに基づいています。この根本的な変更のため、HTTP/3 はプロトコルレベルで以前の HTTP バージョンと直接互換性がありません。下位互換性を確保するために、Web サーバーとブラウザは通常、HTTP/1.1、HTTP/2、HTTP/3 を含む複数の HTTP バージョンを実装し、クライアントとサーバーのサポート状況に基づいて最適なプロトコルバージョンを自動的にネゴシエートできます。これは、HTTP/3 自体は古い HTTP バージョンと直接互換性がなくても、現代のクライアントとサーバーの実装を通じて、プロトコルの選択とダウングレードが技術レベルで自動的に処理されるため、ユーザーや開発者は通常、互換性の問題を心配する必要がないことを意味します。
GA がクライアントと HTTP/3 をネゴシエートするプロセス:
GA インスタンスの HTTPS リスナーで最大 HTTP バージョンを HTTP/3 に設定すると、GA はクライアントに HTTP/3 サポートをアナウンスします。このサポートは、HTTP 応答ヘッダー Alt-Svc でアナウンスされ、Alt-Svc ヘッダー値は
Alt-Svc : h3=":$quic_port"; ma=3600となります。クライアントは GA との HTTP 接続を試みます。注意事項:
クライアントが HTTP/3 接続を確立できない場合、常に HTTP/1.1 または HTTP/2 にフォールバックします。
クライアントは HTTP/3 に関連する Cookie のキャッシュをサポートしています。
HTTP/3 接続を確立できないシナリオ:
クライアントがサポートする HTTP/3 バージョンが、GA がサポートする HTTP/3 バージョンと互換性がない。
GA が UDP トラフィックのブロッキングまたはレート制限を検出し、HTTP/3 が機能しない。
クライアントが HTTP/3 を全くサポートしていないため、HTTP/3 接続のネゴシエーションを試みない。
GA の HTTP/3 設定を有効または無効にしても、GA がクライアントに接続する能力には影響しません。
例
ある企業の本社がドイツ (フランクフルト) にあり、そこでビデオサービスを提供する Web サイトのアプリケーションサーバーがデプロイされています。クライアントは主に中国 (北京) リージョンに分散しています。
この企業の Web サイトサービスは、以下の課題に直面しています:
サービス品質とシステム能力を向上させるため、HTTP から HTTP/3 プロトコルに迅速にアップグレードしてサービスを提供したい。
国際パブリックネットワークが不安定で、遅延、ジッター、パケット損失などのネットワーク問題が頻繁に発生する。
GA で HTTP/3 プロトコルを有効にすると、企業は QUIC に基づく HTTP/3 の効率的な伝送メカニズムを最大限に活用して、遅延を削減し、接続の信頼性を高め、劣悪なネットワーク条件下でのデータ伝送パフォーマンスを向上させることができます。
さらに、HTTPS 暗号化対策と組み合わせることで、中国 (北京) のユーザーが Global Accelerator ノードを介してサーバー上のリソースに安全にアクセスできることを保証するだけでなく、広大な地理的地域を越えて伝送される機密情報のセキュリティを強力に保護し、同時に伝送効率を最適化します。これにより、企業の Web サイトのサービス品質とデータセキュリティが包括的に向上します。
制限事項
GA で HTTP/3 プロトコルを使用するには、HTTPS リスナーを設定する際に、[最大 HTTP バージョン] を [HTTP/3] として選択する必要があります。
標準の従量課金 GA インスタンスのみが HTTP/3 設定をサポートしています。標準のサブスクリプション GA インスタンスおよびベーシック GA インスタンスは現在サポートされていません。
お使いの従量課金 GA インスタンスが [最大 HTTP バージョン] の設定に対応していない場合、そのインスタンスのバージョンがこの機能に対応していない可能性があります。この機能を使用するには、アカウントマネージャーに連絡してインスタンスのスペックアップをリクエストできます。
前提条件
本社アプリケーションサーバーのデプロイメント設定が完了し、外部に正常に HTTP サービスを提供できる状態であること。
ドメイン名を登録し、ICP 登録を完了していること。具体的な操作については、「Alibaba Cloud でドメイン名を登録」および「ICP 登録プロセス」をご参照ください。
証明書を購入したか、サードパーティの証明書を SSL 証明書サービスにアップロードし、ドメイン名にバインドしていること。詳細については、「公式証明書のクイックスタート」をご参照ください。
操作手順
ステップ 1:GA インスタンスの設定と HTTP/3 の有効化
GA コンソールにログインします。
[インスタンス] ページで、[アクセラレーションインスタンスの作成] > [標準従量課金] をクリックします。
[基本インスタンス構成] ページで、GA インスタンス名をカスタマイズします。構成が完了したら、[次へ] をクリックします。
[アクセラレーションエリアの設定] ページで、[アクセラレーションエリア] に [中国 (北京)] を選択します。他のパラメーターは、デフォルト値のままにするか、必要に応じて変更できます。設定が完了したら、[次へ] をクリックします。
重要帯域幅のピーク値が低すぎると、スロットリングが発生してトラフィックが破棄される可能性があります。ビジネス要件に合わせて帯域幅のピーク値を合理的に計画してください。

[リスナーの設定] ページで、次の情報を設定します。その他のパラメーターはデフォルト値のままにするか、必要に応じて変更できます。設定が完了したら、[次へ] をクリックします。
パラメーター
説明
プロトコル
[HTTPS] を選択します。
最大 HTTP バージョン
[HTTP/3] を選択します。
説明お使いの従量課金 GA インスタンスが [最大 HTTP バージョン] の設定に対応していない場合、インスタンスのバージョンがこの機能をサポートしていないことが原因と考えられます。この機能を使用するには、アカウントマネージャーにお問い合わせのうえ、インスタンスのスペックアップをリクエストしてください。
クライアントが HTTP/3 をサポートしていない場合、Global Accelerator は HTTP/2 または HTTP/1.1 のリクエストアクセスもサポートします。
ポート
HTTPS のデフォルトポート [443] を選択します。
サーバー証明書
ドメイン名に対応する SSL 証明書を選択します。

[エンドポイントグループの構成] ページで、次の情報を構成します。 その他のパラメーターはデフォルト値のままにするか、必要に応じて変更できます。 構成が完了したら、[次へ] をクリックします。
パラメーター
説明
リージョン
[ドイツ (フランクフルト)] を選択します。
エンドポイント設定
[バックエンドサービスタイプ] には [ECS] を選択します。
[バックエンドサービス] にはアプリケーションサーバを選択します。
ポートマッピング
リスナーポートとアプリケーションサービスポートが異なる場合は、ポートマッピング関係を設定する必要があります。
この記事では、リスナーポートは[443]に、エンドポイントポートは[80]に設定されています。
クロスボーダーアクセラレーション設定
このシナリオでは、ビジネス構成に、中国本土と中国本土以外の地域間、またはその他の国と地域間での越境アクセスアクセラレーションが含まれる場合、[越境データ転送に関するコンプライアンスコミットメント] をお読みいただき、選択する必要があります。


[構成の確認] ページで構成を確認して [送信] をクリックし、インスタンスの作成と構成が完了するまで待ちます。
ステップ 2:DNS レコードの設定
カスタムドメイン名を DNS を介して Global Accelerator の CNAME アドレスに解決し、アクセスリクエストが Global Accelerator サービスに転送されるようにして、加速効果を実現する必要があります。
GA コンソールにログインします。
ドメイン名の名前解決を設定したい GA インスタンスを選択し、対応する CNAME アドレスをコピーします。
以下の手順で CNAME レコードを追加します。
[ドメイン] ページで、対象のカスタムドメイン名を探し、[操作] 列の [DNS 設定] をクリックします。
説明Alibaba Cloud で登録されていないドメイン名の場合、まず Alibaba Cloud DNS コンソールにドメイン名を追加してから、名前解決を設定する必要があります。
「設定」ページで、[DNS レコードを追加] をクリックします。
[DNS レコードの追加] パネルで、次の情報を構成して CNAME レコードの構成を完了し、[OK] をクリックします。
パラメーター
説明
レコードタイプ
ドロップダウンリストから [CNAME] を選択します。
ホスト名
ドメイン名のプレフィックス。
DNS リクエストの送信元
[デフォルト] を選択します。
TTL
Time To Live の略で、DNS サーバー上の DNS レコードのキャッシュ時間を示します。この記事ではデフォルト値を使用します。
レコード値
ドメイン名に対応する CNAME アドレス、つまりコピーした GA インスタンスの CNAME アドレスを入力します。
ステップ 3:HTTP/3 と加速効果の検証
中国 (北京) の加速リージョンからのクライアントアクセスを例に、ビデオ加速効果をテストします。
HTTP/3 を使用した GA の加速効果をテストします:
ブラウザで開発者ツールを開き、
https://<your custom domain name>にアクセスして、バックエンドサービスに正常にアクセスします。ブラウザのキャッシュを無効にして、HTTP/3 のネゴシエーションへのキャッシュの影響を回避できます。例えば、Chrome でDisable cacheにチェックを入れます。
HTTP/3 を使用しない GA の加速効果をテストします:
GA インスタンスの HTTPS リスナー構成パラメーターで、[最大 HTTP バージョン] を HTTP/2 に変更します。
ブラウザで開発者ツールを開き、
https://<your custom domain name>にアクセスして、バックエンドサービスに正常にアクセスします。
GA 加速を使用しない効果をテストします:
アプリケーションサーバーにパブリック IP アドレスがない場合は、まず EIP を関連付けることができます。
ブラウザで開発者ツールを開き、直接
http://<public IP address>:<port>にアクセスして、バックエンドサービスに正常にアクセスします。
加速効果の比較:
上記のテストデータをまとめると、HTTP/3 を使用した GA 加速により、クライアントがバックエンドサーバー上のビデオにアクセスする速度が向上することがわかります。
シナリオ
ページプレロード (3.3MB) 時間
フルビデオロード (112MB) 時間
ページプレロードデータ比較
(時間改善/改善率)
フルビデオロードデータ比較
(時間改善/改善率)
シナリオ 1:HTTP/3 を使用した GA 加速
16.86 秒
3.8 分
シナリオ 2 と比較して、0.78 秒改善/4.42% 改善
シナリオ 2 と比較して、0.4 分改善/9.52% 改善
シナリオ 2:HTTP/3 を使用しない GA 加速
17.64 秒
4.2 分
シナリオ 3 と比較して、48.36 秒改善/73.27% 改善
シナリオ 3 と比較して、34.4 分改善/89.12% 改善
シナリオ 3:GA 加速を使用しない
1.1 分
38.6 分
/
/
説明この記事の例とデータは参考用です。実際の加速効果は、実際のビジネステストに基づきます。
よくある質問
コンソールに HTTP/3 の設定オプションがないのはなぜですか?
お使いの従量課金 GA インスタンスで [最大 HTTP バージョン] の設定がサポートされていない場合、インスタンスのバージョンがこの機能に対応していない可能性があります。この機能を使用するには、アカウントマネージャーに連絡してインスタンスのスペックアップをリクエストしてください。
クライアントが HTTP/3 を使用できないのはなぜですか?
GA がクライアントと HTTP/3 のネゴシエーションに失敗した場合、HTTP/1.1 または HTTP/2 にフォールバックします。ネゴシエーションの仕組みについては、「GA とクライアントによる HTTP/3 のネゴシエーション方法」をご参照ください。
関連ドキュメント
国際間のシナリオでは、デフォルトで BGP (マルチ ISP) Pro 回線 が使用されます。より高いネットワーク品質が必要な場合は、国際 Express Connect 回線 を使用できます。詳細については、「GA リソースの選択と購入」をご参照ください。
API リファレンス:
CreateListener:Global Accelerator インスタンスのリスナーを作成します。
HttpVersionパラメーターを介して HTTP/3 設定を変更します。UpdateListener:Global Accelerator インスタンス下の指定されたリスナーの設定を変更します。
HttpVersionパラメーターを介して HTTP/3 設定を変更します。DeleteListener:Global Accelerator インスタンス下の指定されたリスナーを削除します。