Service Extensions를 사용하면 확장 프로그램을 사용하여 지원되는 애플리케이션 부하 분산기가 플러그인을 사용하거나 부하 분산 데이터 경로에서 콜아웃을 보내 콜아웃 백엔드 서비스 또는 Google 서비스를 호출하도록 지시할 수 있습니다. 이 페이지에서는 Cloud Load Balancing 확장 프로그램에 대해 간략하게 설명합니다.
다음 유형의 확장 프로그램을 사용하도록 애플리케이션 부하 분산기를 구성할 수 있습니다.
에지 확장 프로그램을 사용하면 요청 헤더를 조작하여 백엔드 서비스 선택과 Cloud CDN이 캐시에서 제공하는 콘텐츠에 영향을 줄 수 있습니다. 이러한 확장 프로그램은 요청 처리 수명 주기 초기에 실행되도록 구성되어 각각 에지에서 캐싱 및 라우팅 결정에 영향을 미칩니다.
경로 확장 프로그램을 사용하면 백엔드 서비스 선택에 영향을 줄 수 있습니다. 이러한 확장 프로그램은 요청 처리 수명 주기 초기에 실행되도록 구성됩니다.
승인 확장 프로그램을 사용하면 맞춤 승인 엔진에 승인 요청을 보낼 수 있습니다. 부하 분산기가 백엔드에 요청을 보내기 직전의 처리 주기 끝에 이를 구성합니다.
트래픽 확장 프로그램은 추가 맞춤 보안 로직 및 트래픽 관리 기능을 지원합니다. 이러한 항목은 승인 확장 프로그램 후, 부하 분산기가 백엔드로 요청을 보내거나 백엔드로부터 응답을 받기 전에 구성합니다.
사용자 관리 확장 프로그램에 지원되는 애플리케이션 부하 분산기
Service Extensions는 다음 애플리케이션 부하 분산기의 사용자 관리형 확장을 지원합니다.
| 애플리케이션 부하 분산기 | 확장 프로그램 | |||||||
|---|---|---|---|---|---|---|---|---|
| 에지 | 경로 | 승인 | 트래픽 | |||||
| 플러그인 | 플러그인 | 콜아웃 | 콜아웃 | 플러그인 | 콜아웃 | |||
| 전역 외부 애플리케이션 부하 분산기 | ✓ | ✓ | ✓ | ✓ | ||||
| 리전 외부 애플리케이션 부하 분산기 | ✓ 미리보기 | ✓ | ✓ | ✓ 미리보기 | ✓ | |||
| 리전 내부 애플리케이션 부하 분산기 | ✓ 미리보기 | ✓ | ✓ | ✓ 미리보기 | ✓ | |||
| 리전 간 내부 애플리케이션 부하 분산기 | ✓ | ✓ | ✓ | ✓ | ✓ | |||
부하 분산 데이터 경로의 확장성 포인트
서비스 확장 프로그램은 부하 분산 데이터 경로의 여러 단계에서 확장을 지원합니다.
그림 1은 Service Extensions가 전역 외부 애플리케이션 부하 분산기의 애플리케이션 보안 및 트래픽 관리 단계에서 확장을 지원하는 방법을 보여줍니다.
그림 2는 서비스 확장 프로그램이 리전 외부 애플리케이션 부하 분산기, 리전 내부 애플리케이션 부하 분산기, 리전 간 내부 애플리케이션 부하 분산기와 같은 부하 분산기 유형의 라우팅, 애플리케이션 보안, 트래픽 관리 단계에서 확장을 지원하는 방법을 보여줍니다.
Edge 확장 프로그램 작동 방식
에지 확장 프로그램은 요청 처리 경로에서 먼저 실행되며 요청 헤더를 사용하여 백엔드 서비스 선택과 Cloud CDN이 캐시에서 제공하는 콘텐츠에 영향을 줄 수 있습니다.
부하 분산기가 에지 확장 프로그램을 호출하면 다음을 실행합니다.
- URL 맵을 평가하여 백엔드 서비스를 선택합니다.
- Google Cloud Armor 정책 보안 정책을 적용합니다.
- 캐시 조회를 실행하고 캐시 적중이 있으면 캐시에서 제공합니다.
- 선택한 백엔드 서비스에 Cloud Armor 정책을 적용합니다.
- CORS 정책 적용
- 스테이트풀 세션 어피니티 정책을 적용합니다.
- 선택한 백엔드 서비스에 IAP (Identity-Aware Proxy) 정책을 적용합니다.
- 선택한 백엔드 서비스의 처리 경로에 구성된 승인 확장 프로그램이 있는 경우 이를 호출합니다.
- 결함 주입 실행
- 통화 트래픽 확장 프로그램(있는 경우)을 호출합니다.
- URL 재작성을 실행합니다.
- URL 맵에 따라 헤더 조작을 실행하고 맞춤 요청 헤더 변수를 추가합니다.
- URL 맵과 백엔드 서비스의 부하 분산 설정에서 제한 시간 및 재시도 정책을 적용하면서 선택한 백엔드 서비스로 리디렉션 또는 라우팅을 실행합니다.
- 요청 미러링을 실행합니다.
인증 확장 프로그램의 작동 방식
요청 경로에서 승인 확장 프로그램은 경로 확장 프로그램이 호출되고 요청의 백엔드가 선택된 후에 호출됩니다. 이러한 확장 프로그램은 백엔드 서비스 선택에 영향을 줄 수 없습니다.
승인 확장 프로그램은 요청 헤더만 처리할 수 있으며 요청 본문이나 응답의 일부는 처리할 수 없습니다.
경로 확장 프로그램의 작동 방식
라우팅 확장 프로그램은 부하 분산기가 요청 헤더를 수신하고 URL 맵을 평가하기 전에 요청 처리 경로에서 먼저 실행됩니다.
부하 분산기가 요청에 대한 경로 확장 프로그램을 호출한 후 다음 작업을 실행합니다.
- URL 맵을 평가하여 백엔드 서비스를 선택합니다.
- 선택한 백엔드 서비스에 Cloud Armor 정책을 적용합니다.
- 선택한 백엔드 서비스에 IAP 정책을 적용합니다.
- 결함 주입 실행
- 요청 헤더 변환을 실행하고 맞춤 요청 헤더 변수를 확인합니다.
- 선택한 백엔드 서비스의 처리 경로에 교통 정보 확장 프로그램이 있는 경우 이를 호출합니다.
- URL 재작성을 실행합니다.
- 선택한 백엔드 서비스로 리디렉션 또는 라우팅을 실행하고 백엔드 서비스의 URL 맵 및 기타 부하 분산 설정에서 제한 시간 및 재시도 정책을 적용합니다.
교통 정보 광고 확장의 작동 방식
부하 분산기는 요청 처리 경로에서 마지막으로, 응답 처리 경로에서 처음으로 트래픽 확장 프로그램을 실행합니다.
이러한 확장 프로그램을 사용하면 백엔드 서비스 선택에 영향을 주지 않으면서 요청 및 응답의 헤더와 페이로드를 수정할 수 있습니다. 로깅할 정보, 형식, 외부 제공업체를 지정하여 맞춤 로깅에 트래픽 확장 프로그램을 사용할 수도 있습니다.
부하 분산기는 요청의 요청 경로에서 트래픽 확장 프로그램을 호출하기 전에 다음을 실행합니다.
- 결함 주입 실행
- 요청의 백엔드 서비스를 선택합니다.
- 선택한 백엔드 서비스에 Cloud Armor 정책을 적용합니다.
- 선택한 백엔드 서비스에 IAP 정책을 적용합니다.
- 전역 외부 애플리케이션 부하 분산기의 경우 선택한 백엔드 서비스에 Cloud CDN 캐싱 정책을 적용합니다.
부하 분산기가 요청의 요청 경로에서 트래픽 확장 프로그램을 호출한 후에는 다음을 실행합니다.
- URL 재작성을 실행합니다.
- URL 맵에 따라 헤더 조작을 실행하고 맞춤 요청 헤더 변수를 추가합니다.
- URL 맵과 백엔드 서비스의 부하 분산 설정에서 제한 시간 및 재시도 정책을 적용하면서 선택한 백엔드 서비스로 리디렉션 또는 라우팅을 실행합니다.
- 요청 미러링을 실행합니다.
부하 분산기가 요청의 응답 경로에서 트래픽 확장 프로그램을 호출한 후에는 다음을 실행합니다.
- 응답 헤더 변환을 실행하고 맞춤 응답 헤더 변수를 확인합니다.
- Cloud Logging을 사용하여 로깅을 실행합니다.
- 전역 외부 애플리케이션 부하 분산기의 경우 Cloud CDN 캐싱을 실행합니다.
확장 프로그램 제한사항
- 전달 규칙에는
LbEdgeExtension리소스 하나,LbTrafficExtension리소스 하나,LbRouteExtension리소스 하나만 있을 수 있습니다. - 콜아웃의 경우 콜아웃 백엔드 서비스가 전달 규칙과 동일한 프로젝트에 있어야 합니다.
- 확장 프로그램과 전달 규칙 간의 교차 프로젝트 참조는 지원되지 않습니다.