REST Resource: projects.locations.tlsRoutes

リソース: TlsRoute

TlsRoute は、SNI とその他の一致する L3 属性に基づいてトラフィックのルーティング方法を定義します。

JSON 表現
{
  "name": string,
  "selfLink": string,
  "createTime": string,
  "updateTime": string,
  "description": string,
  "rules": [
    {
      object (RouteRule)
    }
  ],
  "meshes": [
    string
  ],
  "gateways": [
    string
  ],
  "labels": {
    string: string,
    ...
  }
}
フィールド
name

string

必須。TlsRoute リソースの名前。パターン projects/*/locations/global/tlsRoutes/tls_route_name> と一致します。

createTime

string (Timestamp format)

出力専用。リソース作成時のタイムスタンプ。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

出力専用。リソース最終更新時のタイムスタンプ。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

description

string

省略可。リソースのフリーテキストによる説明。最大長は 1,024 文字です。

rules[]

object (RouteRule)

必須。トラフィックのルーティング方法と処理方法を定義するルール。RouteRule を少なくとも 1 つ指定する必要があります。複数のルールがある場合は、最初に一致したルールのアクションが実行されます。

meshes[]

string

省略可。メッシュでは、メッシュによって提供されるリクエストをルーティングするルーティング ルールの 1 つとして、この TlsRoute がアタッチされているメッシュのリストを定義します。

各メッシュの参照は、パターン projects/*/locations/global/meshes/<mesh_name> と一致している必要があります。

アタッチされるメッシュは SIDECAR である必要があります

gateways[]

string

省略可。ゲートウェイは、この TlsRoute がアタッチされるゲートウェイのリストを定義します。これは、ゲートウェイによって処理されるリクエストをルーティングするルーティング ルールの一つです。

各ゲートウェイの参照は、パターン projects/*/locations/global/gateways/<gateway_name> と一致している必要があります。

labels

map (key: string, value: string)

省略可。TlsRoute リソースに関連付けられたラベルタグのセット。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

RouteRule

トラフィックをマッチングする方法と、トラフィックが一致した場合にトラフィックをルーティングする方法を指定します。

JSON 表現
{
  "matches": [
    {
      object (RouteMatch)
    }
  ],
  "action": {
    object (RouteAction)
  }
}
フィールド
matches[]

object (RouteMatch)

必須。RouteMatch は、リクエストを特定のアクションとマッチングするために使用する述語を定義します。複数のマッチタイプは評価時に「OR」で結合されます。

action

object (RouteAction)

必須。マッチングしたトラフィックのルーティング方法を定義する詳細なルール。

RouteMatch

RouteMatch は、リクエストを特定のアクションとマッチングするために使用する述語を定義します。複数のマッチタイプは評価時に「AND」で結合されます。routeMatch フィールドが指定されていない場合、このルールは無条件にトラフィックをマッチングします。

JSON 表現
{
  "sniHost": [
    string
  ],
  "alpn": [
    string
  ]
}
フィールド
sniHost[]

string

省略可。照合対象となる SNI(サーバー名インジケーター)。SNI は、すべてのワイルドカード ドメインと照合されます。www.example.com は最初に www.example.com と、次に *.example.com、その次に *.com. と照合されます。部分的なワイルドカードはサポートされておらず、*w.example.com などの値は無効です。sniHost と alpn は少なくとも 1 つ必要です。すべての一致で最大 100 個の sni ホストを設定できます。

alpn[]

string

省略可。照合対象となる ALPN(Application-Layer Protocol Negotiation)。例: 「http/1.1」、「h2」。sniHost と alpn は少なくとも 1 つ必要です。すべての一致で最大 5 つの alpns を設定できます。

RouteAction

トラフィックのルーティングと関連ポリシーの適用のための仕様。

JSON 表現
{
  "destinations": [
    {
      object (RouteDestination)
    }
  ],
  "idleTimeout": string
}
フィールド
destinations[]

object (RouteDestination)

必須。トラフィックの転送先のサービス。少なくとも 1 つの転送先サービスが必要です

idleTimeout

string (Duration format)

省略可。選択したルートのアイドル タイムアウトを指定します。アイドル タイムアウトは、アップストリーム接続とダウンストリーム接続のいずれにおいても送受信されるバイトがない期間として定義されます。設定しない場合、デフォルトのアイドル タイムアウトは 1 時間です。0 秒に設定すると、タイムアウトは無効になります。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

RouteDestination

トラフィックのルーティング先となる宛先を記述します。

JSON 表現
{
  "serviceName": string,
  "weight": integer
}
フィールド
serviceName

string

必須。トラフィックのルーティング先となる BackendService の URL。

weight

integer

省略可。serviceName フィールドによって参照されるバックエンドに転送されるリクエストの割合を指定します。これは、weight/Sum(宛先の重み)すべての宛先の重みの合計が 100 になる必要はありません。

メソッド

create

指定されたプロジェクトとロケーションで新しい TlsRoute を作成します。

delete

1 つの TlsRoute を削除します。

get

1 つの TlsRoute の詳細を取得します。

list

指定されたプロジェクトとロケーションの TlsRoute を一覧表示します。

patch

1 つの TlsRoute のパラメータを更新します。