Citrix ADC

gRPCエンドツーエンド構成

gRPCエンドツーエンド構成は,クライアントからgRPCリクエストを送信することで機能します。HTTP/2プロトコルと,gRPCサーバーによって応答されたgRPCメッセージの転送。

エンドツーエンドのgRPC構成の仕組み

次の図は,Citrix ADCアプライアンスで機能するgRPC構成を示しています。

gRPC構成機能図

  1. gRPC構成をデプロイするには,最初に有効にする必要がありますHTTP / 2 HTTPプロファイルで,有効にしますHTTP / 2サーバー側でグローバルにサポートします。
  2. クライアントがgRPCリクエストを送信すると,負荷分散仮想サーバーはポリシーを使用してgRPCトラフィックを評価します。
  3. ポリシー評価に基づいて,負荷分散仮想サーバー(gRPCサービスがバインドされている)は要求を終了し,gRPC要求としてバックエンドgRPCサーバーに転送します。
  4. 同様に,gRPCサーバーがクライアントに応答すると,アプライアンスは応答を終了し,gRPC応答としてクライアントに転送します。

gRPCサーバーに送信されるgRPCリクエストの例

リクエストヘッダーは次のように送信されますHTTP / 2のヘッダー头+延续フレーム。

' ' HEADERS (flags = END_HEADERS): method = POST: scheme = http: path = /helloworld。citrix-adc/SayHello: authority = 10.10.10.10。:80 grpc-timeout = 15 content-type = application/grpc+proto grpc-encoding = gzip DATA (flags = END_STREAM)   ```

gRPCサーバーからCitrix ADCアプライアンスへのgRPC応答ヘッダーの例

応答——ヘッダー&トレーラー——単一でのみ配信されますHTTP / 2头フレームブロック。ほとんどの応答にはヘッダーとトレーラーの両方が含まれていると予想されますが,即時エラーが発生する呼び出しにはトレーラーのみが許可されます。HTTPステータスコードがOKの場合でも,ステータスは预告で送信する必要があります。

' ' '报头(flags = END_HEADERS): status = 200 grpc- encoding= gzip Content-type = application/grpc+proto DATA < length - prefix Message>报头(flags = END_STREAM, END_HEADERS) grpc-status = 0 # OK “”

CLIを使用してgRPCを構成する

エンドツーエンドのgRPCデプロイメントを設定するには,以下を完了する必要があります。

  • Http /2およびHttp /2ダイレクトを有効にしたHttpプロファイルを追加
  • httpパラメーターでグローバルバックエンドhttp /2サポートを有効にする
  • Ssl / httpタイプの負荷分散仮想サーバーを追加し,httpプロファイルを設定します
  • gRPCエンドポイントのサービスを追加してHTTPプロファイルを設定する
  • gRPCエンドポイントサービスを負荷分散仮想サーバーにバインドする

Http /2およびHttp /2ダイレクトを有効にしたHttpプロファイルを追加

HTTPプロファイルでHTTP / 2およびHTTP / 2ダイレクトパラメータを有効にする必要があります。また,gPRC通过HTTP / 2クリアテキストが必要な場合,HTTP / 2ダイレクトパラメーターを有効にする必要があります。

コマンドプロンプトで入力します。

添加ns httpProfile -http2 (ENABLED | DISABLED) [- http2direct (ENABLED | DISABLED)]

例:

add ns httpProfile http2gRPC -http2Direct ENABLED -http2 ENABLED

httpパラメーターでグローバルバックエンドhttp /2サポートを有効にする

Citrix ADCコマンドラインを使用してサーバーでグローバルにHTTP / 2サポートを有効にするには。

コマンドプロンプトで入力します。

设置ns httpParam -http2ServerSide(ON | OFF)

例:

设置ns的httpParam -http2ServerSide ON

Ssl / httpタイプの負荷分散仮想サーバーを追加し,httpプロファイルを設定します

Citrix ADCコマンドインターフェイスを使用して負荷分散仮想サーバーを追加するには,次の手順に従います。

コマンドプロンプトで入力します。

添加lb vserver <名称> <业务类型> [(@ <端口>)][-httpProfileName <字符串>]

例:

add lb vserver lb-grpc HTTP 10.10.10.11 80 -httpProfileName http2gRPC

注:

タイプSSLの負荷分散仮想サーバーを使用している場合は,サーバー証明書をバインドする必要があります。詳細については,サーバー証明書のバインドのトピックを参照してください。

gRPCエンドポイントのサービスを追加してHTTPプロファイルを設定する

Citrix ADCコマンドインターフェイスを使用してHTTPプロファイルでgRPCサービスを追加するには:コマンドプロンプトで,次のように入力します。

添加service ( | ) [-httpProfileName ]

例:add service svc-grpc 10.10.10.10 HTTP 80 -httpProfileName http2gRPC

gRPCエンドポイントサービスを負荷分散仮想サーバーにバインドする

Citrix ADCコマンドインターフェイスを使用して,gRPCサービスを負荷分散仮想サーバーにバインドするには:

コマンドインターフェイスで,次のように入力します。

bind lb vserver

例:

绑定lb vserver lb-grpc svc-grpc

GUIを使用してエンドツーエンドのgRPCデプロイメントを構成します

GUIを使用してgRPCを設定するには,次の手順を実行します。

Http /2およびHttp /2ダイレクトを有効にしたHttpプロファイルを追加

  1. 系统>概要文件に移動してHTTP配置文件をクリックします。
  2. 新しいhttpプロファイルまたはhttpプロファイルでhttp /2オプションを有効にする

gRPCエンドツーエンド構成機能図

httpパラメーターでグローバルバックエンドhttp /2サポートを有効にする

  1. 系统>设置> HTTP参数に移動します。
  2. [httpパラメータの構成]ページで,サーバー側のhttp /2を選択します。
  3. (好的)をクリックします。

gRPCエンドツーエンド構成により,グローバルバックエンドhttp2が有効になります

Ssl / httpタイプの負荷分散仮想サーバーを追加し,httpプロファイルを設定します

  1. 流量管理>负载均衡>虚拟服务器に移動します。
  2. 添加をクリックしてgRPCトラフィックの負荷分散仮想サーバーを作成します。
  3. 负载均衡虚拟服务器ページで配置文件をクリックします。
  4. [プロファイル]セクションで,プロファイルタイプをhttpとして選択します。
  5. [ok],[完了]の順にクリックします。

gRPC構成はサービスgRPCエンドポイントを追加します

gRPCエンドポイントのサービスを追加してHTTPプロファイルを設定する

  1. 流量管理>负载均衡>业务に移動します。
  2. 添加をクリックしてgRPCトラフィックのアプリケーションサーバーを作成します。
  3. [負荷分散サービス]ページで,[プロファイル]セクションに移動します。
  4. [プロファイル]で,gRPCエンドポイントのHTTPプロファイルを追加します。
  5. [ok],[完了]の順にクリックします。

gRPC構成バインドサービス負荷分散仮想サーバー

ロードバランシングに関連するGUI手順の詳細については,”負荷分散のトピックを参照してください。

gRPCエンドツーエンド構成