작업자 풀은 요청이 아닌 워크로드를 처리합니다. 새 버전 배포와 같이 여러 버전 간에 작업을 분할해야 하는 사용 사례의 경우 작업자 풀은 인스턴스 분할을 사용합니다.
Cloud Run을 사용하면 인스턴스를 수신할 버전을 지정하고 각 버전에 대한 인스턴스 할당 비율을 지정할 수 있습니다. 이 기능을 사용하면 이전 버전으로 롤백하고, 여러 버전 간에 인스턴스를 분할하고, 최신 버전에 인스턴스를 할당할 수 있습니다. 이 페이지에서는 이 기능을 사용하여 Cloud Run 버전에 대한 인스턴스 할당을 관리하는 방법을 설명합니다.
인스턴스 할당 조정은 즉시 적용되지 않습니다. 버전의 인스턴스 할당을 변경하면 처리 중인 모든 요청이 완료될때까지 계속됩니다. 진행 중인 요청은 삭제되지 않으며 Cloud Run은 전환 기간 동안 이러한 요청을 새 버전 또는 이전 버전으로 전달할 수 있습니다.
인스턴스 분할 수명 주기
여러 버전 간에 인스턴스를 분할하거나 이전 버전에 인스턴스를 할당하면 이후의 모든 배포에서 해당 인스턴스 분할 패턴을 사용합니다. 인스턴스 분할 없이 최신 버전만 사용하려면 모든 인스턴스를 최신 버전으로 전송하세요.
필요한 역할
Cloud Run 작업자 풀과 작업자 풀 버전을 관리하는 데 필요한 권한을 얻으려면 관리자에게 Cloud Run 작업자 풀에 대한 Cloud Run 개발자(roles/run.developer) IAM 역할을 부여해 달라고 요청하세요.
Cloud Run과 연결된 IAM 역할 및 권한 목록은 Cloud Run IAM 역할 및 Cloud Run IAM 권한을 참조하세요. Cloud Run 작업자 풀이 Cloud 클라이언트 라이브러리와 같은Google Cloud API와 상호작용하는 경우에는 서비스 ID 구성 가이드를 참조하세요. 역할 부여에 대한 자세한 내용은 배포 권한 및 액세스 관리를 참조하세요.
이전 버전으로 롤백
이전 버전으로 롤백하려면 Google Cloud 콘솔 또는 Google Cloud CLI를 사용하세요.
콘솔
Google Cloud 콘솔에서 Cloud Run 작업자 풀로 이동합니다.
목록에서 작업자 풀을 찾아 클릭합니다.
버전 탭을 클릭하여 해당 작업자 풀의 현재 버전 목록을 표시합니다.
인스턴스 분할 관리를 클릭하여 인스턴스 관리 양식을 표시합니다. Cloud Run에 최신 제공 버전이 표시됩니다. 양식에서 다음 세부정보를 구성합니다.
- 버전 추가를 클릭하고 드롭다운 목록을 사용하여 이전 버전을 선택합니다.
- 이전 버전의 인스턴스 백분율을 100으로 설정합니다.
- 최신 제공 버전의 백분율을 0으로 설정합니다.
- 저장을 클릭합니다.
gcloud
다음 명령어를 실행하여 롤백할 버전을 지정합니다.
gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=REVISION=100
다음을 바꿉니다.
- WORKER_POOL: 작업자 풀 이름
- REVISION: 롤백할 버전 이름
여러 버전 간에 인스턴스 분할
두 개 이상의 버전 간에 인스턴스를 분할하려면 Google Cloud 콘솔 또는 Google Cloud CLI를 사용하세요.
여러 버전 간에 인스턴스를 분할할 때는 모든 버전의 총 비율이 100%여야 하며 수동 인스턴스 수가 워크로드를 제공하는 인스턴스 분할 수보다 커야 합니다.
콘솔
Google Cloud 콘솔에서 Cloud Run 작업자 풀로 이동합니다.
목록에서 작업자 풀을 찾아 클릭합니다.
버전 탭을 클릭하여 해당 작업자 풀의 현재 버전 목록을 표시합니다.
인스턴스 분할 관리를 클릭하여 인스턴스 관리 양식을 표시합니다. Cloud Run에 최신 제공 버전이 표시됩니다. 양식에서 다음 세부정보를 구성합니다.
최신 제공 버전의 백분율을 필요한 분할로 설정합니다(예: 100%에서 줄임).
버전 추가를 클릭하고 드롭다운 목록을 사용하여 이전 버전을 선택하고 해당 백분율 분할을 설정합니다.
추가 버전으로 인스턴스를 분할하려면 버전 추가를 클릭하고 다른 버전을 선택한 다음 백분율을 설정합니다.
저장을 클릭합니다.
gcloud
다음 명령어를 실행하여 버전과 인스턴스 비율을 지정합니다. 쉼표로 구분된 목록에서 각 버전에 인스턴스를 할당합니다.
gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LIST
다음을 바꿉니다.
WORKER_POOL: 작업자 풀 이름
LIST: 쉼표로 구분된 버전과 백분율의 목록:
REVISION1=PERCENTAGE1,REVISION2=PERCENTAGE2,REVISIONn=PERCENTAGEx.
예를 들면
my-worker-pool-s5sxn=10,my-worker-pool-cp9kw=90입니다.
최신 버전에 인스턴스 할당
새 버전을 배포할 때 기존 인스턴스 분할을 재정의하여 이 버전 및 이후의 모든 버전에 인스턴스를 100% 할당할 수 있습니다. 인스턴스를 최신 버전에 100% 할당하려면 다음 명령어를 실행합니다.
--to-latest플래그를 사용하여 인스턴스를 최신 버전으로 100% 전달하고, 배포하는 새 버전에 모든 인스턴스를 자동으로 할당합니다.gcloud beta run worker-pools update-instance-split WORKER_POOL --to-latest선택적으로
LATEST키워드와 함께--to-revisions플래그를 사용하여 배포할 때 항상 최신 버전에 플로팅 인스턴스 비율을 할당합니다. 항상 최신 버전으로 플로팅되는 인스턴스의 비율을 설정하려면 다음 명령어를 실행합니다.gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LATEST=PERCENTAGE다음을 바꿉니다.
- WORKER_POOL: 작업자 풀 이름
- PERCENTAGE: 최신 및 향후 최신 버전에 할당할 인스턴스의 백분율