이 페이지에서는 Google Cloud 서비스로 확장성을 구현하는 데 사용할 수 있는 서비스 확장 프로그램 플러그인을 만드는 방법을 설명합니다.
이 기능은 Media CDN의 미리보기 상태입니다.
제품 개요는 서비스 확장 프로그램 개요를 참고하세요.
시작하기 전에
플러그인을 만드는 데 필요한 파일을 준비하고 업로드합니다.
아직 사용 설정하지 않았다면 Network Services API를 사용 설정합니다.
gcloud services enable networkservices.googleapis.com
Media CDN 플러그인의 경우 로깅을 사용 설정하려면 Network Actions API를 사용 설정하세요.
gcloud services enable networkactions.googleapis.com
플러그인 리소스 만들기
플러그인 리소스를 만들려면 플러그인 코드가 포함된 이미지를 지정하고 플러그인의 라벨 및 로깅 옵션을 지정해야 합니다.
콘솔
플러그인을 만들려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 서비스 확장 프로그램 페이지로 이동합니다.
플러그인 탭을 클릭합니다.
플러그인 만들기를 클릭합니다.
기본사항 섹션에서 다음을 수행합니다.
범위에 전역 또는 리전을 선택합니다.
범위를 리전으로 설정한 경우 리전도 선택합니다.
고유한 플러그인 이름을 입력합니다.
이름은 소문자로 시작해야 합니다. 이어서 최대 62자의 소문자, 숫자 또는 하이픈이 와야 하며 하이픈으로 끝나면 안 됩니다.
선택사항: 최대 1,024자를 사용하여 플러그인에 관한 간단한 설명을 입력합니다.
Wasm 이미지 섹션에서 다음을 수행합니다.
플러그인 버전 이름에 플러그인 버전의 이름을 지정합니다.
이름은 소문자로 시작해야 합니다. 이어서 최대 62자의 소문자, 숫자 또는 하이픈이 와야 하며 하이픈으로 끝나면 안 됩니다.
선택사항: 플러그인 버전 설명에 최대 1, 024자를 사용하여 플러그인 버전에 대한 간단한 설명을 입력합니다.
이미지 URL에 Artifact Registry 창의 Wasm 모듈이 있는 일반 아티팩트 또는 컨테이너 이미지의 URL을 입력합니다. 일반 저장소를 사용하는 옵션은 미리보기로 제공됩니다.
Docker 저장소에서 컨테이너 이미지를 지정하려면 선택을 클릭하여 찾아보고 선택할 수도 있습니다. Artifact Registry 창에는 현재 프로젝트에 연결된 저장소의 폴더가 표시됩니다.
다른 프로젝트의 이미지를 선택하려면 서비스 확장 프로그램이 이미지에 액세스할 수 있는지 확인한 후 프로젝트 이름 옆에 있는 변경을 클릭합니다.
선택사항: 플러그인 구성 섹션에서 구성 데이터를 플러그인과 연결하려면 플러그인 구성 추가 체크박스를 선택한 후 다음 옵션 중 하나를 선택합니다.
플러그인 구성 파일 업로드 파일 크기가 900KiB 미만이고 로컬 드라이브에 있는 경우 찾아보기를 클릭하여 파일을 찾아 선택합니다.
Artifact Registry에서 플러그인 구성 이미지 또는 아티팩트 선택 Artifact Registry 창에서 Wasm 모듈이 있는 일반 아티팩트 또는 컨테이너 이미지의 URL을 입력합니다. 일반 저장소를 사용하는 옵션은 미리보기로 제공됩니다.
Docker 저장소에서 컨테이너 이미지를 지정하려면 선택을 클릭하여 찾아보고 선택할 수도 있습니다. Artifact Registry 창에는 현재 프로젝트에 연결된 저장소의 폴더가 표시됩니다.
선택사항: 라벨 섹션에서 라벨 추가를 클릭합니다. 그런 다음 표시되는 행에서 다음을 실행합니다.
- 키에 키 이름을 입력합니다.
- 값에 키 값을 입력합니다.
최대 64개의 키-값 쌍을 추가할 수 있습니다. 키-값 쌍을 더 추가하려면 라벨 추가를 클릭합니다.
라벨에 대한 자세한 내용은 프로젝트 라벨 만들기 및 업데이트를 참고하세요.
선택사항: 로깅 섹션에서 로깅 사용 설정을 선택하고 다음을 수행합니다.
샘플링 비율에
0~1사이의 값을 지정합니다.0값은 로그 메시지가 저장되지 않음을 나타냅니다. 기본값1은 모든 로그 메시지가 저장됨을 나타냅니다.0.0과1.0사이의 부동 소수점 값은 로그 메시지의 일부가 저장됨을 나타냅니다.최소 로그 수준에서 Cloud Logging으로 내보낼 플러그인 로그 메시지의 최소 심각도 수준을 선택합니다. 기본값은
Info and higher입니다.
만들기를 클릭합니다.
gcloud
gcloud service-extensions wasm-plugins create명령어를 실행하여 플러그인을 만듭니다.gcloud service-extensions wasm-plugins create WASM_PLUGIN \ --description=PLUGIN_DESCRIPTION \ --location=LOCATION \ --labels=[LABELS,...] \ --log-config=[LOG_CONFIG,...] \ --image=IMAGE \ --main-version=MAIN_VERSION \ --plugin-config=PLUGIN_CONFIG | --plugin-config-file=PLUGIN_CONFIG_FILE | --plugin-config-uri=PLUGIN_CONFIG_URI다음을 바꿉니다.
WASM_PLUGIN: 플러그인의 ID 또는 정규화된 이름PLUGIN_DESCRIPTION: 플러그인에 대한 설명LOCATION: 플러그인의 위치(global또는 리전)LABELS: 쉼표로 구분된 키-값 쌍 형식의 라벨LOG_CONFIG: 플러그인의 로깅 옵션입니다.enable옵션이false로 설정되면 플러그인의 로그가 캡처되지 않습니다. 로깅을 사용 설정하려면enable옵션을true로 설정합니다. 그런 다음 다음 세부정보를 지정합니다.sample-rate: 활동 로그의 샘플링 레이트입니다(0~1).0값은 로그 메시지가 저장되지 않음을 나타냅니다. 기본값1은 모든 로그 메시지가 저장됨을 나타냅니다.0.0과1.0사이의 부동 소수점 값은 로그 메시지의 비율이 저장됨을 나타냅니다.min-log-level: Cloud Logging으로 내보낼 플러그인 로그 메시지의 최소 심각도 수준입니다. 기본값은INFO입니다.
IMAGE: Artifact Registry 저장소에 저장된 Wasm 모듈이 포함된 아티팩트의 URI입니다. 다른 프로젝트의 컨테이너 이미지를 지정하기 전에 서비스 확장 프로그램이 해당 이미지에 액세스할 수 있는지 확인하세요.MAIN_VERSION: 생성하고 기본 (활성) 버전으로 설정할 플러그인 버전의 IDPLUGIN_CONFIG,PLUGIN_CONFIG_FILE또는PLUGIN_CONFIG_URI: 선택적 구성 데이터로, 각각 텍스트, 로컬 파일 또는 Artifact Registry의 컨테이너 이미지로 지정할 수 있습니다.
예를 들면 다음과 같습니다.
gcloud service-extensions wasm-plugins create my-plugin \ --description="This is my plugin." \ --log-config=enable=true,sample-rate=0.5,min-log-level=INFO \ --labels=key1=value1,key2=value2 \ --image=...-docker.pkg.dev/my-project/repository/container:tag \ --main-version=v1 \ --plugin-config-file=config.txt새 버전을 배포하려면
gcloud service-extensions wasm-plugins update명령어를 사용합니다. 새 이미지 및 버전 이름을 지정합니다.gcloud service-extensions wasm-plugins update my-plugin \ --image=...-docker.pkg.dev/my-project/repository/container:tag \ --main-version=v2
이러한 플러그인을 실행하려면 Cloud Load Balancing 확장 프로그램 및 Media CDN 확장 프로그램을 구성하면 됩니다.
다른 프로젝트의 이미지에 액세스
다른 프로젝트의 이미지를 선택하려면 서비스 확장 프로그램 서비스 에이전트가 프로젝트 저장소에 액세스할 수 있어야 하며, Wasm 모듈이 패키징된 방식에 따라 프로젝트에 다음 권한 중 하나가 있어야 합니다.
- 일반 아티팩트:
artifactregistry.files.download - 컨테이너 이미지:
artifactregistry.repositories.downloadArtifacts
서비스 확장 프로그램 서비스 에이전트의 이름은 다음과 같습니다.
service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com
여기에서 PROJECT_NUMBER를 프로젝트 번호로 바꿉니다.
다음 단계
- Cloud Load Balancing 플러그인에 지원되는 애플리케이션 부하 분산기를 참고하세요.
- 플러그인을 사용하여 Cloud Load Balancing 에지 확장 프로그램, 경로 확장 프로그램, 트래픽 확장 프로그램을 구성하는 방법을 알아봅니다.
- 경로에 Media CDN 플러그인을 연결하는 방법을 알아봅니다.
- 플러그인 관리 방법 알아보기
- 서비스 확장 프로그램 개요를 참고하세요.