서비스 확장 프로그램을 사용하면 확장 프로그램을 사용하여 Media CDN 처리 경로에 커스텀 코드를 삽입할 수 있습니다. 이 페이지에서는 Media CDN 확장 프로그램에 대해 간략히 설명합니다.
Media CDN은 콘텐츠 전송 네트워크 (CDN)의 가장 일반적인 사용 사례를 해결하기 위해 여러 가지 기본 제공 핵심 기능을 제공합니다. 이러한 기능 이상의 요구사항이 있을 수 있습니다. 예를 들어 캐싱을 개선하기 위해 헤더를 정규화하거나, 맞춤 URL 서명 알고리즘을 사용하거나, 기존 CDN에서 Media CDN으로 기존 동작을 포팅해야 할 수 있습니다.
에지 확장 프로그램 (CdnEdgeExtension)을 사용하여 Media CDN 처리 경로의 캐시 앞에 있는 Google 에지 네트워크에서 WebAssembly (Wasm) 플러그인을 직접 실행할 수 있습니다.
CdnEdgeExtension 리소스는 EdgeCacheService 배포에 직접 연결되고 하나 이상의 순서가 지정된 확장 프로그램 체인 (extensionChains)을 실행합니다. 각 확장 프로그램 체인은 Common Expression Language (CEL) 일치 조건 (matchCondition.celExpression)을 정의하여 호스트 이름, URL 경로, 쿼리 매개변수 또는 HTTP 요청 헤더를 기반으로 요청을 선택적으로 평가합니다.
플러그인은 HTTP 요청 헤더와 응답 헤더에 모두 액세스하고 조작할 수 있으며, 캐시 키 생성에 영향을 미치고, 커스텀 승인 토큰 또는 URL 서명을 검증하고, 합성 응답을 제공할 수 있습니다. 자세한 내용은 그림 1을 참고하세요.
Media CDN 에지 확장 프로그램 작동 방식
클라이언트 요청이 에지 확장 프로그램으로 확장된 EdgeCacheService에 도달하면 확장 프로그램은 다음 순서로 실행됩니다.
일치 조건 평가: Media CDN은 요청 속성을 추출하고
CdnEdgeExtension에 정의된 순서가 지정된extensionChains를 평가합니다. CEL 표현식이true로 평가되는 첫 번째 체인이 실행되고 이후의 모든 체인은 건너뜁니다.플러그인 요청 헤더 처리 (
REQUEST_HEADERS): 구성된 플러그인이 순차적으로 실행됩니다. 단일 확장 프로그램 체인 내에서 최대 2개의 플러그인을 연결할 수 있습니다. 플러그인은 전달된 HTTP 헤더와 Envoy 속성을 검사하거나, 요청 헤더를 추가 또는 재작성하거나, 클라이언트에 직접 합성 응답을 반환할 수 있습니다.라우팅 규칙 일치 및 출처 선택: Media CDN은 라우팅 규칙을 평가한 후 플러그인이 수정한 요청 헤더 또는 URL 경로를 포함하여 요청에 따라 대상 출처를 선택합니다.
캐시 조회 및 원본 가져오기: Media CDN은 캐시 키 (플러그인이 수정한 요청 헤더 또는 URL 경로를 통합할 수 있음)를 평가하고, 에지 캐시 스토리지를 확인하고, 캐시 적중이 발생하면 콘텐츠를 제공하거나 캐시 부적중이 발생하면 선택한 원본에서 콘텐츠를 가져옵니다.
플러그인 응답 헤더 처리 (
RESPONSE_HEADERS): 캐시 또는 원본에서 콘텐츠를 가져온 후 구성된 플러그인이 순차적으로 실행됩니다. 그런 다음 수정된 응답 헤더가 다운스트림 클라이언트에 전송됩니다.클라이언트에 전송: 최종 응답 헤더와 본문이 클라이언트에 전송됩니다.