지원되는 속성

ext-proc 기반 백엔드 서비스의 플러그인 또는 콜아웃을 사용하여 확장 프로그램을 구성할 때 이러한 서비스로 전달할 요청 및 연결 속성을 지정할 수 있습니다. 이 페이지에서는 지원되는 속성을 설명하고 각 확장 프로그램 유형에 사용할 수 있는 속성을 지정합니다.

특정 속성을 전달하도록 확장 프로그램을 구성하면 다음을 수행할 수 있습니다.

  • 동적 라우팅 결정을 내립니다.
  • 클라이언트 정보로 요청 헤더를 보강합니다.
  • 클라이언트 위치 또는 TLS 매개변수를 기반으로 커스텀 보안 정책을 구현합니다.
  • 세부적인 커스텀 로그를 생성합니다.

플러그인 및 콜아웃 확장 프로그램의 YAML 구성에서 forwardAttributes 필드를 사용하여 속성을 지정할 수 있습니다. 예를 들어 트래픽 확장 프로그램의 경우 트래픽 확장 프로그램 구성을 참조하세요.

forwardAttributes를 사용하여 속성을 지정하는 것은 승인, Edge, 라우트, 트래픽 확장 프로그램에서 지원됩니다. 다음 제품에서 Wasm 플러그인 또는 콜아웃( ext_proc 프로토콜 사용)을 사용하여 forwardAttributes을(를) 구현할 수 있습니다.

  • 리전 외부 애플리케이션 부하 분산기
  • 리전 내부 애플리케이션 부하 분산기
  • 전역 외부 애플리케이션 부하 분산기
  • 교차 리전 내부 애플리케이션 부하 분산기

다음 표에는 지원되는 속성 및 확장 프로그램이 나와 있습니다.

속성 설명 확장 프로그램
request.origin 교차 출처 리소스 공유 (CORS) 사용 사례에 대한 요청의 원본 헤더 값입니다. 트래픽
request.method `GET` 또는 ` ` `POST`와 같은 HTTP 요청 메서드입니다. 승인, Edge, 라우트, 트래픽
request.mcp_method `GET` 또는 ` ` `POST`와 같은 HTTP 요청 메서드입니다. 승인
request.host request.headers['host']와 동일한 편의 기능입니다. 승인, Edge, 라우트, 트래픽
request.path 요청한 HTTP URL 경로입니다. 승인, Edge, 라우트, 트래픽
request.query HTTP 요청의 첫 번째 행에 표시되는 name1=value&name2=value2, 형식의 HTTP URL 쿼리입니다. 디코딩이 수행되지 않습니다. 승인, Edge, 라우트, 트래픽
request.scheme `HTTP` 또는 ` ` `HTTPS`와 같은 HTTP URL 스키마입니다. 이 속성의 값은 소문자입니다. 승인, Edge, 라우트, 트래픽
request.backend_service_name 요청이 전달될 백엔드 서비스입니다. 승인, 트래픽
request.backend_service_project_number 공유 VPC를 사용하는 경우 요청이 전달될 백엔드 서비스의 프로젝트 번호입니다. 승인, 트래픽
request.mcp_param MCP 매개변수입니다. 승인
request.user_agent_family 클라이언트의 브라우저 유형입니다. User-Agent 헤더 값에서 파생됩니다. 이러한 값은 웹브라우저, 모바일 앱, 자동화된 도구와 같은 수신 HTTP 클라이언트가 표준 HTTP User-Agent 요청 헤더에서 전송하는 원시 텍스트 문자열을 나타냅니다. Edge, 트래픽 (전역 외부 애플리케이션 부하 분산기 및 리전 외부 애플리케이션 부하 분산기만 해당)
request.device_request_type 클라이언트의 기기 유형입니다. 이 속성에 가능한 값은 APPLE, APPLEWEBKIT, BLACKBERRY, DOCOMO, GECKO, GOOGLE, KHTML, KOREAN, MICROSOFT, MSIE, NETFRONT, NOKIA, OBIGO, OPERA, OPENWAVE, OTHER, POLARIS, SEMC, SMIT, TELECA, 또는 USER_DEFINED일 수 있습니다. Edge, 트래픽 (전역 외부 애플리케이션 부하 분산기 및 리전 외부 애플리케이션 부하 분산기만 해당)
response.cdn_cache_id 요청을 처리하는 데 사용되는 캐시 인스턴스의 위치 코드와 ID입니다. 이 값은 Cloud CDN 요청 로그의 jsonPayload.cacheId 필드에 채워진 값과 동일합니다. 트래픽 (전역 외부 애플리케이션 부하 분산기만 해당)
response.cdn_cache_status 요청을 처리하는 데 사용되는 캐시 인스턴스의 현재 상태입니다. 이 속성에 가능한 값은 hit, miss, revalidated, stale, uncacheable, 또는 disabled일 수 있습니다. 트래픽 (전역 외부 애플리케이션 부하 분산기만 해당)
source.ip 클라이언트의 IP 주소입니다. Edge, 라우트, 트래픽
source.port 클라이언트의 소스 포트입니다. Edge, 라우트, 트래픽
source.client_region 클라이언트의 IP 주소와 연결된 국가 또는 리전입니다. 값은 유니코드 CLDR 리전 코드입니다(예: US 또는 FR). 대부분의 국가에서 이 코드는 ISO-3166-2 코드와 바로 대응합니다. Edge, 트래픽 (전역 외부 애플리케이션 부하 분산기 및 리전 외부 애플리케이션 부하 분산기만 해당)
source.client_region_subdivision 클라이언트의 IP 주소와 연결된 국가의 구획입니다 (예: 주 또는 시/도) . 유니코드 CLDR 구획 ID입니다(예: USCA 또는 CAON). 이러한 유니코드 코드는 ISO-3166-2 표준에 정의된 구획에서 파생된 것입니다. Edge, 트래픽 (전역 외부 애플리케이션 부하 분산기만 해당)
source.client_city 요청이 시작된 도시의 이름입니다. 예를 들어 캘리포니아주 마운틴뷰의 경우 Mountain View입니다. 이 변수에 유효한 값의 표준 목록은 없습니다. 도시 이름에는 US-ASCII 문자, 숫자, 공백, 다음 문자가 포함될 수 있습니다. !#$%&'*+-.^_`|~. Edge, 트래픽 (전역 외부 애플리케이션 부하 분산기만 해당)
source.client_city_lat_long 요청이 시작된 도시의 위도와 경도입니다(예: 마운틴뷰에서 요청한 경우 37.386051,-122.083851 ). Edge, 트래픽 (전역 외부 애플리케이션 부하 분산기만 해당)
connection.client_encrypted 클라이언트와 부하 분산기 간의 연결이 암호화된 경우(HTTPS, HTTP/2 또는 HTTP/3 사용) 값은 true이고, 그렇지 않으면 false입니다. 트래픽
connection.client_rtt_msec 부하 분산기와 HTTP(S) 클라이언트 간의 예상 왕복 전송 시간(밀리초)입니다. 이는 부하 분산기의 TCP 스택이 측정하는 평활 왕복 시간 (SRTT) 매개변수 (RFC 2988에 정의됨)입니다. 트래픽 (전역 외부 애플리케이션 부하 분산기만 해당)
connection.client_protocol 클라이언트와 부하 분산기 간의 통신에 사용되는 HTTP 프로토콜입니다. HTTP/1.0, HTTP/1.1,