버전 관리

서비스에 배포하거나 서비스 구성을 변경하면 변경할 수 없는 버전이 생성됩니다.

버전을 관리할 때는 다음 사항을 고려해야 합니다.

  • 새 버전이 트래픽을 모두 수신할지, 일부만 수신할지, 전혀 수신하지 않을지 지정할 수 있고, 새 버전을 점진적으로 출시할 수 있고, 여러 버전 간에 트래픽을 분할할 수 있고, 버전에서 롤백할 수 있습니다. 자세한 내용은 롤백, 점진적 출시, 트래픽 마이그레이션을 참조하세요.
  • 원할 경우 버전 태그를 사용하여 트래픽을 제공하지 않는 버전을 테스트할 수 있습니다.
  • 원할 경우 가능하지만 버전을 수동으로 삭제할 필요는 없습니다.
  • 비제공 버전은 리소스를 소비하지 않으며, 비용도 청구되지 않습니다.
  • 서비스별 버전 수는 최대 1,000개입니다. 이 한도를 초과하면 이전 버전이 자동으로 삭제됩니다.
  • 버전 서픽스는 자동으로 할당됩니다. 자체 버전 서픽스를 사용하려면 gcloud CLI 매개변수 --revision-suffix를 사용하면 됩니다.

필요한 역할

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 구성 가이드를 참조하세요. 역할 부여에 대한 자세한 내용은 배포 권한액세스 관리를 참조하세요.

서비스 버전 목록 보기

Console

프로젝트의 버전 목록을 보려면 다음 안내를 따르세요.

  1. Cloud Run으로 이동

  2. 서비스 목록에서 서비스를 찾고 클릭합니다.

  3. 버전 탭을 클릭하여 해당 서비스의 현재 버전 목록을 표시합니다.

    버전 목록

명령줄

지정된 서비스의 버전 목록을 보려면 다음 안내를 따르세요.

  1. 프로젝트의 사용 가능한 서비스 목록에서 서비스 이름을 찾습니다.

    gcloud run services list
  2. 다음 명령어를 사용하여 방금 찾은 서비스의 모든 버전을 가져옵니다.

    gcloud run revisions list --service SERVICE

    SERVICE를 서비스 이름으로 바꿉니다.

Cloud Code

Cloud Code를 사용하여 버전 목록을 보려면 IntelliJVisual Studio Code용 Cloud Run 탐색기 가이드를 참조하세요.

클라이언트 라이브러리

코드에서 버전 목록 보기:

REST API

버전 목록을 보려면 Cloud Run Admin API revisions 엔드포인트GET HTTP 요청을 보냅니다.

예를 들어 다음과 같이 curl을 사용합니다.

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X GET \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions

다음과 같이 바꿉니다.

  • ACCESS_TOKEN버전을 볼 수 있는 IAM 권한이 있는 계정의 유효한 액세스 토큰으로 바꿉니다. 예를 들어 gcloud에 로그인한 경우 gcloud auth print-access-token을 사용하여 액세스 토큰을 검색할 수 있습니다. Cloud Run 컨테이너 인스턴스 내에서 컨테이너 인스턴스 메타데이터 서버를 사용하여 액세스 토큰을 검색할 수 있습니다.
  • SERVICE-NAME: 서비스 이름
  • REGION을 서비스의 Google Cloud 리전으로 바꿉니다.
  • PROJECT-ID를 Google Cloud 프로젝트 ID로 바꿉니다.

버전 세부정보 보기

Console

프로젝트에서 한 버전의 세부정보를 보려면 다음 안내를 따르세요.

  1. Cloud Run으로 이동

  2. 서비스 목록에서 서비스를 선택합니다.

  3. 버전 탭을 클릭하여 해당 서비스의 현재 버전 목록을 표시합니다.

  4. 원하는 서비스 버전을 선택합니다.

  5. 맨 오른쪽에 있는 세부정보 패널에서 배포된 컨테이너 이미지의 URL, 할당된 메모리의 양, 환경 변수, 빌드 및 소스 저장소 정보와 같은 버전 관련 정보를 확인합니다.

    이미지

명령줄

프로젝트에서 한 버전의 세부정보를 보려면 다음 안내를 따르세요.

  1. 프로젝트의 사용 가능한 서비스 목록에서 서비스 이름을 찾습니다.

    gcloud run services list

  2. 다음 명령어를 사용하여 방금 찾은 서비스의 모든 버전을 가져옵니다.

    gcloud run revisions list --service SERVICE
    SERVICE를 서비스 이름으로 바꿉니다.

  3. 다음 명령어를 사용하여 특정 버전에 대한 세부정보를 확인합니다.

    gcloud run revisions describe REVISION
    REVISION을 세부정보를 확인하려는 버전의 이름으로 바꿉니다.

    --format 플래그를 사용하여 출력 형식을 지정할 수 있습니다. YAML 형식의 예시는 다음과 같습니다.

    gcloud run revisions describe REVISION --format yaml

Cloud Code

Cloud Code를 사용하여 버전의 세부정보를 보려면 IntelliJVisual Studio Code용 Cloud Run 탐색기 가이드를 참조하세요.

클라이언트 라이브러리

코드에서 버전 세부정보 보기:

REST API

버전에 대한 세부정보를 보려면 GET HTTP 요청을 Cloud Run Admin API revisions 엔드포인트로 보냅니다.

예를 들어 다음과 같이 curl을 사용합니다.

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X GET \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions/REVISION-NAME

다음과 같이 바꿉니다.

  • ACCESS_TOKEN서비스 세부정보를 볼 수 있는 IAM 권한이 있는 계정의 유효한 액세스 토큰으로 바꿉니다. 예를 들어 gcloud에 로그인한 경우 gcloud auth print-access-token을 사용하여 액세스 토큰을 검색할 수 있습니다. Cloud Run 컨테이너 인스턴스 내에서 컨테이너 인스턴스 메타데이터 서버를 사용하여 액세스 토큰을 검색할 수 있습니다.
  • SERVICE-NAME: 서비스 이름
  • REVISION-NAME을 버전 이름으로 바꿉니다.
  • REGION을 서비스의 Google Cloud 리전으로 바꿉니다.
  • PROJECT-ID를 Google Cloud 프로젝트 ID로 바꿉니다.

현재 버전이 아닌 경우 버전 상태가 RETIRED일 수 있습니다. 즉, Cloud Run에서 해당 버전에 필요한 인프라가 사용 중지되었을 수 있습니다.

세부정보 패널의 빌드 및 소스 저장소 정보

Artifact Analysis API가 사용 설정되었고 Cloud Build에서 컨테이너가 빌드되었으면 빌드 정보가 세부정보 패널에 표시됩니다.

또한 Cloud Build 트리거를 사용하여 컨테이너를 빌드했으면 소스 저장소 정보도 세부정보 패널에 표시됩니다.

버전 삭제

일반적으로 특정 버전이 실수로 사용되지 않도록 하기 위해 버전을 삭제합니다.

다음 경우에는 버전을 삭제할 수 없습니다.

  • 버전이 트래픽을 수신할 수 있는 경우
  • 서비스의 유일한 버전일 경우
  • 서비스의 최신 버전일 경우

버전을 삭제할 때 이 버전에 사용되는 컨테이너 이미지는 Container Registry 또는 Artifact Registry에서 자동으로 삭제되지 않습니다. 레지스트리에서 컨테이너 이미지를 삭제하려면 Container Registry 또는 Artifact Registry의 삭제 안내를 참조하세요.

버전 삭제는 실행취소할 수 없습니다.

콘솔 또는 명령줄을 사용하여 버전을 삭제할 수 있습니다.

콘솔

버전을 삭제하려면 다음 안내를 따르세요.

  1. Cloud Run으로 이동

  2. 서비스 목록에서 서비스를 찾고 클릭합니다.

  3. 버전 탭을 클릭하여 해당 서비스의 현재 버전 목록을 표시합니다.

  4. 삭제할 서비스 버전을 찾습니다.

  5. 버전의 왼쪽에 있는 세로 점 3개 기호를 클릭하여 삭제 메뉴를 표시합니다.

    revision-delete

  6. 삭제를 클릭하여 버전을 삭제합니다.

명령줄

버전을 삭제하려면 다음 명령어를 사용하세요.

gcloud run revisions delete REVISION

REVISION을 삭제할 버전의 이름으로 바꿉니다.

클라이언트 라이브러리

코드에서 버전 삭제:

REST API

버전을 삭제하려면 DELETE HTTP 요청을 Cloud Run Admin API revisions 엔드포인트로 보냅니다.

예를 들어 다음과 같이 curl을 사용합니다.

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X DELETE \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions/REVISION-NAME

다음과 같이 바꿉니다.

  • ACCESS_TOKEN서비스를 삭제할 수 있는 IAM 권한이 있는 계정의 유효한 액세스 토큰으로 바꿉니다. 예를 들어 gcloud에 로그인한 경우 gcloud auth print-access-token을 사용하여 액세스 토큰을 검색할 수 있습니다. Cloud Run 컨테이너 인스턴스 내에서 컨테이너 인스턴스 메타데이터 서버를 사용하여 액세스 토큰을 검색할 수 있습니다.
  • SERVICE-NAME: 서비스 이름
  • REVISION-NAME을 버전 이름으로 바꿉니다.
  • REGION을 서비스의 Google Cloud 리전으로 바꿉니다.
  • PROJECT-ID를 Google Cloud 프로젝트 ID로 바꿉니다.

다음 단계

버전을 배포한 후에는 다음을 수행할 수 있습니다.