인스턴스의 CPU 한도 구성

이 페이지에서는 각 Cloud Run 인스턴스에 사용할 vCPU 수를 지정하는 방법을 설명합니다. 기본적으로 Cloud Run 컨테이너 인스턴스는 vCPU 2개로 제한됩니다. 이 페이지에 설명된 대로 이 값을 늘리거나 줄일 수 있습니다.

vCPU 한도 설정 및 업데이트

기본적으로 각 인스턴스는 vCPU 2개와 메모리 2GiB로 설정됩니다. 다음 표에 표시된 값 중 하나로 변경할 수 있습니다.

동시 실행은 구성할 수 없으며 80으로 설정됩니다.

vCPU 및 메모리 표

다음은 vCPU의 메모리 요구사항입니다.

CPU 필요한 메모리
vCPU 1개 512MiB~4GiB
2 vCPU 512MiB~8GiB
vCPU 4개 2~16GiB
vCPU 6개 4~24GiB
8 vCPU 4~32GiB

1보다 큰 값은 정수 값이어야 합니다.

최대 vCPU 수

구성할 수 있는 최대 vCPU 수는 8개입니다.

최소 vCPU 수

인스턴스의 최소 vCPU는 1개입니다. 각 컨테이너는 부분 CPU로 구성할 수 있지만 인스턴스의 모든 컨테이너의 합계는 vCPU 1개 이상이어야 합니다.

비용 고려사항

Cloud Run 리소스의 비용은 CPU 구성 및 리소스의 활성 기간과 같은 여러 요인에 영향을 받습니다. 리소스를 과도하게 프로비저닝하면 비용이 증가할 수 있습니다. 리소스에 가장 적합한 CPU 구성을 확인하려면 다음 단계를 따르세요.

  1. CPU 사용률과 비용의 균형을 맞추는 CPU 한도의 초기 기준 구성을 설정합니다.
  2. 부하 상태에서 시스템을 테스트하는 동안 Cloud Monitoring에서 CPU 사용률 측정항목을 모니터링합니다.
  3. 필요에 따라 CPU 구성을 조정합니다.

최대 부하에서 CPU 사용률이 지속적으로 낮은 경우 vCPU 할당을 줄이는 것이 좋습니다. 지연 시간이 긴 경우 vCPU 할당을 늘리는 것이 좋습니다.

Cloud Hub 최적화 페이지에서 리소스의 요약 비용 데이터, 사용률 데이터, 비용 최적화 권장사항을 볼 수 있습니다. 자세한 내용은 Cloud Run 가격 책정을 검토하거나 가격 계산기로 비용을 추정하세요.

CPU 버스트 및 제한

Cloud Run 인스턴스는 Linux 스케줄러 cgroup 할당과 유사하게 관리되는 기준 할당량 및 버스팅 기능을 갖춘 공유 CPU 할당 모델을 사용합니다.

Cloud Run 인스턴스의 vCPU 한도를 구성하면 CPU 동작은 다음 메커니즘으로 구성됩니다.

  • 기준 할당량: 각 인스턴스에는 구성된 vCPU당 6.25% (1/16)의 연속 기준이 할당됩니다. 이 기준 내에서 인스턴스를 무기한으로 실행할 수 있습니다.
  • 버스트 용량: 인스턴스가 기준 용량 미만으로 실행되면 사용하지 않은 CPU 시간이 버스트 잔액 예산 (최대 500초)으로 계속 누적됩니다. 워크로드에서 컴퓨팅 집약적인 작업을 트리거하면 누적된 버스트 잔액이 소진될 때까지 인스턴스가 구성된 vCPU 할당의 최대 100% 까지 자동으로 버스트됩니다.
  • 제한: CPU 사용률이 높은 동안 버스트 잔액이 소진되면 추가 버스트 잔액이 누적될 때까지 인스턴스가 기준 할당량 (구성된 vCPU당 6.25%)으로 제한됩니다.
  • 보충: CPU 사용량이 6.25% 기준점 아래로 떨어지면 버스트 예산이 보충됩니다.

필요한 역할

Cloud Run 인스턴스를 구성하고 배포하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

Cloud Run과 연결된 IAM 역할 및 권한 목록은 다음 항목을 참조하세요. Cloud Run IAM 역할Cloud Run IAM 권한 Cloud Run 인스턴스가 Google Cloud Cloud 클라이언트 라이브러리와 같은 API와 상호작용하는 경우에는 서비스 ID 구성 가이드를 참조하세요. 역할 부여에 대한 자세한 내용은 배포 권한액세스 관리를 참조하세요.

CPU 한도 구성

Google Cloud CLI 또는 YAML을 사용하여 Cloud Run 인스턴스의 CPU 한도를 설정할 수 있습니다.

gcloud

다음 명령어를 사용하면 특정 인스턴스의 CPU 한도 를 업데이트할 수 있습니다.

gcloud beta run instances update INSTANCE --cpu CPU

다음을 바꿉니다.

  • INSTANCE: 인스턴스의 이름.
  • CPU: CPU 한도. CPU 및 메모리 표에 표시된 요구사항에 따라 CPU 값을 1, 2, 4, 6, 또는 8 CPUs, 로 지정합니다.

또한 다음 명령어를 사용하여 배포 중 CPU를 설정할 수도 있습니다.

gcloud beta run instances deploy --image IMAGE_URL --cpu CPU

다음을 바꿉니다.

  • IMAGE_URL: 컨테이너 이미지에 대한 참조(예: us-docker.pkg.dev/cloudrun/container/hello:latest).
  • CPU1, 2, 4, 6 또는 8 CPU는 CPU 및 메모리 표에 표시된 요구사항을 따릅니다.

YAML

  1. 새 인스턴스를 만드는 경우에는 이 단계를 건너뜁니다. 기존 인스턴스를 업데이트하는 경우 YAML 구성을 다운로드합니다.

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. 다음 예시에는 YAML 구성이 포함되어 있습니다.

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
    image: IMAGE_URL
      resources:
        limits:
          cpu: `CPU`

    다음을 바꿉니다.

    • INSTANCE: Cloud Run 인스턴스의 이름.
    • IMAGE_URL: 컨테이너 이미지에 대한 참조(예: us-docker.pkg.dev/cloudrun/container/hello:latest).
    • CPU: CPU 한도 값. 1, 2, 4, 6 또는 8 CPU 값을 지정하거나 CPU 1개 미만의 경우 0.08에서 1.00 미만의 값을 0.01 단위로 지정합니다. 필요한 설정은 CPU 한도 설정 및 업데이트의 표를 참조하세요.
  3. 다음 명령어를 사용하여 인스턴스를 만들거나 업데이트합니다.

    gcloud beta run instances replace instance.yaml

예시 시나리오: vCPU 2개 인스턴스

인스턴스가 vCPU 2개로 제한되도록 구성된 경우:

  1. 기준 작업: 인스턴스는 최대 0.125 vCPU (2 vCPU의 6.25%)를 지속적으로 소비하면서 실행할 수 있습니다. 이 기준에서 작동하는 동안 버스트 잔액이 누적됩니다.
  2. 전체 버스트: 워크로드에 추가 처리 성능이 필요한 경우 인스턴스는 누적된 버스트 예산을 소비하면서 최대 2 vCPU (사용률 100%)까지 버스트됩니다.
  3. 제한: 버스트 잔액 예산이 소진되면 새 버스트 잔액이 누적될 때까지 인스턴스가 0.125 vCPU 기준점으로 제한됩니다.

인스턴스의 CPU 구성 보기

Google Cloud CLI 명령어 gcloud beta run instances describe를 사용하여 구성 세부정보를 볼 수 있습니다.