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을 만들면 이러한 문제가 발생하지 않습니다.
- Google Cloud 콘솔을 사용하여 가상 머신(VM) 인스턴스를 만드는 경우 다시 시작하기 전에는 일부
고급 트래픽 관리 제한사항
고급 트래픽 관리 제한사항은 다음과 같습니다.
BackendService.sessionAffinity
값이 NONE이 아니며BackendService.localityLbPolicy
가MAGLEV
또는RING_HASH
외의 부하 분산 정책으로 설정된 경우 세션 어피니티 설정이 적용되지 않습니다.gcloud import
명령어는 백엔드 서비스 및 URL 맵과 같은 리소스의 최상위 레벨 필드를 삭제하지 않습니다. 예를 들어 백엔드 서비스가circuitBreakers
설정으로 생성된 경우 후속gcloud import
명령어를 사용해서 해당 설정을 업데이트할 수 있습니다. 하지만 백엔드 서비스에서 이러한 설정을 삭제할 수 없습니다.circuitBreakers
설정 없이 리소스 자체를 삭제하고 다시 만들 수 있습니다.- 전달 규칙 가져오기는 제대로 작동하지 않습니다. 내보낸 YAML 파일은 다시 가져올 수 없습니다. 해결 방법은 구성 파일을 내보내고, 변경하고, 전달 규칙을 삭제하고, 구성 파일을 가져오는 것입니다.
서비스 디렉터리 제한사항
- 서비스 디렉터리와 Traffic Director는 클라이언트의 네트워크 도달성을 보장하지 않습니다.
백엔드 서비스는 다음 중 하나만 참조할 수 있습니다.
- 관리형 인스턴스 그룹 또는 비관리형 인스턴스 그룹
- 네트워크 엔드포인트 그룹
- 서비스 결합
서비스 디렉터리 서비스는
load-balancing-scheme=INTERNAL_SELF_MANAGED
가 있는 전역 백엔드 서비스에서만 사용할 수 있습니다.서비스 결합에서 참조되는 서비스 디렉터리 서비스는 삭제할 수 있습니다. 백엔드 서비스가 연결된 기본 서비스 디렉터리 서비스가 삭제되면 Traffic Director를 사용하는 애플리케이션이 이 서비스에 트래픽을 전송할 수 없으므로, 요청이 실패합니다. 권장사항은 관측 가능성 및 디버깅을 참조하세요.
상태 점검
서비스 디렉터리 서비스를 백엔드 서비스에 바인딩할 때 백엔드 서비스에 상태 점검을 구성할 수 없습니다.
다음 단계
- 프록시리스 gRPC 애플리케이션을 사용한 Traffic Director에 적용되는 제한사항을 알아보려면 프록시리스 gRPC 제한사항을 참조하세요.
- Traffic Director에 대한 자세한 내용은 Traffic Director 개요를 참조하세요.