Envoy를 사용하는 Cloud Service Mesh 제한사항

이 문서에서는 고급 트래픽 관리 제한사항을 포함하여 Google Cloud APIs를 사용하는 Cloud Service Mesh에 적용되는 제한사항을 설명합니다. Istio API가 포함된 Cloud Service Mesh에는 적용되지 않습니다.

한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.

일반 제한

Cloud Service Mesh의 제한사항은 다음과 같습니다.

  • 서비스 라우팅 API가 포함된 Cloud Service Mesh는 Google Cloud API만 지원합니다.
  • Cloud Service Mesh를 사용하여 HTTP(HTTP/1.1 또는 HTTP/2), HTTPS, TCP, gRPC 요청 프로토콜을 구성할 수 있습니다.
  • Envoy를 데이터 영역 프록시로 사용하는 경우 stream_idle_timeout은 기본적으로 5분으로 설정됩니다. Cloud Service Mesh를 통해 구성할 수는 없습니다.
  • TCPRoute 리소스를 사용하여 TCP 요청 프로토콜을 구성하는 경우 고급 트래픽 관리 기능을 사용할 수 없습니다. 고급 트래픽 관리는 HTTP 또는 gRPC 요청을 처리하도록 데이터 영역을 구성하는 경우에만 사용할 수 있습니다.
  • Cloud Service Mesh는 서비스 라우팅 API를 사용하여 VPC 네트워크 피어링을 지원합니다.
  • Cloud Service Mesh는 서버 우선 프로토콜을 지원하지 않습니다.
  • Knative 또는 Google Cloud 서버리스 컴퓨팅에서 실행되는 서비스에는 Cloud Service Mesh를 사용할 수 없습니다.
  • 이 문서에서는 Envoy 프록시에 대해 설명하지만, Cloud Service Mesh에 모든 공개 표준 API(xDS) 프록시를 사용할 수 있습니다. 그러나 Google은 Envoy 프록시로만 Cloud Service Mesh를 테스트했습니다.
  • 모든 알려진 보안 취약점을 해결하기 위해서는 최신 Envoy 버전을 사용하는 것이 좋습니다. Envoy 보안 자문에 대한 자세한 내용은 Envoy 보안 자문을 참조하세요.
  • Google Cloud 콘솔은 하이브리드 연결 네트워크 엔드포인트 그룹(NEG)을 지원하지 않습니다. 하이브리드 연결 NEG를 만들거나 삭제하려면 Google Cloud CLI를 사용합니다.
  • 데이터 영역에서 상태 점검을 처리하므로 Google Cloud 콘솔, API 또는 gcloud CLI를 사용하여 상태 점검 상태를 가져올 수 없습니다.
  • iptables를 확인하고 올바르게 설정되었는지 확인합니다. iptables를 구성하는 방법에 대한 자세한 내용은 HTTP 필터링 구성에 대한 Envoy의 참고사항을 참조하세요.

    • Google Cloud 콘솔을 사용하여 가상 머신(VM) 인스턴스를 만드는 경우 다시 시작하기 전에는 일부 ipv6 관련 모듈이 설치 및 제공되지 않습니다. 따라서 누락된 종속 항목으로 인해 iptables.sh가 실패합니다. 이러한 경우에는 VM을 다시 시작하고 run.sh 스크립트를 다시 실행합니다.
    • gcloud CLI를 사용하여 Compute Engine VM을 만들면 이러한 문제가 발생하지 않습니다.

고급 트래픽 관리 제한사항

고급 트래픽 관리 제한사항은 다음과 같습니다.

  • BackendService.sessionAffinity 값이 NONE이 아니며 BackendService.localityLbPolicyMAGLEV 또는 RING_HASH가 아닌 부하 분산 정책으로 설정된 경우 세션 어피니티 설정이 적용되지 않습니다.
  • gcloud import 명령어는 백엔드 서비스 및 URL 맵과 같은 리소스의 최상위 레벨 필드를 삭제하지 않습니다. 예를 들어 백엔드 서비스가 circuitBreakers 설정으로 생성된 경우 후속 gcloud import 명령어를 사용해서 해당 설정을 업데이트할 수 있습니다. 하지만 백엔드 서비스에서 이러한 설정을 삭제할 수 없습니다. circuitBreakers 설정 없이 리소스 자체를 삭제하고 다시 만들 수 있습니다.

서비스 디렉터리 제한사항

  • 서비스 디렉터리 및 Cloud Service Mesh는 클라이언트의 네트워크 도달성을 보장하지 않습니다.
  • 백엔드 서비스는 다음 중 하나만 참조할 수 있습니다.

    • 관리형 인스턴스 그룹 또는 비관리형 인스턴스 그룹
    • 네트워크 엔드포인트 그룹
    • 서비스 결합
  • 서비스 디렉터리 서비스는 load-balancing-scheme=INTERNAL_SELF_MANAGED가 있는 전역 백엔드 서비스에서만 사용할 수 있습니다.

  • 서비스 결합에서 참조되는 서비스 디렉터리 서비스는 삭제할 수 있습니다. 백엔드 서비스가 연결된 기본 서비스 디렉터리 서비스가 삭제되면 Cloud Service Mesh를 사용하는 애플리케이션이 이 서비스에 트래픽을 전송할 수 없으므로, 요청이 실패합니다. 권장사항은 관측 가능성 및 디버깅을 참조하세요.

  • 서비스 디렉터리 서비스를 백엔드 서비스에 바인딩할 때 백엔드 서비스에 상태 점검을 구성할 수 없습니다.

다음 단계

  • 프록시리스 gRPC 애플리케이션을 사용하는 Cloud Service Mesh에 적용되는 제한사항을 알아보려면 프록시리스 gRPC 제한사항을 참조하세요.