서비스 확장 프로그램 개요

서비스 확장 프로그램을 사용하면 Cloud Load Balancing, Media CDN과 같은 Google Cloud 제품의 사용자가 데이터 경로에 직접 맞춤 코드를 삽입할 수 있습니다. 이를 통해 비즈니스 요구사항에 맞게 이러한 제품의 동작을 맞춤설정할 수 있습니다. 이 페이지에서는 서비스 확장 프로그램에 대해 간략하게 설명합니다.

확장 프로그램 유형

Cloud Load Balancing, Media CDN과 같은 네트워킹 제품의 데이터 경로는 데이터 처리 단계의 파이프라인으로 시각화할 수 있습니다. 서비스 확장 프로그램을 사용하면 이러한 단계 중 하나 이상에 커스텀 로직을 삽입할 수 있습니다.

Service Extensions는 플러그인과 콜아웃이라는 두 가지 방법으로 커스텀 로직을 삽입할 수 있습니다.

플러그인

플러그인을 사용하면 네트워킹 데이터 경로에 커스텀 코드를 인라인으로 삽입할 수 있습니다. WebAssembly (Wasm)Proxy-Wasm ABI를 사용하여 이러한 플러그인을 빌드합니다.

플러그인은 서버리스 인프라와 유사한 Google 관리 샌드박스 인프라에서 Wasm 모듈로 실행됩니다. 플러그인은 Google 관리형 컴퓨팅에서 실행됩니다. 기능이 제한되어 있고 엄격한 런타임 요구사항이 있습니다. 이러한 플러그인은 데이터 영역에 가까이 실행되며 지연 시간 최적화가 관리됩니다. 다음 그림은 플러그인의 작동 방식을 보여줍니다.

플러그인에는 맞춤 로직이 인라인으로 포함됩니다.
플러그인에는 맞춤 로직이 인라인으로 포함됩니다 (확대하려면 클릭).

플러그인에 대한 자세한 내용은 플러그인 개요를 참고하세요.

콜아웃

콜아웃을 사용하면 데이터 처리 중에 Cloud Load Balancing을 사용하여 Google 서비스 및 사용자 관리 서비스에 Envoy gRPC 호출을 할 수 있습니다.

콜아웃은 사용자 관리형 컴퓨팅 VM, GKE Multi-Cloud의 Google Kubernetes Engine (GKE) 포드 또는 온프레미스 환경에서 범용 gRPC 서버로 실행됩니다. 다음 그림은 서비스 호출이 작동하는 방식을 보여줍니다.

콜아웃에는 서비스의 맞춤 로직이 포함됩니다.
콜아웃에는 서비스의 맞춤 로직이 포함됩니다(확대하려면 클릭).

콜아웃에는 런타임 제한이 없으며 필요한 경우 기존 소프트웨어를 재사용할 수 있습니다. 콜아웃을 사용하면 특정 워크로드의 고유한 요구사항을 충족하도록 맞춤설정할 수 있는 완전 관리형 서비스의 이점을 누릴 수 있습니다. 콜아웃 서비스의 확장성과 가용성만 확인하면 됩니다.

콜아웃에 대한 자세한 내용은 Cloud Load Balancing 콜아웃 개요를 참고하세요.

Cloud Load Balancing 확장 프로그램

Cloud Load Balancing용 서비스 확장 프로그램을 사용하면 사용자가 지원되는 애플리케이션 부하 분산기의 부하 분산 요청 및 응답 처리 경로에 다양한 맞춤설정을 추가할 수 있습니다.

자세한 내용은 Cloud Load Balancing 확장 프로그램 개요를 참고하세요.

플러그인

Service Extensions를 사용하면 Cloud Load Balancing 처리 경로에 사전 게시된 플러그인을 추가하여 맞춤 요구사항에 사용할 수 있습니다.

다음 샘플 시나리오에서 Cloud Load Balancing과 함께 플러그인을 사용하세요.

예외 처리
특정 응답 클래스에 대해 클라이언트를 커스텀 오류 페이지로 리디렉션합니다.
커스텀 로깅
사용자 정의 헤더나 커스텀 데이터를 Cloud Logging에 로깅합니다.
헤더 추가
애플리케이션 또는 특정 고객과 관련된 새 헤더를 만듭니다.
요청 및 응답에 새 헤더를 삽입합니다.
헤더 조작
기존 요청 및 응답 헤더를 재작성하거나 백엔드로 전달되는 과정이나 클라이언트에게 응답하는 중에 클라이언트 헤더를 재정의합니다.
보안
클라이언트 요청 또는 응답 헤더에 따라 맞춤 보안 정책을 작성하고 플러그인 내에서 시행 결정을 내립니다.
스크립트 삽입
Google reCAPTCHA 통합이나 Google 애널리틱스 태그 지정을 위해 원본에서 HTML을 재작성합니다.
Cloud CDN에 영향 주기
HTTP 요청 특성을 조작하여 맞춤 캐싱 동적 특성에 영향을 주고 Cloud CDN 캐시에서 제공되는 콘텐츠를 결정합니다.
라우팅
HTTP 요청을 재작성하여 백엔드 서비스 선택에 영향을 미쳐 에지에서 더 고급 라우팅 결정을 내릴 수 있습니다.

사용자 관리 서비스에 대한 호출

Service Extensions를 사용하면 지원되는 애플리케이션 부하 분산기가 데이터 처리 경로에서 사용자가 관리하는 백엔드 서비스로 콜아웃을 보낼 수 있습니다.

다음과 같은 경우 Cloud Load Balancing과 함께 콜아웃을 사용하세요.

  • 컴퓨팅 또는 스토리지 양이 임의적인 경우
  • 상태를 유지하려는 경우
  • BigQuery 또는 어디에서나 호스팅되는 서드 파티 애플리케이션과 같은 외부 서비스를 사용하려는 경우

콜아웃은 매우 유연하며 다양한 맞춤설정을 지원합니다. 일상적인 사용 사례의 예는 다음과 같습니다.

맞춤 라우팅 및 트래픽 관리
HTTP 또는 URL 리디렉션을 실행합니다.
애플리케이션별 로직에 따라 헤더 또는 URL과 같은 요청 속성을 수정하여 URL 맵이 요청에서 원래 타겟팅한 것과 다른 백엔드 서비스를 선택하도록 강제합니다.
트래픽을 백엔드 서비스로 전달하기 전에 복잡한 애플리케이션별 로직에 따라 헤더를 추가, 삭제 또는 수정하거나 URL을 재작성합니다.
요청의 특정 속성을 기반으로 맞춤 세션 어피니티 또는 고정성을 구현합니다.
미리보기에서 테넌트를 엔드포인트에 프로그래매틱 방식으로 매핑하는 동적 전달을 구현합니다.
보안 및 로깅
페이로드 또는 맞춤 헤더의 맞춤 정보를 로깅 또는 맞춤 로깅 솔루션에 로깅합니다.
맞춤 사용자 인증 및 승인 지원을 비롯한 보안 도구 또는 서비스를 사용합니다.
기기 ID와 같은 임의의 헤더 및 쿼리 매개변수를 검증합니다.
서드 파티 로깅 솔루션에 요청 및 응답을 로깅합니다.
맞춤 사용자 인증 및 승인을 구현합니다.
파트너 통합
API Gateway 보안, 봇 관리, 웹 애플리케이션 방화벽 (WAF)과 같은 보안 제품을 통합합니다.
승인
승인 의사 결정 프로세스를 강화하거나 Google 제공 기본 승인 엔진의 승인 결정을 추가로 제한합니다.
여러 승인 시스템의 승인 결정을 혼합합니다.
Google 승인 엔진을 외부 정책 엔진을 비롯한 광범위한 승인 생태계 및 인프라와 원활하게 통합합니다.

자세한 내용은 Cloud Load Balancing 및 Cloud CDN 확장 프로그램 개요를 참고하세요.

Google 서비스 호출

서비스 확장 프로그램을 사용하면 지원되는 애플리케이션 부하 분산기가 데이터 처리 경로에서 선택한 Google 서비스로 콜아웃을 보낼 수 있습니다.

GKE Inference Gateway를 비롯한 애플리케이션 부하 분산기의 추론 트래픽에 보안 정책을 일관되게 적용하도록 Model Armor를 호출하는 확장 프로그램을 구성할 수 있습니다.

자세한 내용은 Google 서비스와의 통합을 참고하세요.

GKE 확장 프로그램

Google Kubernetes Engine (GKE) 게이트웨이는 확장 프로그램을 사용하여 부하 분산 처리 경로에 맞춤 코드를 추가하는 기능을 지원합니다. 이러한 확장 프로그램을 사용하여 라우팅을 맞춤설정하고, 요청 또는 응답 페이로드를 수정하고, 외부 서비스와 통합할 수 있습니다.

자세한 내용은 Service Extensions를 사용하여 GKE 게이트웨이 트래픽 라우팅 맞춤설정을 참고하세요.

Media CDN 확장 프로그램

Media CDN은 콘텐츠 전송 네트워크 (CDN)의 가장 일반적인 사용 사례를 해결하기 위한 다양한 내장 핵심 기능을 제공합니다. 서비스 확장 프로그램을 사용하면 이러한 기능을 넘어선 여러 요구사항을 해결할 수 있습니다.

자세한 내용은 Media CDN 확장 프로그램 개요를 참고하세요.

Media CDN용 플러그인

서비스 확장 프로그램을 사용하면 Media CDN 처리 경로에 미리 게시된 플러그인을 추가하여 맞춤 요구사항에 사용할 수 있습니다.

Media CDN과 함께 플러그인을 사용할 수 있는 몇 가지 주요 사용 사례는 다음과 같습니다.

맞춤설정
요청 URL을 재작성합니다.
캐시 성능을 개선하기 위해 헤더 값을 정규화합니다.
보안 및 로깅
라이브 이벤트 중에 도용된 토큰이 있는 사용자를 차단합니다.
맞춤 사용자 인증 및 승인을 지원합니다.
맞춤 URL 서명을 번역하고 구현합니다.
캐시 키, 애플리케이션별 헤더 또는 기기 유형을 맞춤설정합니다.
커스텀 변수를 Cloud Logging에 로깅합니다.
타겟팅 및 수익 창출
A/B 테스트를 통해 전환을 개선합니다.
맞춤 광고 타겟팅을 구현합니다.
추가 비용 없이 무료 체험 사용 모델을 제공합니다.
파트너 통합
동영상 워터마크를 구현합니다.
동영상과 이미지를 최적화합니다.