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) 백엔드 Pod가 포함된 네트워크 엔드포인트 그룹 (NEG)을 포함하는 관리형 인스턴스 그룹 (MIG)과 같이 적절한 백엔드를 지정합니다.
다음 다이어그램은 전달 규칙이 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자여야 하며 정규 표현식 첫 번째 문자는 소문자여야 하고, 그 다음 문자는 모두 대시, 소문자, 숫자여야 합니다. 단, 마지막 문자에는 대시를 사용할 수 없습니다. |
IPAddress |
✔ | 다음과 같이 Cloud Service Mesh 전달 규칙의 IP 주소는 Virtual Private Cloud(VPC) 네트워크의 서브넷 IP 주소 범위와 일치하지 않아도 됩니다. 지정된 VPC 네트워크, IP 주소, 포트의 경우 내부 자체 관리형 전달 규칙을 하나만 사용할 수 있습니다. 예를 들어 동일한 VPC 네트워크에서 |
대상 gRPC 프록시를 사용하는 IPAddress |
따라서 Cloud Service Mesh는 URI에 지정된 |
|
target |
✔ |
이 전달 규칙이 트래픽을 전달하는 대상 프록시입니다.
Cloud Service Mesh는 Google Cloud Console을 사용하여 전달 규칙을 구성하면 대상 프록시가 자동으로 구성됩니다. Google Cloud CLI 또는 API를 사용할 때는 전달 규칙을 만들기 전 대상 프록시가 존재해야 합니다. 지정된 프록시를 통해 두 개 이상의 전달 규칙을 사용할 수 있습니다. |
IPProtocol |
✔ | 이 전달 규칙과 일치하는 프로토콜 유형입니다. 지원되는 유일한 값은 TCP 입니다. |
loadBalancingScheme |
✔ | 전달 규칙이 사용되는 방법을 지정합니다. Cloud Service Mesh의 유효한 값은 INTERNAL_SELF_MANAGED 입니다. |
portRange |
✔ |
대시로 연결된 포트 또는 포트 범위입니다. 이러한 포트로 전송되는 지정된 프로토콜의 패킷은 적절한 백엔드로 전달됩니다.
범위의 단일 번호를 지정할 수 있습니다(예: 지정된 VPC 네트워크, IP 주소, 포트의 경우 내부 자체 관리형 전달 규칙을 하나만 사용할 수 있습니다. 예를 들어 동일한 VPC 네트워크에서 프록시리스 gRPC 서비스를 사용하면 전달 규칙의 포트가 gRPC 애플리케이션에서 서비스에 연결하는 데 사용하는 URI에서 지정된 포트와 일치합니다. URI에 포트가 지정되지 않은 경우 기본 포트는 |
network |
✔ |
Envoy 프록시를 실행하는 Google Cloud VM이 있는 VPC 네트워크를 지정합니다. Envoy 프록시는 프록시가 배포된 동일 네트워크에 대해 사용자가 정의한 Cloud Service Mesh 구성을 읽습니다. 이름이 Cloud Service Mesh는 Google Cloud 네트워크 내에서만 클라이언트에 대한 부하 분산을 지원합니다. 전달 규칙에 네트워크 이름을 지정합니다. VPC 네트워크는 지원되지 않습니다. |
전역 전달 규칙 추가
부하 분산 API를 사용하여 전체 Cloud Service Mesh 설정 내에 전달 규칙을 구성하는 방법을 알아보려면 다음을 참조하세요.
- 자동 Envoy 배포를 사용하여 Compute Engine VM용 Cloud Service Mesh 설정
- 수동 Envoy 배포를 사용하여 Compute Engine VM용 Cloud Service Mesh 설정
- 자동 Envoy 삽입으로 GKE 포드용 Cloud Service Mesh 설정
- 수동 Envoy 삽입으로 GKE 포드용 Cloud Service Mesh 설정
- Compute Engine VM 및 프록시리스 gRPC 서비스용 Cloud Service Mesh 설정
- GKE 포드 및 프록시리스 gRPC 서비스용 Cloud Service Mesh 설정
다음 단계
- 메타데이터 필터를 사용하여 전달 규칙에 연결된 구성을 수신하는 사이드카 프록시를 제어하려면
MetadataFilter
일치를 기반으로 구성 필터링 설정을 참조하세요. - 트래픽을 라우팅하려면 Cloud Service Mesh 라우팅 규칙 맵 개요를 참고하세요.
- Cloud Service Mesh에 대한 자세한 내용은 Cloud Service Mesh 개요를 참조하세요.