Global Accelerator (GA) インスタンスで設定されているHTTPSサービスのパフォーマンスを向上させるためにHTTP/2を使用する場合は、GAインスタンスのHTTP/2経由のオリジンルーティングを設定できます。 HTTP/2経由のオリジンルーティングを有効にすると、HTTPSサービスはHTTP/2の利点を活用して、サービスパフォーマンスを大幅に向上させ、ネットワークの遅延とオーバーヘッドを削減し、アクセスエクスペリエンスを向上させることができます。
HTTP/2とは
HTTP/2接続ネゴシエーション
HTTPS接続のネゴシエーションプロセス中に、アプリケーションデータを送信する前に、クライアントとサーバー間でTLS接続を確立する必要があります。 HTTP/2は、アプリケーション層プロトコルネゴシエーション (ALPN) メカニズムを使用して、クライアントとサーバーが使用するプロトコルバージョンについてネゴシエーションできるようにします。
Global Acceleratorインスタンスに対してHTTP/2経由のオリジンルーティングを有効にすると、Global Acceleratorインスタンスは、クライアントから送信されたClientHelloメッセージのALPNフィールドのプロトコルバージョンとしてh2を指定します。 さらに、GAインスタンスは、サーバーから返されるServerHelloメッセージのALPNフィールドのプロトコルバージョンを無視します。 これにより、HTTP/2によるオリジンルーティングが強制的に有効になります。
例
次のシナリオは一例です。 米国 (シリコンバレー) リージョンに本社を置く企業は、仮想プライベートクラウド (VPC) のElastic Compute Service (ECS) インスタンスにHTTPS Webサイトをデプロイします。 アプリケーションのほとんどのユーザーは、中国 (香港) リージョンからアプリケーションにアクセスします。 不安定なクロスボーダーネットワークが原因で発生する可能性のあるネットワーク遅延、ネットワークジッタ、パケット損失などのネットワークの問題に対処するために、Global Acceleratorインスタンスを購入しました。
Webサイトのパフォーマンスをさらに向上させ、Webサイトへのアクセスを最適化するために、企業はGAインスタンスのHTTP/2リスナーを設定することを決定します。
Global AcceleratorインスタンスのバックエンドサービスがHTTPSを使用している場合、デフォルトではHTTP/1.1がオリジンルーティングに使用されます。 この場合、Global Acceleratorインスタンスの設定を変更して、オリジンルーティングにHTTP/2を使用する必要があります。 このようにして、企業はパフォーマンスの最適化におけるHTTP/2の利点から利益を得ることができます。
制限事項
GAインスタンスのHTTP/2経由のオリジンルーティングを設定する場合、次の制限が適用されます。
デフォルトでは、プロトコルバージョンの選択機能は無効になっています。 この機能を使用するには、アカウントマネージャーに連絡してください。
WebSocketはサポートされていません。
HTTP/2 Server Pushはサポートされていません。
HTTP/2を使用するGoogleリモートプロシージャコール (gRPC) リクエストは高速化できません。
前提条件
サーバー証明書は、証明書管理サービスコンソールで購入またはアップロードされます。 詳細については、「SSL証明書の購入」および「SSL証明書のアップロードと共有」をご参照ください。
証明書がバックエンドサーバーにアップロードされます。 詳細については、「クラウドアシスタントを使用したECSインスタンスへのアップロード」をご参照ください。
ポート443を使用するHTTPSサービスがデプロイされ、HTTP/2が有効になっています。
バックエンドサーバーが属するセキュリティグループがTCPポート443へのアクセスを許可していることを確認します。 詳細については、「セキュリティグループルールの追加」をご参照ください。
Global Acceleratorインスタンスが作成されました。 NGINXサービスがデプロイされているECSインスタンスは、GAインスタンスのエンドポイントとして指定されています。 バックエンドサービスプロトコルはHTTPSに設定されています。 詳細については、「標準GAインスタンスの作成と管理」をご参照ください。
証明書に関連付けられたドメイン名は、Global Acceleratorによって割り当てられたCNAMEにマップされます。 詳細については、「ドメイン名のCNAMEレコードの追加」をご参照ください。
HTTP/2でのオリジンルーティングの設定
このセクションでは、主要なパラメータについてのみ説明します。 その他のエンドポイントグループパラメーターの詳細については、「インテリジェントルーティングリスナーのエンドポイントグループの作成と管理」をご参照ください。
GAコンソールにログインします。
インスタンス ページで、管理するGAインスタンスを見つけ、アクション 列の リスナーの設定 をクリックします。
リスナー タブで、管理するリスナーを見つけ、操作 列の エンドポイントグループの編集 をクリックします。
リスナーとプロトコルの設定 ステップで、[次へ] をクリックします。
エンドポイントグループの設定 ステップで、[プロトコルバージョン] の [HTTP/2] を選択し、[次へ] をクリックします。
設定の確認 ステップで、設定を確認し、送信 をクリックします。
検証
エンドポイントグループ設定でプロトコルバージョンをHTTP/2に設定する前後に、次の手順を実行して、HTTP/2経由のオリジンルーティングが有効かどうかを確認できます。
中国 (香港) リージョンのクライアントでブラウザーを開き、
https://<Accelerated domain name>
と入力します。 次に、Enterキーを押して、バックエンドサービスにアクセスできるかどうかを確認します。米国 (シリコンバレー) リージョンのバックエンドサーバーにログインします。 CLIを開き、次のコマンドを実行して、最新の訪問のレコードを表示します。
レコードの詳細で、バックエンドサーバーにリクエストを送信するために使用されたプロトコルバージョンを確認できます。
tail -n 1 /var/log/nginx/access.log
次の図は、プロトコルバージョンがHTTP/2に設定される前に返されるレコードを示しています。次の図は、プロトコルバージョンがHTTP/2に設定された後に返されるレコードを示しています。