Envoy의 Traffic Director 제한사항

이 문서에서는 고급 트래픽 관리 제한사항을 포함하여 Traffic Director에 적용되는 제한사항을 설명합니다. 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.

일반 제한

Traffic Director의 제한사항은 다음과 같습니다.

  • Traffic Director는 Google Cloud API만 지원합니다. Traffic Director는 Istio API를 지원하지 않습니다.
  • Traffic Director를 사용해 HTTP(HTTP/1.1 또는 HTTP/2), HTTPS, TCP, gRPC의 요청 프로토콜을 구성할 수 있습니다.
  • Envoy를 데이터 영역 프록시로 사용하는 경우 stream_idle_timeout의 기본값은 5분입니다. Traffic Director를 통해 구성할 수 없습니다.
  • 대상 TCP 프록시 리소스를 사용하여 TCP 요청 프로토콜을 구성하는 경우 고급 트래픽 관리 기능을 사용할 수 없습니다. 고급 트래픽 관리는 HTTP 또는 gRPC 요청을 처리하도록 데이터 영역을 구성하는 경우에만 사용할 수 있습니다.
  • Traffic Director는 공유 VPC를 지원합니다. 다음에 유의하세요.

    • 부하 분산 API에서 전달 규칙과 관련 대상 프록시, URL 맵, 백엔드 서비스, 백엔드는 호스트 또는 서비스 프로젝트일 수 있는 단일 프로젝트에 있어야 합니다. 여러 서비스 프로젝트가 있는 경우 각 서비스 프로젝트에는 이러한 리소스 집합이 있을 수 있습니다.
    • 부하 분산 API에서 기본적으로 공유 VPC 네트워크를 참조하는 전달 규칙은 이러한 프록시가 bootstrap/sidecar.env 파일에 공유 VPC 네트워크를 지정하는 한 호스트 프로젝트에 연결된 호스트 및 서비스 프로젝트의 모든 Envoy 프록시에 공지됩니다. 이 동작을 조정하려면 구성 필터링을 사용합니다.
    • 공유 VPC 네트워크와 연결된 부하 분산 스키마 INTERNAL_SELF_MANAGED가 있는 전달 규칙이 1개 이상 있는 프로젝트의 서비스 계정에서만 Traffic Director에 액세스할 수 있습니다.
  • Traffic Director는 서비스 라우팅 API를 사용하여 VPC 네트워크 피어링을 지원하지만 부하 분산 API는 지원하지 않습니다.

  • Traffic Director는 서버 우선 프로토콜을 지원하지 않습니다.

  • Knative 또는 Google Cloud 서버리스 컴퓨팅에서 실행되는 서비스에는 Traffic Director를 사용할 수 없습니다.

  • 이 문서에서는 Envoy 프록시에 대해 설명하지만, Traffic Director에 모든 공개 표준 API (xDS) 프록시를 사용할 수 있습니다. 그러나 Google은 Envoy 프록시로만 Traffic Director를 테스트했습니다.

  • Traffic Director를 사용하려면 Envoy 버전 1.9.1 이상을 사용합니다.

  • 정규 표현식을 사용하려면 Envoy 버전 1.12.0 이상을 사용합니다. 1.12.0 이전의 Envoy 버전은 정규 표현식을 지원하지 않습니다.

  • 모든 알려진 보안 취약점을 해결하기 위해서는 최신 Envoy 버전을 사용하는 것이 좋습니다. Envoy 보안 자문에 대한 자세한 내용은 Envoy 보안 자문을 참조하세요.

  • Google Cloud Console은 하이브리드 연결 네트워크 엔드포인트 그룹(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 설정 없이 리소스 자체를 삭제하고 다시 만들 수 있습니다.
  • 전달 규칙 가져오기는 제대로 작동하지 않습니다. 내보낸 YAML 파일은 다시 가져올 수 없습니다. 해결 방법은 구성 파일을 내보내고, 변경하고, 전달 규칙을 삭제하고, 구성 파일을 가져오는 것입니다.

서비스 디렉터리 제한사항

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

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

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

상태 점검

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

다음 단계