リソース: TcpRoute
TcpRoute は、Mesh / Gateway リソースによる TCP トラフィックのルーティング方法を定義するリソースです。
| JSON 表現 | 
|---|
{
  "name": string,
  "selfLink": string,
  "createTime": string,
  "updateTime": string,
  "description": string,
  "rules": [
    {
      object ( | 
              
| フィールド | |
|---|---|
name | 
                
                   
 ID。TcpRoute リソースの名前。  | 
              
selfLink | 
                
                   
 出力専用。このリソースのサーバー定義 URL  | 
              
createTime | 
                
                   
 出力専用。リソース作成時のタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例:   | 
              
updateTime | 
                
                   
 出力専用。リソース更新時のタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例:   | 
              
description | 
                
                   
 省略可。フリーテキストでのリソースの説明。最大長は 1,024 文字です。  | 
              
rules[] | 
                
                   
 必須。トラフィックのルーティング方法と処理方法を定義するルール。少なくとも 1 つの RouteRule を指定する必要があります。ルールが複数ある場合は、最初に一致したルールのアクションが実行されます。  | 
              
meshes[] | 
                
                   
 省略可。meshes は、この TcpRoute が接続されるメッシュのリストを、メッシュによって処理されるリクエストをルーティングするルーティング ルールの一つとして定義します。 各メッシュの参照は  接続するメッシュのタイプは SIDECAR である必要があります  | 
              
gateways[] | 
                
                   
 省略可。gateways は、この TcpRoute が接続されるゲートウェイのリストを、ゲートウェイによって処理されるリクエストをルーティングするルーティング ルールの一つとして定義します。 各ゲートウェイの参照は   | 
              
labels | 
                
                   
 省略可。TcpRoute リソースに関連付けられたラベルタグのセット。 
  | 
              
RouteRule
トラフィックを照合する方法と、一致したトラフィックをルーティングする方法を指定します。
| JSON 表現 | 
|---|
{ "matches": [ { object (  | 
              
| フィールド | |
|---|---|
matches[] | 
                
                   
 省略可。RouteMatch は、リクエストを特定のアクションと照合するために使用する述語を定義します。複数の一致条件は、評価時に「OR」で結合されます。routeMatch フィールドが指定されていない場合、このルールは無条件にトラフィックと一致します。  | 
              
action | 
                
                   
 必須。一致したトラフィックのルーティング方法を定義する詳細なルール。  | 
              
RouteMatch
RouteMatch は、リクエストを特定のアクションと照合するために使用する述語を定義します。複数の一致条件は、評価時に「OR」で結合されます。routeMatch フィールドが指定されていない場合、このルールは無条件にトラフィックと一致します。
| JSON 表現 | 
|---|
{ "address": string, "port": string }  | 
              
| フィールド | |
|---|---|
address | 
                
                   
 必須。CIDR 範囲形式で指定する必要があります。CIDR の範囲は、IP アドレスとプレフィックス長で構成され、サブネット マスクを構成します。デフォルトでは、プレフィックス長は 32 です(つまり、単一の IP アドレスに一致します)。IPV4 アドレスのみがサポートされます。例: "10.0.0.1" - これと完全に同じ IP アドレスと一致します。"10.0.0.0/8" - 10.0.0.0 サブネットかつ 255.255.255.0 マスク内のすべての IP アドレスと一致します。"0.0.0.0/0" - すべての IP アドレスと一致します。  | 
              
port | 
                
                   
 必須。照合対象となる宛先ポートを指定します。  | 
              
RouteAction
トラフィックのルーティングと関連ポリシーの適用のための仕様。
| JSON 表現 | 
|---|
{
  "destinations": [
    {
      object ( | 
              
| フィールド | |
|---|---|
destinations[] | 
                
                   
 省略可。トラフィックの転送先となる宛先サービス。少なくとも 1 つの宛先サービスが必要です。設定できるのは、ルートの宛先または元の宛先のいずれか 1 つだけです。  | 
              
originalDestination | 
                
                   
 省略可。true の場合、ルーターは元の接続の宛先 IP とポートをリクエストの宛先として使用します。デフォルトは false です。設定できるのは、ルートの宛先または元の宛先のいずれか 1 つだけです。  | 
              
idleTimeout | 
                
                   
 省略可。選択したルートのアイドル タイムアウトを指定します。アイドル タイムアウトは、アップストリーム接続とダウンストリーム接続のいずれにおいても送受信されるバイトがない期間として定義されます。設定しない場合、デフォルトのアイドル タイムアウトは 30 秒です。0 秒に設定すると、タイムアウトは無効になります。 
  | 
              
RouteDestination
トラフィックのルーティング先を記述します。
| JSON 表現 | 
|---|
{ "serviceName": string, "weight": integer }  | 
              
| フィールド | |
|---|---|
serviceName | 
                
                   
 必須。トラフィックのルーティング先となる BackendService の URL。  | 
              
weight | 
                
                   
 省略可。serviceName フィールドで参照されるバックエンドに転送されるリクエストの割合を指定します。これは、weight/Sum(この宛先リストの重み)で計算されます。ゼロ以外の値の場合、実装がサポートする精度によりますが、ここで定義された正確な割合からのイプシロンが発生する可能性があります。 serviceName が 1 つだけ指定されていて、その重みが 0 より大きい場合、トラフィックの 100% がそのバックエンドに転送されます。 いずれかのサービス名に重みが指定される場合、すべてのサービス名に重みを指定する必要があります。 すべてのサービスに重みを指定しない場合は、トラフィックがすべてのサービスに均等に分散されます。  | 
              
メソッド | 
            |
|---|---|
                
 | 
              指定されたプロジェクトとロケーションで新しい TcpRoute を作成します。 | 
                
 | 
              1 つの TcpRoute を削除します。 | 
                
 | 
              1 つの TcpRoute の詳細を取得します。 | 
                
 | 
              指定されたプロジェクトとロケーションの TcpRoute を一覧表示します。 | 
                
 | 
              1 つの TcpRoute のパラメータを更新します。 | 
                
 | 
              指定したリソースにアクセス制御ポリシーを設定します。 | 
                
 | 
              指定したリソースに対して呼び出し元が持っている権限を返します。 |