Cloud Service Mesh의 전달 규칙

이 문서는 부하 분산 API를 사용하는 Cloud Service Mesh에만 적용됩니다. 서비스 라우팅 API를 사용하여 Cloud Service Mesh를 배포하는 것이 좋습니다.

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

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

Cloud Service Mesh 컨트롤 플레인의 경우 내부, 자체 관리, 전역 전달 규칙은 IP 주소, 포트, 프로토콜을 통해 대상 프록시로 트래픽을 라우팅합니다. 대상 프록시는 트래픽의 대상을 결정하는 규칙이 포함된 URL 맵을 가리킵니다. URL 맵은 기본 백엔드 서비스도 지정합니다. 이 백엔드 서비스는 상태 확인을 지정하고 가상 머신 (VM) 인스턴스 또는 Google Kubernetes Engine (GKE) 백엔드 포드가 포함된 네트워크 엔드포인트 그룹 (NEG)을 포함하는 관리형 인스턴스 그룹 (MIG)과 같이 적절한 백엔드를 지정합니다.

다음 다이어그램은 전달 규칙이 Cloud Service Mesh 아키텍처에 어떻게 부합하는지 보여줍니다.

강조 표시된 Cloud Service Mesh 전달 규칙
Cloud Service Mesh 전달 규칙이 강조표시됨(확대하려면 클릭)

전달 규칙 속성

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

전달 규칙의 0.0.0.0 IP 주소는 Cloud Service Mesh를 사용할 때의 옵션 중 하나입니다. 0.0.0.0 IP 주소는 모든 IP 주소를 의미합니다.

  • 프록시 배포를 수행할 때 다른 특정한 일치 항목이 발견되지 않는 경우 0.0.0.0 IP 주소를 사용하면 프록시가 모든 수신 트래픽을 일치시킵니다.

  • 프록시리스 배포를 수행할 때 0.0.0.0 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 또는 모든 1918 주소 중 하나여야 합니다.

Cloud Service Mesh 전달 규칙의 IP 주소는 Virtual Private Cloud(VPC) 네트워크의 서브넷 IP 주소 범위와 일치하지 않아도 됩니다. 지정된 VPC 네트워크, IP 주소, 포트의 경우 내부 자체 관리형 전달 규칙을 하나만 사용할 수 있습니다.

예를 들어 동일한 VPC 네트워크에서 0.0.0.0 IP 주소와 포트 80을 사용하는 전달 규칙을 두 개 만들 수 없습니다.

대상 gRPC 프록시를 사용하는 IPAddress

validateForProxyless 필드가 TRUE로 설정되고 IP 주소가 0.0.0.0으로 설정된 대상 gRPC 프록시를 참조하는 전달 규칙.

xds 스키마를 사용하는 gRPC 클라이언트는 채널 URI의 호스트 이름을 확인하기 위해 DNS 조회를 수행하지 않습니다. 대신 이러한 클라이언트는 Cloud Service Mesh로 리스너 검색 서비스(LDS) 요청을 전송하여 대상 URI의 hostname[:port]를 확인합니다. DNS 조회는 포함되지 않으며 호스트 이름에 대한 DNS 항목이 필요하지 않습니다.

따라서 Cloud Service Mesh는 URI에 지정된 0.0.0.0 IP 주소와 포트(기본 80)를 사용하여 전달 규칙을 찾습니다. 그런 다음 Cloud Service Mesh는 전달 규칙에서 참조하는 대상 프록시의 URL 맵에서 일치하는 호스트 규칙을 찾습니다.

target

이 전달 규칙이 트래픽을 전달하는 대상 프록시입니다. Cloud Service Mesh는 target-http-proxy, target-https-proxy, target-grpc-proxy를 지원합니다.

Google Cloud 콘솔을 사용하여 전달 규칙을 구성하면 대상 프록시가 자동으로 구성됩니다. Google Cloud CLI 또는 API를 사용할 때는 전달 규칙을 만들기 전 대상 프록시가 존재해야 합니다. 지정된 프록시를 통해 두 개 이상의 전달 규칙을 사용할 수 있습니다.

IPProtocol 이 전달 규칙과 일치하는 프로토콜 유형입니다. 지원되는 유일한 값은 TCP입니다.
loadBalancingScheme 전달 규칙이 사용되는 방법을 지정합니다. Cloud Service Mesh의 유효한 값은 INTERNAL_SELF_MANAGED입니다.
portRange

대시로 연결된 포트 또는 포트 범위입니다.

이러한 포트로 전송되는 지정된 프로토콜의 패킷은 적절한 백엔드로 전달됩니다. 범위의 단일 번호를 지정할 수 있습니다(예: 80 또는 80-8080).

지정된 VPC 네트워크, IP 주소, 포트의 경우 내부 자체 관리형 전달 규칙을 하나만 사용할 수 있습니다. 예를 들어 동일한 VPC 네트워크에서 0.0.0.0 IP 주소와 포트 80을 사용하는 전달 규칙을 두 개 만들 수 없습니다.

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

network

Envoy 프록시를 실행하는 Google Cloud VM이 있는 VPC 네트워크를 지정합니다.

Envoy 프록시는 프록시가 배포된 동일 네트워크에 대해 사용자가 정의한 Cloud Service Mesh 구성을 읽습니다. 이름이 default인 VPC 네트워크 또는 커스텀 네트워크를 사용할 수 있습니다.

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

전역 전달 규칙 추가

부하 분산 API를 사용하여 전체 Cloud Service Mesh 설정 내에 전달 규칙을 구성하는 방법을 알아보려면 다음을 참조하세요.

다음 단계