リソース: TcpRoute
TcpRoute は、Mesh / Gateway リソースによって TCP トラフィックのルーティング方法を定義するリソースです。
JSON 表現 |
---|
{
"name": string,
"selfLink": string,
"createTime": string,
"updateTime": string,
"description": string,
"rules": [
{
object ( |
フィールド | |
---|---|
name |
必須。TcpRoute リソースの名前。パターン |
selfLink |
出力専用。このリソースのサーバー定義 URL |
createTime |
出力専用。リソース作成時のタイムスタンプ。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
updateTime |
出力専用。リソース最終更新時のタイムスタンプ。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
description |
省略可。リソースのフリーテキストの説明。最大長は 1,024 文字です。 |
rules[] |
必須。トラフィックのルーティング方法と処理方法を定義するルール。RouteRule を少なくとも 1 つ指定する必要があります。複数のルールがある場合は、最初に一致したルールが優先されます。 |
meshes[] |
省略可。メッシュは、この TcpRoute が接続されているメッシュのリストを、メッシュによって処理されるリクエストをルーティングするルーティング ルールの一つとして定義します。 各メッシュ参照は、パターン 接続するメッシュはのタイプは SIDECAR である必要があります |
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 の場合、Router は元の接続の宛先 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 のパラメータを更新します。 |
|
指定したリソースにアクセス制御ポリシーを設定します。 |
|
指定されたリソースに対して呼び出し元が持っている権限を返します。 |