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)

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

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 のパラメータを更新します。

setIamPolicy

指定したリソースにアクセス制御ポリシーを設定します。

testIamPermissions

呼び出し元が指定されたリソース上で持つ権限を返します。