-
-
-
VMware ESX、Linux KVM、およびCitrix HypervisorでNetScaler ADC VPXのパフォーマンスを最適化する
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
gRPC ブリッジング
クライアントがリクエストを送信するとき HTTP/1.1 プロトコルでは、NetScaler ADCアプライアンスはgRPCリクエストのブリッジングをサポートします HTTP/1.1 gRPCサーバーに準拠しているプロトコル HTTP/2 プロトコル。同様に、リバースブリッジでは、アプライアンスは HTTP/2 プロトコルでクライアントの gRPC 要求を受信し、HTTP/1.1 プロトコルの gRPC サーバーに準拠して gRPC 要求に対してリバースブリッジを実行します。
gRPC ブリッジングの仕組み
このシナリオでは、NetScalerアプライアンスはHTTP/1.1接続で受信したgRPCコンテンツをシームレスにブリッジし、HTTP/2経由でバックエンドgRPCサーバーに転送します。
次の図は、gRPC ブリッジ構成でコンポーネントが互いにどのように相互作用するかを示しています。
- gRPCリクエストが送信されると、NetScalerアプライアンスは接続がHTTP/1.1で、コンテンツタイプがアプリケーション/grpcであるかどうかを確認します。HTTP/1.1 リクエストは、次の疑似ヘッダーに変換されます。
- Content-Type ヘッダーで示されているように HTTP/1.1 接続で gRPC リクエストを受信すると、ADC アプライアンスはそのリクエストを以下に示すように HTTP/2 経由の gRPC に変換します。
:method: Method-name in HTTP/1.1 request
:path: Path is HTTP/1.1 request
content-type: application/grpc
<!--NeedCopy-->
- ポリシー評価に基づいて、負荷分散仮想サーバー(gRPC サービスがバインドされている)は要求を終了するか、HTTP/2フレームを介してバックエンドgRPCサーバーに転送します。
- gRPC サーバーから HTTP/2 接続で応答を受信すると、アプライアンスは HTTP/2 トレーラーを受信するまでバッファリングを行い、次に gRPC ステータスコードを確認します。gRPC エラーステータスがゼロ以外の場合、アプライアンスはマッピング HTTP ステータスコードを探し、適切な HTTP/1.1 エラー応答を送信します。
CLI を使用して gRPC ブリッジングを設定する
gRPC ブリッジを設定するには、次の手順を実行する必要があります。
- HTTP/2 および HTTP/2 ダイレクトが有効な状態で HTTP プロファイルを追加
- HTTP パラメータでグローバルバックエンド HTTP/2 サポートを有効にする
- SSL/HTTP タイプの負荷分散仮想サーバーを追加し、HTTP プロファイルを設定します
- gRPCエンドポイントのサービスを追加し、HTTPプロファイルを設定します
- gRPC エンドポイントサービスを負荷分散仮想サーバーにバインド
- gRPC ステータスコードを 0 以外の gRPC ステータスの HTTP レスポンスにマッピングします
- gRPC バッファリングを時間またはサイズで設定
HTTP/2 および HTTP/2 ダイレクトが有効な状態で HTTP プロファイルを追加します
設定を開始するには、HTTP プロファイルで HTTP/2 機能を有効にする必要があります。クライアントが HTTP 1.1 リクエストを送信すると、アプライアンスはリクエストをブリッジしてバックエンドサーバーに転送します。
コマンドプロンプトで入力します:
add ns httpProfile <name> - http2 ( ENABLED | DISABLED ) [-http2Direct ( ENABLED | DISABLED )]
例:
add ns httpProfile http2gRPC -http2Direct ENABLED -http2 ENABLED
HTTP パラメータでグローバルバックエンド HTTP/2 サポートを有効にする
NetScalerコマンドラインを使用して、サーバー側でHTTP/2サポートをグローバルに有効にします。
コマンドプロンプトで入力します:
set ns httpParam -http2ServerSide( ON | OFF )
例:
set ns httpParam -http2ServerSide ON
SSL/HTTP タイプの負荷分散仮想サーバーを追加し、HTTP プロファイルを設定します
NetScaler コマンドインターフェイスを使用して負荷分散仮想サーバーを追加するには
コマンドプロンプトで入力します:
add lb vserver <name> <service type> [(<IP address>@ <port>)] [-httpProfileName <string>]
例:
add lb vserver lb-grpc HTTP 10.10.10.10 80 -httpProfileName http2gRPC
注:
SSL タイプの負荷分散仮想サーバーを使用している場合は、サーバー証明書をバインドする必要があります。詳細については、「 サーバー証明書のバインド 」のトピックを参照してください。
gRPCエンドポイントのサービスを追加し、HTTPプロファイルを設定します
NetScalerのコマンドインターフェイスを使用して 、HTTPプロファイルでgRPCサービスを追加するには
コマンドプロンプトで入力します:
add service <name> (<IP> | <serverName> ) <serviceType> <port> [-httpProfileName <string>]
例:
add service svc-grpc 10.10.10.10 HTTP 80 -httpProfileName http2gRPC
gRPC エンドポイントサービスを負荷分散仮想サーバーにバインド
CLI を使用して gRPC エンドポイントサービスを負荷分散仮想サーバーにバインドすること。
コマンドインターフェイスで、次のように入力します。
bind lb vserver <name> <serviceName>
例:
bind lb vserver lb-grpc svc-grpc
gRPC ステータスコードを HTTP/1.1 レスポンスの HTTP ステータスコードにマッピングします
gRPC ブリッジシナリオでは、gRPC サービスはリクエストに gRPC ステータスコードで応答します。アプライアンスは gRPC ステータスコードを対応する HTTP 応答コードと理由フレーズにマッピングします。マッピングは以下の表に基づいて行われます。送信時のNetScaler ADCアプライアンス HTTP/1.1 クライアントへの応答は、HTTPステータスコードと理由フレーズを送信します。
gRPC ステータスコード | HTTP レスポンスステータスコード | HTTP 応答理由フレーズ |
---|---|---|
OK = 0 | 200 | OK |
キャンセル済み = 1 | 499 | * |
不明 = 2 | 500 | 内部サーバーエラー |
引数が無効です = 3 | 400 | 不正な要求 |
期限超過 = 4 | 504 | ゲートウェイタイムアウト |
見つかりません = 5 | 404 | * |
すでに存在する = 6 | 409 | コンフリクト |
アクセス拒否 = 7 | 403 | 禁止 |
認証されていない = 16 | 401 | 無許可 |
リソースを使い果たした = 8 | 429 | * |
失敗_前提条件 = 9 | 400 | 不正な要求 |
中止されました = 10 | 409 | コンフリクト |
範囲外 = 11 | 400 | 不正な要求 |
実装されていない = 12 | 501 | 未実装 |
インターナル = 13 | 500 | 内部サーバーエラー |
ご利用いただけません = 14 | 503 | サービスは利用できません |
データ損失 = 15 | 500 | 内部サーバーエラー |
gRPC バッファリングを時間またはサイズで設定
NetScalerアプライアンスは、レスポンストレーラーが受信されるまで、バックエンドサーバーからのgRPC応答をバッファリングします。これにより、双方向の gRPC 呼び出しが中断されます。また、gRPC 応答が大きい場合は、応答を完全にバッファリングするために大量のメモリを消費します。この問題を解決するために、gRPC ブリッジ設定が拡張され、バッファリングを時間やサイズによって制限できるようになりました。バッファサイズまたは時間制限がしきい値を超えると、いずれかの制限がトリガーされた場合でも(設定されたバッファサイズ内でトレーラーが受信されないか、設定されたタイムアウトが発生した場合)、アプライアンスはバッファリングを停止し、クライアントに応答を転送します。その結果、設定されたポリシーとその表現(grpc-status コードに基づく)が期待どおりに機能しません。
CLI で gRPC バッファリングを時間やサイズによって制限するには、新しい HTTP プロファイルを追加するタイミングを設定するか、既存のプロファイルを変更するときに設定できます。
コマンドプロンプトで入力します:
add ns httpProfile http2gRPC [-grpcHoldLimit <positive_integer>] [-grpcHoldTimeout <positive_integer>]
または
set ns httpProfile http2gRPC [-grpcHoldLimit <positive_integer>] [-grpcHoldTimeout <positive_integer>]
各項目の意味は次のとおりです。
grpcholdlimit
。トレーラーが受信されるまで gRPC パケットをバッファできる最大サイズ (バイト単位)。パラメータと任意のパラメータの両方を設定できます。
デフォルト値:131072 最小値:0 最大値:33554432
grpcholdtimeout
。トレーラーが受信されるまでの gRPC パケットのバッファリングに許容される最大時間(ミリ秒単位)。値は 100 の倍数でなければなりません。
デフォルト値:1000
最小値:0
最大値:180000
例:
add httpprofile http2gRPC -grpcholdlimit 1048576 -grpcholdtimeout 5000
set httpprofile http2gRPC -grpcholdlimit 1048576 -grpcholdtimeout 5000
GUI を使用して gRPC ブリッジを設定
NetScaler GUIを使用してgRPCブリッジを構成するには、次の手順を実行します。
HTTP/2 および HTTP/2 ダイレクトが有効な状態で HTTP プロファイルを追加
- System > Profilesに移動してHTTP Profilesをクリックします。
- HTTP プロファイルで HTTP/2 を選択します。
HTTP パラメータでグローバルバックエンド HTTP/2 サポートを有効にする
- [ システム] > [設定] > [HTTP パラメータ] に移動します。
- 「 HTTP パラメータの設定 」ページで、「 サーバー側の HTTP/2 」オプションを選択します。
- [OK] をクリックします。
SSL/HTTP タイプの負荷分散仮想サーバーを追加し、HTTP プロファイルを設定します
- Traffic Management > Load Balancing > Virtual Serversに移動します。
- [ 追加 ] をクリックして gRPC トラフィック用の負荷分散仮想サーバーを作成します。
- Load Balancing Virtual ServerページでProfilesをクリックします。
- 「 プロファイル 」セクションで、プロファイルの種類を「HTTP」として選択します。
- [ OK]、[ 完了]の順にクリックします。
gRPC エンドポイント用サービスの追加と HTTP プロファイルの設定
- [Traffic Management]>[Load Balancing]>[Services] の順に移動します。
- [ 追加 ] をクリックして gRPC トラフィック用のアプリケーションサーバーを作成します。
- 負荷分散サービスのページで 、 プロファイルセクションに移動します 。
- [ プロファイル] に gRPC エンドポイントの HTTP プロファイルを追加します 。
- [ OK]、[ 完了]の順にクリックします。
gRPC エンドポイントを負荷分散仮想サーバーにバインドする
- Traffic Management > Load Balancing > Virtual Serversに移動します。
- [ 追加 ] をクリックして gRPC トラフィック用の負荷分散仮想サーバーを作成します。
- [ 負荷分散仮想サーバー ] ページで、[ サービスとサービスグループ ] セクションをクリックします。
- 負荷分散仮想サーバーサービスバインディングページで 、バインドする gRPC サービスを選択します。
- 「 閉じる 」をクリックし、「 完了」をクリックします。
GUI を使用して gRPC バッファリングを時間とサイズで設定します
- System > Profilesに移動してHTTP Profilesをクリックします。
- HTTP プロファイルで HTTP/2 を選択します。
-
「 HTTP プロファイルの設定 」ページで、次のパラメータを設定します。
- GRPC ホールドタイムアウト。トレーラーが受信されるまで gRPC パケットをバッファする時間をミリ秒単位で入力します。
- GRP/ホールドリミット。 トレーラーが受信されるまで gRPC パケットをバッファする最大サイズをバイト単位で入力します。
- 「 OK」をクリックして「閉じる」をクリックします。
サービスと負荷分散仮想サーバーをバインドするための GUI 手順の詳細については、「 負荷分散 」のトピックを参照してください。
共有
共有
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.