REST Resource: projects.locations.tcpRoutes

리소스: TcpRoute

TcpRoute는 메시/게이트웨이 리소스에 의해 TCP 트래픽이 라우팅되는 방식을 정의하는 리소스입니다.

JSON 표현
{
  "name": string,
  "selfLink": string,
  "createTime": string,
  "updateTime": string,
  "description": string,
  "rules": [
    {
      object (RouteRule)
    }
  ],
  "meshes": [
    string
  ],
  "gateways": [
    string
  ],
  "labels": {
    string: string,
    ...
  }
}
필드
name

string

필수 항목. TcpRoute 리소스의 이름입니다. projects/*/locations/global/tcpRoutes/tcp_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을 하나 이상 제공해야 합니다. 규칙이 여러 개 있는 경우 일치하는 첫 번째 규칙에 따라 작업이 실행됩니다.

meshes[]

string

선택사항. 메시는 이 TcpRoute가 연결된 메시 목록을 메시에서 제공하는 요청을 라우팅하는 라우팅 규칙 중 하나로 정의합니다.

각 메시 참조는 projects/*/locations/global/meshes/<mesh_name> 패턴과 일치해야 합니다.

연결된 메시는 SIDECAR 유형이어야 합니다.

gateways[]

string

선택사항. 게이트웨이는 이 TcpRoute가 연결된 게이트웨이 목록을 게이트웨이에서 제공하는 요청을 라우팅하는 라우팅 규칙 중 하나로 정의합니다.

각 게이트웨이 참조는 projects/*/locations/global/gateways/<gateway_name> 패턴과 일치해야 합니다.

labels

map (key: string, value: string)

선택사항. TcpRoute 리소스와 연결된 라벨 태그 집합입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

RouteRule

트래픽을 비교하고 트래픽이 일치할 때 트래픽을 라우팅하는 방법을 지정합니다.

JSON 표현
{
  "matches": [
    {
      object (RouteMatch)
    }
  ],
  "action": {
    object (RouteAction)
  }
}
필드
matches[]

object (RouteMatch)

선택사항. RouteMatch는 요청을 특정 작업과 일치시키는 데 사용되는 조건자를 정의합니다. 여러 검색 유형은 평가를 위해 'OR'로 연결됩니다. routeMatch 필드가 지정되지 않으면 이 규칙은 무조건 트래픽과 일치합니다.

action

object (RouteAction)

필수 항목. 일치하는 트래픽을 라우팅하는 방법을 정의하는 세부 규칙입니다.

RouteMatch

RouteMatch는 요청을 특정 작업과 일치시키는 데 사용되는 조건자를 정의합니다. 여러 검색 유형은 평가를 위해 'OR'로 연결됩니다. routeMatch 필드가 지정되지 않으면 이 규칙은 무조건 트래픽과 일치합니다.

JSON 표현
{
  "address": string,
  "port": string
}
필드
address

string

필수 항목. 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

string

필수 항목. 일치시킬 목적지 포트를 지정합니다.

RouteAction

트래픽 라우팅 및 연결된 정책 적용을 위한 사양입니다.

JSON 표현
{
  "destinations": [
    {
      object (RouteDestination)
    }
  ],
  "originalDestination": boolean,
  "idleTimeout": string
}
필드
destinations[]

object (RouteDestination)

선택사항. 트래픽을 전달해야 하는 대상 서비스입니다. 대상 서비스가 1개 이상 필요합니다. 경로 대상 또는 원래 대상 중 하나만 설정할 수 있습니다.

originalDestination

boolean

선택사항. 이 값이 true이면 라우터는 원래 연결의 대상 IP 및 포트를 요청의 대상으로 사용합니다. 기본값은 false입니다. 경로 대상 또는 원래 대상 중 하나만 설정할 수 있습니다.

idleTimeout

string (Duration format)

선택사항. 선택한 경로의 유휴 제한 시간을 지정합니다. 유휴 제한 시간은 업스트림 또는 다운스트림 연결에서 전송되거나 수신되는 바이트가 없는 기간으로 정의됩니다. 설정하지 않으면 기본 유휴 제한 시간은 30초입니다. 0으로 설정하면 제한 시간이 사용 중지됩니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

RouteDestination

트래픽을 라우팅할 대상을 설명합니다.

JSON 표현
{
  "serviceName": string,
  "weight": integer
}
필드
serviceName

string

필수 항목. 트래픽을 라우팅할 BackendService의 URL입니다.

weight

integer

선택사항. serviceName 필드에서 참조하는 백엔드로 전달되는 요청의 비율을 지정합니다. 이 값은 - 가중치/합계(이 대상 목록의 가중치)로 계산됩니다. 0이 아닌 값의 경우 구현에서 지원하는 정밀도에 따라 여기에 정의된 정확한 비율에서 약간의 엡실론이 있을 수 있습니다.

serviceName이 하나만 지정되고 가중치가 0보다 큰 경우 트래픽의 100%가 해당 백엔드로 전달됩니다.

하나의 서비스 이름에 가중치를 지정하는 경우 모든 서비스 이름에 가중치를 지정해야 합니다.

모든 서비스에 가중치가 지정되지 않은 경우 트래픽이 모든 서비스에 동일한 비율로 분산됩니다.

메서드

create

특정 프로젝트와 위치에 새 TcpRoute를 만듭니다.

delete

단일 TcpRoute를 삭제합니다.

get

단일 TcpRoute의 세부정보를 가져옵니다.

list

특정 프로젝트와 위치의 TcpRoute를 나열합니다.

patch

단일 TcpRoute의 매개변수를 업데이트합니다.