Traffic Director의 전달 규칙 사용

Traffic Director는 전달 규칙을 사용하여 메시의 트래픽이 라우팅되는 대상 프록시를 결정합니다.

각 전달 규칙은 서비스에 단일 전역 IPv4 주소를 제공합니다. 이 주소를 사용하여 서비스의 내부 DNS 레코드를 만들 수 있습니다(예시: Cloud DNS 관리형 비공개 영역 사용). 전달 규칙의 메타데이터 필터는 xDS 호환 사이드카 프록시가 구성을 수신하는 기준을 지정합니다.

Traffic Director 제어 영역의 경우 내부, 자체 관리, 글로벌 전달 규칙은 IP 주소, 포트, 프로토콜을 통해 대상 프록시로 트래픽을 라우팅하며, 대상 프록시는 트래픽의 대상을 결정하는 규칙을 포함하는 URL 맵을 가리킵니다. URL 맵은 또한 상태 확인을 지정하고 가상 머신 인스턴스가 포함된 관리형 인스턴스 그룹이나 GKE 백엔드 pod를 포함하는 네트워크 엔드포인트 그룹과 같이 적절한 백엔드를 결정하는 기본 백엔드 서비스를 지정합니다.

Traffic Director 전달 규칙 강조표시됨(확대하려면 클릭)
Traffic Director 전달 규칙이 강조표시됨(확대하려면 클릭)

다이어그램을 통해 전달 규칙이 Traffic Director 아키텍처에 적용되는 방법을 보여줍니다.

전달 규칙 속성

전달 규칙 리소스에는 Traffic Director에 적용되는 다음 속성이 포함됩니다. 대상 IP 주소, 프로토콜, 포트 번호와 일치하는 트래픽은 전달 규칙에 의해 처리됩니다.

전달 규칙의 0.0.0.0 IP 주소는 Traffic Director가 사용하는 옵션 중 하나입니다. 0.0.0.0 IP 주소는 모든 IP 주소를 의미합니다.

  • 프록시 배포에서 다른 특정한 일치 항목이 발견되지 않는 경우 프록시가 모든 수신 트래픽을 일치시킵니다.
  • 프록시리스 배포에서는 IP 주소가 필요 없음을 지정하는 방법을 제공합니다. 아래에서 대상 gRPC 프록시를 사용하는 0.0.0.0 IP 주소에 대해 자세히 알아볼 수 있습니다.
name
[필수] 전달 규칙의 이름입니다. 이름은 이 프로젝트 내에서 고유한 이름으로서 1~63자여야 하며 정규 표현식 [a-z]([-a-z0-9]*[a-z0-9])?와 일치해야 합니다. 다시 말해 첫 문자는 소문자이고 그 다음에 오는 모든 문자는 대시, 소문자, 숫자여야 합니다. 단, 마지막 문자에는 대시를 사용할 수 없습니다.
IPAddress
[필수] 0.0.0.0, 127.0.0.1 또는 RFC 1918 주소 중 하나여야 합니다. Traffic Director 전달 규칙의 IP 주소는 VPC 네트워크의 서브넷 IP 주소 범위와 일치하지 않아도 됩니다. 지정된 VPC 네트워크, IP 주소, 포트의 경우 자체 관리형 전달 규칙을 하나만 사용할 수 있습니다. 예를 들어 동일한 VPC 네트워크에서 0.0.0.0 IP 주소와 포트 80을 사용하는 전달 규칙 2개를 만들 수 없습니다.
대상 gRPC 프록시를 사용하는 IPAddress
validateForProxyless 필드가 TRUE로 설정된 대상 gRPC 프록시를 참조하는 전달 규칙의 IP 주소는 0.0.0.0으로 설정되어야 합니다. xds 스키마를 사용하는 gRPC 클라이언트는 채널 URI의 호스트 이름을 확인하기 위해 DNS 조회를 수행하지 않습니다. 대신 이러한 클라이언트는 Traffic Director에 LDS 요청을 전송하여 대상 URI의 hostname[:port]를 확인합니다. DNS 조회가 사용되지 않으며 호스트 이름에 대한 DNS 항목이 필요하지 않습니다. 따라서 Traffic Director가 URI에서 지정된 0.0.0.0 IP 주소와 포트(기본값 80)를 사용하여 전달 규칙을 조회합니다. 그런 다음 Traffic Director는 전달 규칙에서 참조하는 대상 프록시의 URL 맵에서 일치하는 호스트 규칙을 찾습니다.
target
[필수] 이 전달 규칙이 트래픽을 전달하는 대상 프록시입니다. Traffic Director는 target-http-proxy만 지원합니다. GCP Console을 사용하여 전달 규칙을 구성하면 대상 프록시가 자동으로 구성됩니다. gcloud 또는 API를 사용하는 경우 대상 프록시가 있어야 전달 규칙을 만들 수 있습니다. 지정된 프록시를 통해 2개 이상의 전달 규칙을 사용할 수 있습니다.
IPProtocol
[필수] 이 전달 규칙과 일치하는 프로토콜 유형입니다. 지원되는 유일한 값은 TCP입니다.
loadBalancingScheme
[필수] 전달 규칙이 사용되는 방법을 지정합니다. Traffic Director의 유효한 값은 INTERNAL_SELF_MANAGED입니다.
portRange

[필수] 대시로 연결된 포트 또는 포트 범위입니다. 이러한 포트로 전송되는 지정된 프로토콜의 패킷은 적절한 백엔드로 전달됩니다. 범위의 단일 포트 번호를 지정할 수 있습니다. 예를 들면 80 또는 80-8080입니다. 지정된 VPC 네트워크, IP 주소, 포트의 경우 자체 관리형 전달 규칙을 하나만 사용할 수 있습니다. 예를 들어 동일한 VPC 네트워크에서 0.0.0.0 IP 주소와 포트 80을 사용하는 전달 규칙 2개를 만들 수 없습니다.

프록시리스 gRPC 서비스를 사용하면 전달 규칙의 포트가 gRPC 애플리케이션에서 서비스에 연결하는 데 사용하는 URI에서 지정된 포트와 일치합니다. URI에 포트가 지정되지 않은 경우 기본 포트는 80입니다.

network

[필수] Envoy 프록시를 실행하는 Google Cloud VM이 위치한 VPC를 지정합니다. Envoy 프록시는 프록시가 배포된 동일 네트워크에 대해 정의한 Traffic Director 구성을 읽습니다. 이름이 default인 VPC 네트워크 또는 커스텀 네트워크를 사용할 수 있습니다.

Traffic Director는 Google Cloud 네트워크 내에서만 클라이언트의 부하 분산을 지원하며 전달 규칙에서 네트워크 이름을 지정합니다. VPC 피어링은 지원되지 않습니다.

글로벌 전달 규칙 추가

전체 Traffic Director 설정 내에서 전달 규칙을 구성하는 방법은 다음을 참조하세요.

다음 단계