약정 병합 및 분할


프로젝트의 리소스 요구사항을 관리하는 데 도움이 되도록 Compute Engine을 통해 기존 약정을 병합 또는 분할하고 프로젝트에 필요한 세부사항에 맞게 리소스를 재배포할 수 있습니다.

이 문서에서는 약정 병합 및 분할의 이점과 프로세스 그리고 적용되는 제한사항과 요구사항을 설명합니다.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.

약정 병합

호환되는 여러 약정을 병합하여 대규모 약정을 새로 만들 수 있습니다. 약정을 병합하여 단일 항목으로 추적하고 관리할 수 있습니다. 약정 병합 시 개별 약정이 동시에 종료되도록 지정하여 약정 만료일 지연을 피할 수 있습니다. 또한 병합을 통해 워크로드를 점진적으로 늘릴 수 있습니다. 예를 들어 필요한 경우 더 새롭고 작은 규모로 약정을 구매한 후 기존 약정과 병합하도록 선택할 수 있습니다.

병합 제한사항

  • 라이선스 약정은 병합할 수 없습니다.
  • 병합된 약정을 만들 때 새 예약을 만들어 약정에 연결할 수 없습니다.
  • 만료되었거나 취소된 약정은 병합할 수 없습니다.
  • 기본적으로 병합된 약정을 만들면 모든 소스 약정이 자동으로 갱신되도록 설정되더라도 새 약정에서 자동 갱신 설정이 사용 중지됩니다. 병합된 약정을 자동으로 갱신하려면 해당 약정에서 자동 갱신 설정을 수동으로 사용 설정해야 합니다. 이 작업은 생성 시 또는 생성 후에 수행할 수 있습니다.

병합 작동 방식

개별 약정(소스 약정)을 병합하면 모든 소스 약정의 결합된 리소스를 사용하여 새 약정(병합된 약정)을 만듭니다. 미국 및 캐나다 태평양 표준시(UTC-8 또는 일광 절약 시간에는 UTC-7) 기준으로 다음 날 오전 12에 병합된 약정이 활성화되고 소스 약정이 취소됩니다. 이 활성 날짜는 병합된 약정의 시작일이 되며 병합 작업이 종료됩니다.

Compute Engine은 병합된 약정의 만료일을 소스 약정 중에서 만료일이 가장 늦은 날짜로 설정합니다. 예를 들어 소스 약정이 2개이고 각각 2023년 1월 1일과 2023년 12월 1일에 만료되면 병합된 약정은 2023년 12월 1일에 만료됩니다.

소스 약정에 예약이 연결되어 있으면 예약은 병합 중에 보존되고 생성 후에 병합된 약정에 연결됩니다. 연결된 예약의 약정에 대한 자세한 내용은 예약과 약정 사용 할인의 결합을 참조하세요.

병합이 가격에 미치는 영향

약정 요금은 모든 약정 리소스의 할인된 가격 합계입니다. 약정을 병합하면 병합된 약정이 활성화된 날짜에 병합된 약정 리소스의 할인 가격이 변경될 수 있습니다. 각 리소스의 이 새로운 할인 가격은 주문형 가격이 변경되더라도 병합된 약정 기간이 종료될 때까지 동일하게 유지됩니다. 하지만 나중에 이 약정을 병합하거나 분할하면 리소스의 할인된 가격이 다시 변경될 수 있습니다.

병합된 약정의 예시

다음 표에서는 두 약정(source-commitment-1source-commitment-2)이 March 1, 2022에 하나의 약정(merged-commitment)으로 병합된 시나리오의 소스 및 병합된 약정 속성을 보여줍니다.

첫 번째 소스 약정
(병합 전)
두 번째 소스 약정
(병합 전)
병합된 약정
이름 source-commitment-1 source-commitment-2 merged-commitment
유형 N2 N2 N2
리전 us-central-1 us-central-1 us-central-1
리소스
  • vCPU: 100
  • 메모리: 100GB
  • vCPU: 200
  • 메모리: 300GB
  • vCPU: 300
  • 메모리: 400GB
용어 3년 3년 3년
시작일* 2020년 1월 1일 2020년 12월 1일 2022년 3월 2일
(병합 다음 날)
종료일 2023년 1월 1일 2023년 12월 1일 2023년 12월 1일

*모든 약정은 지정된 시작일에 미국 및 캐나다 태평양 표준시(UTC-8 또는 UTC-7) 기준 오전 12시에 시작합니다.
모든 약정은 지정된 시작일에 미국 및 캐나다 태평양 표준시(UTC-8 또는 UTC-7) 기준 오전 12시에 시작합니다.

병합 요구사항

개별 소스 약정을 병합하여 새 병합 약정을 만드는 경우 소스 및 병합된 약정은 다음 요구사항을 충족해야 합니다.

  • 소스 약정에는 동일한 프로젝트, 리전, 기간, 약정 유형 및 약정 범주가 있어야 합니다.
  • 새로 병합된 약정에는 소스 약정과 동일한 프로젝트, 리전, 기간, 약정 유형 및 약정 범주가 있어야 합니다. 그러나 병합된 약정에 새 이름을 선택할 수 있습니다.
  • 병합된 약정에 지정하는 리소스 유형은 소스 약정에 있는 리소스 유형과 정확히 같아야 합니다. 또한 새로 병합된 약정의 각 리소스 유형에 대한 리소스 양은 모든 소스 약정에서 해당 리소스 유형에 대한 리소스 양의 합계와 동일해야 합니다. 예를 들어 첫 번째 소스 약정에 vCPU 100개와 메모리 100GB가 있고 두 번째 소스 약정에 vCPU 200개와 메모리 300GB가 있으면 300개의 vCPU와 400GB 메모리로 병합된 약정을 만들어야 합니다.
  • 소스 및 병합된 약정은 하드웨어 리소스(vCPU, 메모리, GPU, 로컬 SSD 디스크)에 대한 것이어야 합니다.

병합된 약정 만들기

gcloud CLI 또는 Compute Engine API를 사용하여 병합된 약정을 만듭니다. 약정을 병합하기 전에 병합 제한사항을 검토합니다.

콘솔

  1. Google Cloud 콘솔에서 약정을 병합할 프로젝트를 선택하고 약정 사용 할인 페이지로 이동합니다.

    약정 사용 할인으로 이동

  2. 일련의 약정에 대한 병합 작업을 시작하려면 약정 목록 페이지의 하드웨어 약정 탭에서 병합을 클릭합니다.

    또는 목록에서 병합할 약정을 선택한 다음 병합을 클릭할 수도 있습니다.

  3. 열린 병합 페이지의 약정 선택 탭에서 다음을 수행합니다.

    1. 병합할 약정 선택의 목록에서 병합할 약정을 선택합니다. 약정 목록 페이지에서 이러한 약정을 이미 선택한 경우 이 탭에서 선택한 약정을 확인합니다.

      선택사항: 병합에 대한 개별 약정을 선택하기 전에 병합된 약정에 사용할 요금제, 리전, 약정 유형 값을 지정할 수도 있습니다. 이렇게 하면 약정 목록이 필터링되어 지정된 속성에 병합할 수 있는 약정만 표시됩니다.

    2. 다음을 클릭합니다. 검토 탭이 열립니다.

  4. 병합 페이지의 검토 탭에서 다음을 수행합니다.

    1. 병합된 약정의 세부정보를 검토하고 확인합니다. 병합할 개별 약정 목록을 수정하려면 기간 왼쪽에 있는 약정 선택 탭을 선택하고 3단계를 반복합니다.
    2. 새 약정 이름 필드에 병합된 약정의 이름을 입력합니다.
    3. 선택사항: 병합된 약정에서 자동 갱신을 사용 설정하려면 자동 갱신 사용 설정 체크박스를 선택합니다.
    4. 이용약관을 확인합니다.
    5. 병합된 약정 만들기를 완료하고 약정 목록 페이지로 돌아가려면 병합을 클릭합니다.

gcloud

기존 약정을 단일 약정으로 병합하려면 gcloud compute commitments create 명령어--merge-source-commitment 플래그와 함께 사용합니다.

gcloud compute commitments create COMMITMENT_NAME \
    --region=REGION \
    --project=PROJECT_ID \
    --plan=DURATION \
    --type=COMMITMENT_TYPE \
    --resources=vcpu=NUMBER_VCPUS,memory=MEMORY \
    --merge-source-commitments=SOURCE_COMMITMENT_URLS

다음을 바꿉니다.

  • COMMITMENT_NAME: 새로 병합된 약정의 이름입니다.
  • NUMBER_VCPUS: 소스 약정에 있는 vCPU 수의 합계입니다.
  • COMMITMENT_TYPE: 소스 약정과 동일한 약정 유형으로, 다음 중 하나입니다.
    • general-purpose: 범용 N1 머신 유형 약정입니다.
    • general-purpose-n2: 범용 N2 머신 유형 약정입니다.
    • general-purpose-e2: 범용 E2 머신 유형 약정입니다.
    • general-purpose-n2d: 범용 N2D 머신 유형 약정입니다.
    • general-purpose-t2d: 범용 Tau T2D 머신 유형 약정입니다.
    • compute-optimized: 컴퓨팅 최적화 C2 머신 유형 약정입니다.
    • compute-optimized-c2d: 컴퓨팅 최적화 C2D 머신 유형 약정입니다.
    • memory-optimized: 메모리 최적화 M1 또는 M2 머신 유형 약정입니다.
    • accelerator-optimized: 가속기 최적화 A2 머신 유형 약정입니다.
    • accelerator-optimized-a3: 가속기 최적화 A3 머신 유형 약정입니다.
    • graphics-optimized: 가속기 최적화 G2 머신 유형 약정입니다.
  • REGION: 소스 약정과 동일한 리전입니다.
  • PROJECT_ID: 약정을 병합할 프로젝트의 프로젝트 ID입니다.
  • DURATION: 소스 약정과 동일한 기간입니다(12-month 또는 36-month).
  • MEMORY: 소스 약정의 메모리 합계(MB 또는 GB)입니다. 예를 들어 1,000MB입니다. 단위를 지정하지 않으면 기본 단위는 GB입니다.
  • SOURCE_COMMITMENT_URLS: 각 URL을 쉼표로 구분하여 고유한 소스 약정 URL 목록을 지정합니다. URL 사이에는 공백을 추가하지 마세요. 목록에서 소스 약정 URL을 최소 두 개 이상 지정해야 합니다.

예를 들어 리소스가 각각 4개의 vCPU와 2,048MB, 3개의 vCPU와 2,048MB인 2개의 소스 약정이 있다고 가정해 보겠습니다. 각 소스 약정 기간은 12개월입니다. 다음 gcloud CLI 명령어는 두 약정을 결합하여 vCPU 7개 및 4,096MB의 리소스 및 12개월의 기간을 사용하여 새로운 병합 약정을 만듭니다.

gcloud compute commitments create merged-commitment \
    --plan=12-month \
    --project=myproject \
    --resources=vcpu=7,memory=4096 \
     --merge-source-commitments=projects/myproject/regions/us-central1/commitments/source-commitment-1,projects/myproject/regions/us-central1/commitments/source-commitment-2

API

기존 약정을 단일 약정으로 병합하려면 regionCommitments.insert 메서드를 사용합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
{
  "name": COMMITMENT_NAME,
  "plan": DURATION,
  "type" COMMITMENT_TYPE,
  "resources": [
    {
      "type": "vCPUs",
      "amount": NUMBER_VCPUS
    }
    {
      "type": "MEMORY",
      "amount": MEMORY
    }
  ],
  "mergeSourceCommitments": [SOURCE_COMMITMENT_URL ...]
}

다음을 바꿉니다.

  • PROJECT_ID: 약정을 병합할 프로젝트의 프로젝트 ID입니다.
  • REGION: 소스 약정과 동일한 리전입니다.
  • COMMITMENT_TYPE: 소스 약정과 동일한 약정 유형으로, 다음 중 하나입니다.
    • GENERAL_PURPOSE: 범용 N1 머신 유형 약정입니다.
    • GENERAL_PURPOSE_N2: 범용 N2 머신 유형 약정입니다.
    • GENERAL_PURPOSE_E2: 범용 E2 머신 유형 약정입니다.
    • GENERAL_PURPOSE_N2D: 범용 N2D 머신 유형 약정입니다.
    • GENERAL_PURPOSE_T2D: 범용 Tau T2D 머신 유형 약정입니다.
    • COMPUTE_OPTIMIZED: 컴퓨팅 최적화 C2 머신 유형 약정입니다.
    • COMPUTE_OPTIMIZED_C2D: 컴퓨팅 최적화 C2D 머신 유형 약정입니다.
    • MEMORY_OPTIMIZED: 메모리 최적화 M1 또는 M2 머신 유형 약정입니다.
    • ACCELERATOR_OPTIMIZED: 가속기 최적화 A2 머신 유형 약정입니다.
    • ACCELERATOR_OPTIMIZED_A3: 가속기 최적화 A3 머신 유형 약정입니다.
    • GRAPHICS_OPTIMIZED: 가속기 최적화 G2 머신 유형 약정입니다.
  • DURATION: 소스 약정과 동일한 기간입니다(TWELVE_MONTH 또는 THIRTY_SIX_MONTH).
  • COMMITMENT_NAME: 새로 병합된 약정의 이름입니다.
  • NUMBER_VCPUS: 소스 약정에 있는 vCPU 수의 합계입니다.
  • MEMORY: 소스 약정의 메모리 합계(MB)입니다. 예를 들어 1,000MB입니다. 단위를 지정하지 않으면 기본 단위는 MB입니다.
  • SOURCE_COMMITMENT_URL: 병합할 소스 약정의 URL입니다. 고유한 소스 약정 URL을 쉼표로 구분된 목록으로 지정해야 합니다.

예를 들어 리소스가 각각 4개의 vCPU와 2,048MB, 3개의 vCPU와 2,048MB인 2개의 소스 약정(source-commitment-1source-commitment-2)이 있다고 가정해 보겠습니다. 다음 Compute Engine API 요청은 source-commitment-1source-commitment-2를 단일 약정(merged-commitment)으로 병합합니다.

POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments
{
  "name": "merged-commitment",
  "plan": "TWELVE_MONTH",
   "resources": [
    {
      "type": "VCPU",
      "amount": "7"
    }
    {
      "type": "MEMORY",
      "amount": "4096"
    }
  ],
  "mergeSourceCommitments": [
         "projects/myproject/regions/us-central1/commitments/source-commitment-1",
         "projects/myproject/regions/us-central1/commitments/source-commitment-2",
         ...
    ]
}

약정 분할

리소스를 기존 약정 외부로 전송하고 약정을 작은 약정으로 분할할 수 있습니다. 분할을 사용하면 개별 약정보다 작은 형식으로 대규모 약정 중 일부를 면밀하게 모니터링하고 관리할 수 있습니다. 예를 들어 약정의 일부를 분할하고 하위 약정 중 하나에 대해서만 자동 갱신을 사용 설정하여 자동으로 갱신되도록 설정할 수 있습니다. 분할을 사용하면 분할 약정에 우선순위 방식의 기여 분석을 사용하여 보다 세분화된 수준에서 약정 사용 할인을 배포할 수 있습니다.

분할 제한사항

  • 라이선스 약정을 분할할 수 없습니다.
  • 예약이 연결된 약정을 분할할 수 없습니다. 따라서 GPU, 로컬 SSD 디스크 또는 둘 다 있는 약정을 분할할 수 없습니다. 이러한 리소스에 대한 약정은 항상 예약이 연결되어 있기 때문입니다.
  • 분할 약정을 만들 때 새 예약을 만들어 약정에 연결할 수 없습니다.
  • 만료되었거나 취소된 약정은 분할할 수 없습니다.
  • 기본적으로 분할 약정을 만들면 모든 소스 약정이 자동으로 갱신되도록 설정되더라도 새 약정에서 자동 갱신 설정이 사용 중지됩니다. 분할 약정을 자동으로 갱신하려면 해당 약정에서 자동 갱신 설정을 수동으로 사용 설정해야 합니다. 이 작업은 생성 시 또는 생성 후에 수행할 수 있습니다.
  • Compute Engine API 또는 gcloud CLI를 사용하여 한 번에 하나의 새 분할 약정만 만들 수 있습니다.

분할 작동 방식

기존 약정(소스 약정)을 분할할 때 리소스를 소스 약정 외부로 전송하고, 하나 이상의 새 약정(분할 약정)을 만들고, 전송된 리소스를 새 분할 약정 간에 재배포합니다. 새 분할 약정의 활성화 및 소스 약정의 크기 조정은 모두 미국 및 캐나다 태평양 표준시(UTC-8 또는 일광 절약 시간에는 UTC-7) 기준으로 다음 날 자정에 적용됩니다. Compute Engine은 활성화 날짜를 분할 약정의 시작일로 설정합니다. 분할 작업이 완료되면 다음과 같은 약정이 됩니다.

  • 분할 후에도 남아 있는 리소스와 함께 크기가 조정된 소스 약정
  • 재배포된 리소스와 함께 새로 생성된 분할 약정

소스 약정은 크기가 조정되었지만 시작일과 만료일을 포함한 다른 모든 속성은 보관되며 계속 정상적으로 작동합니다. 분할 약정의 만료일은 소스 약정과 동일하게 유지됩니다.

Compute Engine API와 gcloud CLI를 사용하여 한 번에 하나의 새 분할 약정만 만들 수 있습니다. Google Cloud 콘솔을 사용하여 단일 작업으로 새 분할 약정을 여러 개 만들 수 있습니다.

예약이 연결된 약정은 분할할 수 없습니다. 연결된 예약의 약정에 대한 자세한 내용은 예약과 약정 사용 할인의 결합을 참조하세요.

분할이 가격에 미치는 영향

약정 요금은 모든 약정 리소스의 할인된 가격 합계입니다. 약정을 분할하면 다음과 같은 방식으로 리소스 비용에 영향을 줍니다.

  • 크기가 조정된 소스 약정: 크기가 조정된 소스 약정의 리소스 할인 가격은 동일하게 유지됩니다.
  • 분할 약정: 새로 분할된 약정의 리소스 할인 가격은 분할 약정이 활성화된 날에 변경될 수 있습니다. 각 리소스의 이 새로운 할인 가격은 주문형 가격이 변경되더라도 새로운 분할 약정 기간이 종료될 때까지 동일하게 유지됩니다.

하지만 나중에 이러한 약정을 병합하거나 분할하면 할인된 가격이 다시 변경될 수 있습니다.

분할 약정의 예시

다음 표에서는 기존 약정(source-commitment)이 2022년 3월 1일에 두 개의 개별 약정(크기 조절된 source-commitmentsplit-commitment)으로 분할된 경우의 약정 속성을 보여줍니다.

소스 약정
(분할 전)
분할 약정 소스 약정
(분할 후)
이름 source-commitment split-commitment source-commitment
유형 N2 N2 N2
리전 us-central-1 us-central-1 us-central-1
리소스
  • vCPU: 200
  • 메모리: 200GB
  • vCPU: 50
  • 메모리: 100GB
  • vCPU: 150
  • 메모리: 100GB
용어 3년 3년 3년
시작일* 2020년 1월 1일 2022년 3월 2일
(분할 다음 날)
2020년 1월 1일
종료일 2023년 1월 1일 2023년 1월 1일 2023년 1월 1일

*모든 약정은 지정된 시작일에 미국 및 캐나다 태평양 표준시(UTC-8 또는 UTC-7) 기준 오전 12시에 시작합니다.
모든 약정은 지정된 시작일에 미국 및 캐나다 태평양 표준시(UTC-8 또는 UTC-7) 기준 오전 12시에 시작합니다.

분할 요구사항

소스 약정을 분할하고 하나 이상의 분할 약정을 만드는 경우 소스 및 분할 약정은 다음 요구사항을 충족해야 합니다.

  • 새 분할 약정은 소스 약정과 동일한 프로젝트, 약정 유형, 리전, 기간을 가져야 합니다. 단, 분할 약정을 위한 새 이름을 선택해야 합니다.
  • 새 분할 약정에 지정하는 리소스 유형은 소스 약정의 일부 또는 모든 리소스 유형과 일치해야 합니다. 또한 새 분할 약정에 지정하는 리소스의 합계는 소스 약정의 리소스에 포함되어야 합니다. 소스 약정에서 리소스 일부를 유지해야 합니다. 예를 들어 소스 약정이 vCPU 200개와 메모리 300GB라고 가정하면 다음 크기 조절 및 재배포 시나리오가 적용됩니다.
    • 새 분할 약정 간에 vCPU 200개와 메모리 300GB의 일부를 재배포할 수 있습니다.
    • vCPU 200개를 모두 재배포할 수 있지만 소스 약정에서 메모리의 일부를 유지해야 합니다.
    • 메모리 300GB를 모두 재배포할 수 있지만 소스 약정에서 vCPU 일부를 유지해야 합니다.
    • 새 분할 약정 간에 vCPU 200개와 메모리 300GB를 모두 재배포할 수 없습니다.
  • 소스 및 분할 약정은 vCPU, 메모리 또는 이 둘의 조합인 하드웨어 리소스에 대한 약정이어야 합니다.

또한 Google Cloud CLI를 사용하여 소스 약정을 분할하려면 Google Cloud CLI를 버전 423.0.0 이상으로 업데이트합니다. 이전 gcloud CLI 버전을 사용하여 소스 약정을 분할하려고 하면 분할 작업이 실패하고 Compute Engine에서 오류가 발생합니다.

분할 약정 만들기

gcloud CLI 또는 Compute Engine API를 사용하여 한 번에 하나의 새 분할 약정을 만듭니다. Google Cloud 콘솔을 사용하여 한 번에 여러 개의 새 분할 약정을 만듭니다. 약정을 분할하기 전에 분할 제한사항을 검토하세요.

콘솔

  1. Google Cloud 콘솔에서 약정을 분할할 프로젝트를 선택하고 약정 사용 할인 페이지로 이동합니다.

    약정 사용 할인으로 이동

  2. 약정에 대한 분할 작업을 시작하려면 약정 목록 페이지의 하드웨어 약정 탭에서 다음 중 하나를 수행하세요.

    • 목록에서 분할할 약정을 선택하고 분할을 클릭합니다.
    • 이름 열에서 분할할 약정의 이름을 클릭합니다. 하드웨어 약정 세부정보 페이지가 열리면 분할을 클릭합니다.
  3. 열린 약정 분할 페이지의 크기 조절 탭에서 다음을 수행합니다.

    1. vCPU메모리 필드에서 원래 약정에 보관할 vCPU 수와 메모리를 지정합니다. 나머지 리소스는 분할 약정으로 재배포할 수 있습니다. 소스 약정의 크기를 조절한 후에는 비워 둘 수 없습니다.
    2. 다음을 클릭합니다. 재배포 탭이 열립니다.
  4. 약정 분할 페이지의 재배포 탭에서 다음을 수행합니다.

    1. 이름 필드에 분할 약정 이름을 지정합니다.
    2. vCPU메모리 필드에서 분할 약정에 원하는 vCPU 수와 메모리를 지정합니다.
      • 여러 분할 약정을 만들려면 재분산 리소스의 일부만 지정합니다.
      • 그렇지 않으면 재분배 리소스를 모두 지정합니다.
    3. 선택사항: 분할 약정에서 자동 갱신을 사용 설정하려면 자동 갱신 사용 설정 체크박스를 선택합니다.
    4. 완료를 클릭합니다.
    5. 선택사항: 분할 약정을 추가로 만들려면 항목 추가를 클릭하고 이전 단계를 반복합니다.
    6. 다음을 클릭합니다. 검토 탭이 열립니다.
  5. 약정 분할 페이지의 검토 탭에서 다음을 수행합니다.

    1. 크기가 조절된 약정과 분할 약정의 세부정보를 검토 및 확인합니다.
      • 원래 약정에서 리소스 할당을 수정하려면 창 왼쪽의 크기 조절 탭을 선택하고 3단계를 반복합니다.
      • 분할 약정 간에 리소스 재분산을 수정하려면 기간 왼쪽에 있는 재배포 탭을 선택하고 4단계를 반복합니다.
    2. 이용약관을 확인합니다.
    3. 분할 약정 만들기를 완료하고 약정 목록 페이지로 돌아가려면 제출을 클릭합니다.

gcloud

기존 약정을 2개로 분할하려면 gcloud compute commitments create 명령어--split-source-commitment 플래그와 함께 사용합니다.

gcloud compute commitments create COMMITMENT_NAME \
    --region=REGION \
    --project=PROJECT_ID \
    --plan=DURATION \
    --type=COMMITMENT_TYPE \
    --resources=vcpu=NUMBER_VCPUS,memory=MEMORY \
    --split-source-commitment=SOURCE_COMMITMENT_URL

다음을 바꿉니다.

  • COMMITMENT_NAME: 새 분할 약정의 이름입니다.
  • COMMITMENT_TYPE: 소스 약정과 동일한 약정 유형으로, 다음 중 하나입니다.
    • general-purpose: 범용 N1 머신 유형 약정입니다.
    • general-purpose-n2: 범용 N2 머신 유형 약정입니다.
    • general-purpose-e2: 범용 E2 머신 유형 약정입니다.
    • general-purpose-n2d: 범용 N2D 머신 유형 약정입니다.
    • general-purpose-t2d: 범용 Tau T2D 머신 유형 약정입니다.
    • compute-optimized: 컴퓨팅 최적화 C2 머신 유형 약정입니다.
    • compute-optimized-c2d: 컴퓨팅 최적화 C2D 머신 유형 약정입니다.
    • memory-optimized: 메모리 최적화 M1 또는 M2 머신 유형 약정입니다.
    • accelerator-optimized: 가속기 최적화 A2 머신 유형 약정입니다.
    • accelerator-optimized-a3: 가속기 최적화 A3 머신 유형 약정입니다.
    • graphics-optimized: 가속기 최적화 G2 머신 유형 약정입니다.
  • REGION: 소스 약정과 동일한 리전입니다.
  • PROJECT_ID: 소스 약정을 분할할 프로젝트의 프로젝트 ID입니다.
  • DURATION: 소스 약정과 동일한 기간입니다(12-month 또는 36-month).
  • NUMBER_VCPUS: 새 분할 약정을 만들기 위해 소스 약정에서 전송할 vCPU 수입니다. 이 수는 소스 약정의 vCPU 수보다 작은 정수여야 합니다.
  • MEMORY: 새 분할 약정을 만들기 위해 소스 약정에서 전송할 메모리 양(MB 또는 GB)입니다. 이 크기는 소스 약정의 메모리 양보다 작아야 합니다. 예를 들어 1,000MB입니다. 단위를 지정하지 않으면 기본 단위는 GB입니다. 메모리는 0.25GB 단위로 구매할 수 있습니다.
  • SOURCE_COMMITMENT_URL: 리소스를 분할하려는 소스 약정의 URL입니다.

예를 들어 vCPU가 3개이고 메모리가 2,048MB인 소스 약정(source-commitment)을 고려합니다. 다음 gcloud CLI 명령어는 source-commitment에서 리소스를 가져오고, 1vCPU 및 1024MB 메모리로 분할 약정(split-commitment)을 만들고, source-commitment의 크기를 나머지 리소스로 조정합니다.

gcloud compute commitments create split-commitment \
    --plan=12-month \
    --project=myproject \
    --resources vcpu=1,memory=1024MB \
    --split-source-commitment=projects/myproject/regions/us-central1/commitments/source-commitment

API

기존 약정을 2개로 분할하려면 regionCommitments.insert 메서드를 사용합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
{
  "name": COMMITMENT_NAME,
  "plan": DURATION,
  "type" COMMITMENT_TYPE,
  "resources": [
    {
      "type": "vCPUs",
      "amount": NUMBER_VCPUS
    }
    {
      "type": "MEMORY",
      "amount": MEMORY
    }
  ],
  "splitSourceCommitment": SOURCE_COMMITMENT_URL
}

다음을 바꿉니다.

  • PROJECT_ID: 소스 약정을 분할할 프로젝트의 프로젝트 ID입니다.
  • REGION: 소스 약정과 동일한 리전입니다.
  • COMMITMENT_NAME: 새 분할 약정의 이름입니다.
  • COMMITMENT_TYPE: 소스 약정과 동일한 약정 유형으로, 다음 중 하나입니다.
    • GENERAL_PURPOSE: 범용 N1 머신 유형 약정입니다.
    • GENERAL_PURPOSE_N2: 범용 N2 머신 유형 약정입니다.
    • GENERAL_PURPOSE_E2: 범용 E2 머신 유형 약정입니다.
    • GENERAL_PURPOSE_N2D: 범용 N2D 머신 유형 약정입니다.
    • GENERAL_PURPOSE_T2D: 범용 Tau T2D 머신 유형 약정입니다.
    • COMPUTE_OPTIMIZED: 컴퓨팅 최적화 C2 머신 유형 약정입니다.
    • COMPUTE_OPTIMIZED_C2D: 컴퓨팅 최적화 C2D 머신 유형 약정입니다.
    • MEMORY_OPTIMIZED: 메모리 최적화 M1 또는 M2 머신 유형 약정입니다.
    • ACCELERATOR_OPTIMIZED: 가속기 최적화 A2 머신 유형 약정입니다.
    • ACCELERATOR_OPTIMIZED_A3: 가속기 최적화 A3 머신 유형 약정입니다.
    • GRAPHICS_OPTIMIZED: 가속기 최적화 G2 머신 유형 약정입니다.
  • DURATION: 소스 약정과 동일한 기간입니다(TWELVE_MONTH 또는 THIRTY_SIX_MONTH).
  • NUMBER_VCPUS: 새 분할 약정을 만들기 위해 소스 약정에서 전송할 vCPU 수입니다. 이 수는 소스 약정의 vCPU 수보다 작은 정수여야 합니다.
  • MEMORY: 새 분할 약정을 만들기 위해 소스 약정에서 전송할 메모리 양(MB)입니다. 이 크기는 소스 약정의 메모리 양보다 작아야 합니다. 예를 들어 1,000MB입니다. 단위를 지정하지 않으면 기본 단위는 MB입니다. 메모리는 0.25GB 단위로 구매할 수 있습니다.
  • SOURCE_COMMITMENT_URL: 리소스를 전송할 소스 약정의 URL입니다.

예를 들어 vCPU가 3개이고 메모리가 2,048MB인 소스 약정(source-commitment)을 고려합니다. 다음 Compute Engine API 요청은 source-commitment에서 리소스를 가져오고, 1vCPU 및 1024MB 메모리로 분할 약정(split-commitment)을 만들고, source-commitment의 크기를 나머지 리소스로 조정합니다.

POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments
{
  "name": "split-commitment",
  "plan": "TWELVE_MONTH",
  "resources": [
    {
      "type": "VCPU",
      "amount": "1"
    }
    {
      "type": "MEMORY",
      "amount": "1024"
    }
  ],
  "splitSourceCommitment": "projects/myproject/regions/us-central1/commitments/source-commitment"
}

다음 단계