Traffic Director의 대상 프록시

Traffic Director를 구성할 때 구성하는 리소스 중 하나는 대상 프록시입니다.

Traffic Director와 관련한 대상 프록시의 2가지 주요 용도는 다음과 같습니다.

  1. 구체적인 유형이 있습니다. 이 유형은 Traffic Director 클라이언트가 서비스와 연결된 백엔드 또는 엔드포인트에 대한 연결을 열 때 어떤 프로토콜을 사용할지 알 수 있도록 사용됩니다.

  2. 다른 리소스 (예: 전달 규칙 및 URL 맵)와 결합하여 라우팅 규칙 맵을 만듭니다. 라우팅 규칙 맵은 대상 프록시 유형에 따라 추가 기능(예: 라우팅 규칙)을 제공합니다. 잘못된 선택은 일반적으로 사용자 인터페이스에 숨겨져 있거나 API에서 거부됩니다.

대상 TCP 프록시는 gcloud 또는 API를 사용해서만 구성할 수 있습니다.

대상 프록시 유형이 다른 요청 프로토콜에 해당합니다.

Traffic Director는 개발자가 구성하는 대상 프록시 유형에 따라 클라이언트에 대해 서로 다른 구성을 생성합니다. 다른 대상 프록시 유형을 구성하면 클라이언트는 특정 요청 프로토콜을 사용합니다.

  • 대상 HTTPS 프록시: Traffic Director의 클라이언트가 HTTPS 연결을 시작합니다.
  • 대상 HTTP 프록시: Traffic Director의 클라이언트가 HTTP 연결을 시작합니다.
  • 대상 gRPC 프록시: Traffic Director의 클라이언트가 gRPC 연결을 시작합니다.
  • 대상 TCP 프록시: Traffic Director의 클라이언트가 TCP 연결을 시작합니다.

한 가지 유형만 선택할 필요는 없습니다. 예를 들어 애플리케이션은 일부 서비스의 주소를 지정할 때 HTTP를 사용하지만 다른 서비스를 지정할 때는 TCP를 사용할 수 있습니다. 이러한 사용 사례의 경우 대상 HTTP 프록시와 대상 TCP 프록시를 모두 만들어야 합니다.

라우팅 규칙 맵에 유효한 리소스 조합

잘못된 구성을 방지하기 위해 Traffic Director에서는 다음과 같은 라우팅 규칙 맵만 만들 수 있습니다.

  • 전달 규칙 -> 전역 대상 HTTPS 프록시 -> URL 맵 -> 하나 이상의 백엔드 서비스
  • 전달 규칙 -> 전역 대상 HTTP 프록시 -> URL 맵 -> 하나 이상의 백엔드 서비스
  • 전달 규칙 -> 전역 대상 gRPC 프록시 -> URL 맵 -> 하나 이상의 백엔드 서비스
  • 전달 규칙 -> 전역 대상 TCP 프록시 -> 하나의 백엔드 서비스

상태 확인 및 백엔드는 위에 표시되지 않습니다.

Cloud Console을 사용하여 대상 HTTP 프록시를 설정하는 경우 대상 프록시는 라우팅 규칙 맵 구성의 일부로 암시적으로 설정됩니다. Cloud Console에서는 아직 TCP 프록시 설정이 지원되지 않습니다.

gcloud 명령줄 인터페이스 또는 API를 사용하는 경우 대상 프록시를 명시적으로 구성해야 합니다.

대상 HTTP 또는 대상 HTTPS 프록시를 사용할 때의 트래픽 처리

HTTP 또는 HTTPS 기반 서비스를 구성하면 각 서비스 인스턴스는 일반적으로 Envoy 프록시를 함께 배포합니다. 이 Envoy 프록시는 Traffic Director에서 구성됩니다. 서비스 메시 데이터 영역의 일부이며 다음과 같이 트래픽을 처리합니다.

Envoy 프록시는 아웃바운드 요청을 수신하고 대상 HTTP 또는 HTTP 프록시를 참조하는 각 전달 규칙에 구성된 IP 및 포트와 요청의 대상 IP 및 포트를 비교합니다. 일치가 발견되면 Envoy 프록시는 대상 프록시의 해당 URL 맵에 따라 요청을 평가합니다.

대상 TCP 프록시 사용 시 트래픽 처리

TCP 기반 서비스를 구성하면 각 서비스 인스턴스는 일반적으로 Envoy 프록시를 함께 배포합니다. 이 Envoy 프록시는 Traffic Director에서 구성됩니다. 서비스 메시 데이터 영역의 일부이며 다음과 같이 트래픽을 처리합니다.

Envoy 프록시는 아웃바운드 요청을 수신하고 대상 TCP 프록시를 참조하는 각 전달 규칙에 구성된 IP 및 포트와 요청 대상 IP 및 포트를 비교합니다. 각 전달 규칙은 상태 확인을 지정하고 적절한 백엔드를 결정하는 기본 백엔드 서비스를 가리키는 대상 프록시로 TCP 트래픽을 라우팅합니다.

대상 gRPC 프록시 사용 시 트래픽 처리

gRPC 기반 서비스를 구성하면 서비스 인스턴스는 일반적으로 Envoy 프록시를 함께 배포하지 않습니다. 대신 gRPC 라이브러리는 Traffic Director에서 구성됩니다. 라이브러리는 서비스 메시 데이터 영역의 일부이며 다음과 같이 트래픽을 처리합니다.

gRPC 라이브러리는 URI에 지정된 hostname[:port]와 대상 gRPC 프록시가 참조하는 모든 URL 맵의 호스트 규칙을 비교합니다. 일치하는 항목이 발견되면 gRPC 라이브러리는 일치하는 호스트 규칙과 연결된 경로 규칙에 따라 요청을 평가합니다.

대상 프록시 리소스

대상 프록시에 대한 정보를 추가, 삭제, 나열, 가져오기 위해 REST API 또는 gcloud SDK를 사용할 수 있습니다.

그러나 다음 gcloud 명령어를 사용하여 대상 프록시의 정보를 가져올 수 있습니다.

gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies ] list
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies ] describe target-proxy-name

API

REST API를 통해 대상 프록시로 작업할 때 사용할 수 있는 속성 및 메서드에 대한 설명은 다음 페이지를 참조하세요.

Traffic Director에는 TargetHttpsProxies, TargetHttpProxies, TargetTcpProxies, TargetGrpcProxies 리소스만 지원됩니다.

gcloud SDK

gcloud 명령줄 도구에 대해서는 다음 페이지를 참조하세요.

다음 단계

Traffic Director 배포에 대한 자세한 내용은 Traffic Director 배포 문서 가이드를 참조하세요.