H4D 머신 유형 및 flex-start로 MIG 만들기


이 튜토리얼에서는 H4D 머신 유형을 사용하는 관리형 인스턴스 그룹 (MIG)을 만드는 방법을 보여줍니다. MIG는 동적 워크로드 스케줄러 flex-start 소비 모델을 사용하여 최대 7일 동안 컴퓨팅 리소스를 확보합니다.

MIG를 만들면 여러 가상 머신 (VM)을 단일 항목으로 관리할 수 있습니다. MIG의 각 VM은 인스턴스 템플릿을 기반으로 합니다. 그룹의 VM을 자동으로 관리함으로써 MIG는 고가용성과 확장성을 제공합니다. MIG에 대해 자세히 알아보려면 관리형 인스턴스 그룹을 참고하세요.

HPC VM 및 HPC 클러스터 생성 옵션에 대해 알아보려면 HPC 클러스터 생성 개요를 참고하세요.

이 튜토리얼은 단기 워크로드를 위해 상호 연결된 HPC 인스턴스 그룹을 만드는 데 관심이 있는 HPC 엔지니어, 플랫폼 관리자 및 운영자, 데이터 및 MPI 전문가를 대상으로 합니다. 결과 인스턴스는 인스턴스 관리 또는 작업 예약에 오케스트레이터를 사용하지 않습니다.

목표

  1. 선택사항: 선점형 할당량을 요청합니다.
  2. 선택사항: Virtual Private Cloud 네트워크를 만듭니다.
  3. 인스턴스 템플릿을 만듭니다.
  4. MIG 및 크기 조절 요청을 만듭니다.
  5. 삭제

비용

이 튜토리얼에서는 비용이 청구될 수 있는 Google Cloud구성요소를 사용합니다.

프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용하세요.

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

  3. 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

  4. gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다.

    gcloud init
  5. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the required API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable compute.googleapis.com
  8. Install the Google Cloud CLI.

  9. 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

  10. gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다.

    gcloud init
  11. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  12. Verify that billing is enabled for your Google Cloud project.

  13. Enable the required API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable compute.googleapis.com
  14. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/compute.instanceAdmin.v1,roles/compute.networkAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

    • PROJECT_ID: your project ID.
    • USER_IDENTIFIER: the identifier for your user account—for example, myemail@example.com.
    • ROLE: the IAM role that you grant to your user account.
  15. 선택사항: 선점형 할당량 요청

    MIG에 추가된 VM 인스턴스는 리전 할당량을 사용합니다. VM 인스턴스, 인스턴스 그룹, CPU, 디스크 할당량은 영역에 관계없이 리전의 모든 VM 인스턴스에서 사용될 수 있습니다.

    Flex-start를 사용할 때 할당량은 표준 할당량 또는 선점형 할당량일 수 있습니다.

    • 표준 할당량: 프로젝트에 선점형 할당량이 없고 선점형 할당량을 요청한 적이 없는 경우 인스턴스 리소스는 표준 할당량을 사용합니다.
    • 선점형 할당량: 선점형 할당량을 요청하면 임시 리소스에 별도의 할당량을 제공하여 할당량 가용성을 향상시킬 수 있습니다. 하지만 Compute Engine이 리전에 선점형 할당량을 부여하면 모든 관련 리소스에서 선점형 할당량만 사용합니다. 이 할당량이 소진된 경우 VM 리소스에 대한 추가 선점형 할당량을 요청해야 합니다.

    할당량 조정 요청에 설명된 단계에 따라 선점 가능한 할당량을 요청할 수 있습니다.

    필요한 할당량 유형

    인스턴스 그룹을 사용하려면 그룹에서 사용하는 모든 리소스에 사용 가능한 할당량 (예: CPU 할당량)과 사용 가능한 그룹 리소스 할당량을 확보해야 합니다. H4D 인스턴스의 경우 인스턴스에서 사용하는 머신 유형에 따라 다음 할당량 유형이 사용될 수 있습니다.

    리소스 표준 할당량 선점형 할당량
    CPU CPUS_PER_VM_FAMILY Preemptible CPUs
    로컬 SSD Local SSD per machine family (GB) Preemptible Local SSDs (GB)

    이 튜토리얼에서 리소스를 만들려면 다음 추가 리전별 할당량이 필요할 수 있습니다.

    • 영역 (단일 영역) 관리형 인스턴스 그룹: Instance group managersInstance groups
    • Google Cloud Hyperdisk:

      • Hyperdisk Balanced Capacity (GB)
      • Hyperdisk Balanced Throughput (MB/s)
      • Hyperdisk Balanced IOPS

    선택사항: VPC 네트워크 만들기

    명시적으로 사용 중지하지 않는 한, 각 프로젝트에는 인스턴스에 네트워크 연결을 제공하는 데 사용할 수 있는 기본 네트워크가 있습니다. VM을 만들 때는 VPC 네트워크 및 서브넷을 지정할 수 있습니다. 이 구성을 생략하면 기본 네트워크 및 서브넷이 사용됩니다.

    H4D 인스턴스는 Cloud RDMA를 사용하도록 구성할 수 있습니다. Cloud RDMA는 Compute Engine 인스턴스 간의 원격 직접 메모리 액세스 (RDMA)를 지원하는 IRDMA 네트워크 드라이버를 사용하여 지연 시간이 짧고 안정적인 메시지 기능을 지원합니다.

    이 튜토리얼에서는 다음을 사용합니다.

    • Cloud RDMA를 사용하도록 H4D 인스턴스를 구성하려면 이 섹션의 단계를 완료하세요.
    • Cloud RDMA를 사용하지 않으려면 이 섹션을 건너뛰고 대신 기본 네트워크를 사용하면 됩니다.

    RDMA 지원 인스턴스에는 최소 2개의 네트워크 인터페이스 (NIC)가 필요합니다.

    • NIC 유형 GVNIC: 일반 VM-VM 및 VM-인터넷 통신을 위해 TCP/IP 및 인터넷 트래픽에 gve 드라이버를 사용합니다.
    • NIC 유형 IRDMA: 인스턴스 간 Cloud RDMA 네트워킹에 IDPF/iRDMA 드라이버를 사용합니다.

    Cloud RDMA를 사용하는 인스턴스는 IRDMA 인터페이스를 하나만 가질 수 있습니다. 인스턴스당 최대 8개의 GVNIC 네트워크 인터페이스를 추가하여 총 10개의 NIC를 사용할 수 있습니다.

    인스턴스에서 사용할 Falcon VPC 네트워크를 설정하려면 문서화된 안내를 따르거나 제공된 스크립트를 사용하면 됩니다.

    안내 가이드

    네트워크를 만들려면 다음 안내를 수행하면 됩니다.

    스크립트

    인스턴스당 최대 9개의 GVNIC 네트워크 인터페이스와 1개의 IRDMA 네트워크 인터페이스를 만들 수 있습니다. 각 네트워크 인터페이스는 별도의 네트워크에 연결되어야 합니다. 네트워크를 만들려면 다음 스크립트를 사용하면 됩니다. 이 스크립트는 GVNIC용 네트워크 2개와 IRDMA용 네트워크 1개를 만듭니다.

    1. 선택사항: 스크립트를 실행하기 전에 RDMA 네트워크 프로필을 나열하여 사용 가능한 프로필이 있는지 확인합니다.
        gcloud beta compute network-profiles list
        
    2. 다음 코드를 복사하여 Linux 셸 창에서 실행합니다.

        #!/bin/bash
        # Set the number of GVNIC interfaces to create. You can create up to 9.
        NUM_GVNIC=NUMBER_OF_GVNIC
      
        # Create standard VPC (networks and subnets) for the GVNIC interfaces
          for N in $(seq 0 $(($NUM_GVNIC - 1))); do
            gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
                --subnet-mode=custom
      
            gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
                --network=GVNIC_NAME_PREFIX-net-$N \
                --region=REGION \
                --range=10.$N.0.0/16
      
            gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
                --network=GVNIC_NAME_PREFIX-net-$N \
                --action=ALLOW \
                --rules=tcp:0-65535,udp:0-65535,icmp \
                --source-ranges=10.0.0.0/8
        done
      
        # Create SSH firewall rules
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
            --network=GVNIC_NAME_PREFIX-net-0 \
            --action=ALLOW \
            --rules=tcp:22 \
            --source-ranges=IP_RANGE
      
        # Optional: Create a firewall rule for the external IP address for the
        #  first GVNIC network interface
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
            --network=GVNIC_NAME_PREFIX-net-0 \
            --action=ALLOW \
            --rules=icmp \
            --source-ranges=IP_RANGE
      
        # Create a network for the RDMA over Falcon network interface
        gcloud beta compute networks create RDMA_NAME_PREFIX-irdma \
            --network-profile=ZONE-vpc-falcon \
            --subnet-mode custom
      
        # Create a subnet for the RDMA network
        gcloud beta compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \
            --network=RDMA_NAME_PREFIX-irdma \
            --region=REGION \
            --range=10.2.0.0/16  # offset to avoid overlap with GVNIC subnet ranges
        

      다음을 바꿉니다.

      • NUMBER_OF_GVNIC: 만들 GVNIC 인터페이스 수입니다. 1~9 사이의 숫자를 지정합니다.
      • GVNIC_NAME_PREFIX: GVNIC NIC 유형을 사용하는 표준 VPC 네트워크 및 서브넷에 사용할 이름 프리픽스로 바꿉니다.
      • REGION: 네트워크를 만들려는 리전입니다. 이는 RDMA 네트워크를 만들 때 --network-profile 플래그에 지정된 영역과 일치해야 합니다. 예를 들어 영역을 europe-west4-b로 지정하면 리전은 europe-west4입니다.
      • IP_RANGE: SSH 방화벽 규칙에 사용할 VPC 네트워크 외부의 IP 주소 범위입니다. 모든 IPv4 또는 IPv6 소스 대신 액세스를 허용해야 하는 특정 IP 주소 범위를 지정하는 것이 좋습니다. 0.0.0.0/0 또는 ::/0을 소스 범위로 사용하지 마세요. Google Cloud외부 소스를 포함한 모든 IPv4 또는 IPv6 소스의 트래픽이 허용되기 때문입니다.
      • RDMA_NAME_PREFIX: IRDMA NIC 유형을 사용하는 VPC 네트워크 및 서브넷에 사용할 이름 프리픽스로 바꿉니다.
      • ZONE: 네트워크와 컴퓨팅 인스턴스를 만들 영역입니다. us-central1-a 또는 europe-west4-b를 사용합니다.
    3. 선택사항: VPC 네트워크 리소스가 성공적으로 생성되었는지 확인하려면 Google Cloud 콘솔에서 네트워크 설정을 확인하세요.

      1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

        VPC 네트워크로 이동

      2. 목록에서 이전 단계에서 만든 네트워크를 검색합니다.
      3. 서브넷, 방화벽 규칙, 기타 네트워크 설정을 보려면 네트워크 이름을 클릭합니다.

    인스턴스 템플릿 만들기

    Flex-start 소비 옵션을 사용하려면 빈 MIG를 만든 다음 MIG에 대한 크기 조절 요청을 만듭니다. 요청된 용량을 사용할 수 있게 되면 Compute Engine이 이를 프로비저닝하고 MIG에 인스턴스를 만듭니다. 최대 7일 동안 리소스를 획득합니다.

    MIG의 각 인스턴스에 대한 인스턴스 및 소비 속성을 지정하려면 다음 방법 중 하나를 사용하여 인스턴스 템플릿을 만듭니다.

    gcloud

    리전 인스턴스 템플릿을 만들려면 gcloud beta compute instance-templates create 명령어를 사용합니다.

    gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \
        --machine-type=MACHINE_TYPE \
        --image-family=IMAGE_FAMILY \
        --image-project=IMAGE_PROJECT \
        --instance-template-region=REGION \
        --boot-disk-type=hyperdisk-balanced \
        --boot-disk-size=DISK_SIZE \
        --scopes=cloud-platform \
        
    --network-interface=nic-type=GVNIC, \
          network=GVNIC_NAME_PREFIX-net-0, \
          subnet=GVNIC_NAME_PREFIX-sub-0, \
          stack-type=STACK_TYPE, \
          address=EXTERNAL_IPV4_ADDRESS \
    --network-interface=nic-type=GVNIC, \
          network=GVNIC_NAME_PREFIX-net-1, \
          subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=IRDMA, \
          network=RDMA_NAME_PREFIX-irdma, \
          subnet=RDMA_NAME_PREFIX-irdma-sub, \
          stack-type=IPV4_ONLY,no-address \
        
        --reservation-affinity=none \
        --instance-termination-action=DELETE \
        --max-run-duration=RUN_DURATION \
        --maintenance-policy=TERMINATE \
        --provisioning-model=FLEX_START
    

    다음을 바꿉니다.

    • INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름
    • MACHINE_TYPE: 인스턴스에 사용할 H4D 머신 유형입니다.
    • IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참고하세요.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.
    • REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다.
    • DISK_SIZE: 부팅 디스크의 크기(GiB)입니다.
    • GVNIC_NAME_PREFIX: gVNIC 인터페이스용 표준 VPC 네트워크 및 서브넷을 만들 때 사용한 이름 프리픽스로 바꿉니다.

      기본 네트워크를 사용하는 경우 nic-type 필드가 GVNIC로 설정된 단일 --network-interface 필드만 포함합니다. 또한 이 네트워크 인터페이스의 networksubnetwork 설정을 생략합니다.

    • STACK_TYPE: 선택사항: gVNIC 인터페이스에 사용할 스택 유형입니다. IPV4_ONLY 또는 IPV4_IPV6를 지정합니다. 값을 지정하지 않으면 기본적으로 IPV4_ONLY이 사용됩니다.
    • EXTERNAL_IPV4_ADDRESS: 선택사항: gVNIC 네트워크 인터페이스에 사용할 고정 외부 IPv4 주소입니다. 이전에 외부 IPv4 주소를 예약했어야 합니다. 다음 중 하나를 수행합니다.

      • 서브넷에서 유효한 IPv4 주소를 지정합니다.
      • 네트워크 인터페이스에 외부 IP 주소를 갖지 않도록 하려면 no-address 플래그를 사용하세요.
      • 네트워크 인터페이스에 임시 외부 IP 주소가 수신되도록 하려면 address=''를 지정합니다.

      GVNIC 네트워크 인터페이스의 외부 IPv6 주소를 지정하려면 --external-ipv6-address 플래그를 대신 사용하세요.

    • RDMA_NAME_PREFIX: IRDMA 네트워크 인터페이스의 VPC 네트워크 및 서브넷을 만들 때 사용한 이름 프리픽스로 바꿉니다.

      H4D 인스턴스에서 Cloud RDMA를 사용하지 않는 경우 IRDMA 인터페이스의 --network-interface 필드를 생략합니다.

    • RUN_DURATION: 요청된 인스턴스를 실행할 기간입니다. 각각 d, h, m, s를 사용하여 일, 시, 분 또는 초 순서로 값 형식을 지정해야 합니다. 예를 들어 30분의 경우 30m을, 1일 2시간 3분 4초의 경우 1d2h3m4s를 지정합니다. 값은 10분~7일 사이여야 합니다.

    REST

    리전 인스턴스 템플릿을 만들려면 beta regionInstanceTemplates.insert 메서드POST 요청을 보냅니다.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceTemplates
    {
      "name":"INSTANCE_TEMPLATE_NAME",
      "properties":{
        "disks":[
          {
            "boot":true,
            "initializeParams":{
              "diskSizeGb":"DISK_SIZE",
              "diskType":"hyperdisk-balanced",
              "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
            },
            "mode":"READ_WRITE",
            "type":"PERSISTENT"
          }
        ],
        "machineType":"MACHINE_TYPE",
        
            "networkInterfaces": [
            {
              "network": "GVNIC_NAME_PREFIX-net-0",
              "subnetwork": "GVNIC_NAME_PREFIX-sub-0",
              "accessConfigs": [
                {
                    "type": "ONE_TO_ONE_NAT",
                    "name": "External IP",
                    "natIP": "EXTERNAL_IPV4_ADDRESS"
                }
              ],
              "stackType": "IPV4_ONLY",
              "nicType": "GVNIC",
          },
          {
              "network": "GVNIC_NAME_PREFIX-net-1",
              "subnetwork": "GVNIC_NAME_PREFIX-sub-1",
              "stackType": "IPV4_ONLY",
              "nicType": "GVNIC",
          },
          {
              "network": "RDMA_NAME_PREFIX-irdma",
              "subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
              "stackType": "IPV4_ONLY",
              "nicType": "IRDMA",
          }
        ],
    ,
        "reservationAffinity": {
            "consumeReservationType": "NO_RESERVATION"
          },
        "scheduling": {
            "instanceTerminationAction": "DELETE",
            "maxRunDuration": {
              "seconds": RUN_DURATION
            },
            "onHostMaintenance": "TERMINATE",
            "provisioningModel": "FLEX_START"
          }
    
      }
    }
    

    다음을 바꿉니다.

    • INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름
    • MACHINE_TYPE: 인스턴스에 사용할 머신 유형입니다. H4D 머신 유형을 지정합니다. 자세한 내용은 H4D 머신 유형을 참고하세요.
    • IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참고하세요.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.
    • REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역을 참고하세요.
    • DISK_SIZE: 부팅 디스크의 크기(GiB)입니다.
    • GVNIC_NAME_PREFIX: gVNIC 인터페이스용 표준 VPC 네트워크 및 서브넷을 만들 때 사용한 이름 프리픽스로 바꿉니다.

      기본 네트워크를 사용하는 경우 nic-type 필드가 GVNIC로 설정된 단일 --network-interface 필드만 포함합니다. 또한 이 네트워크 인터페이스의 networksubnetwork 설정을 생략합니다.

    • EXTERNAL_IPV4_ADDRESS: 선택사항: gVNIC 네트워크 인터페이스에 사용할 고정 외부 IPv4 주소입니다. 이전에 외부 IPv4 주소를 예약했어야 합니다.

      GVNIC 네트워크 인터페이스의 외부 IPv6 주소를 지정하려면 --external-ipv6-address 플래그를 대신 사용하세요.

    • RDMA_NAME_PREFIX: IRDMA 네트워크 인터페이스의 VPC 네트워크 및 서브넷을 만들 때 사용한 이름 프리픽스로 바꿉니다.

      H4D 인스턴스에서 Cloud RDMA를 사용하지 않는 경우 IRDMA 인터페이스의 --network-interface 필드를 생략합니다.

    • RUN_DURATION: 요청된 인스턴스를 실행할 기간(초)입니다. 값은 600(600초(10분))~604800(604,800초(7일)) 사이여야 합니다.

    인스턴스 템플릿을 만든 후 템플릿을 확인하여 ID를 확인하고 인스턴스 속성을 검토할 수 있습니다.

    크기 조절 요청이 있는 MIG 만들기

    요청된 모든 Flex-start 인스턴스를 동시에 만들려면 MIG를 만든 후 이 섹션에 설명된 대로 MIG에서 크기 조절 요청을 만드세요.

    MIG 만들기

    MIG를 만들려면 다음 옵션 중 하나를 선택합니다.

    gcloud

    다음과 같이 영역 또는 리전 MIG를 만듭니다.

    • 영역 MIG를 만들려면 다음과 같이 instance-groups managed create 명령어를 사용합니다.

          gcloud compute instance-groups managed create MIG_NAME \
              --template=INSTANCE_TEMPLATE_URL \
              --size=0 \
              --default-action-on-vm-failure=do-nothing \
              --zone=ZONE
          
    • 리전 MIG를 만들려면 다음과 같이 instance-groups managed create 명령어를 사용합니다.

          gcloud compute instance-groups managed create MIG_NAME \
              --template=INSTANCE_TEMPLATE_URL \
              --size=0 \
              --default-action-on-vm-failure=do-nothing \
              --zones=ZONE \
              --target-distribution-shape=any-single-zone \
              --instance-redistribution-type=none
          

    REST

    다음과 같이 영역 또는 리전 MIG를 만듭니다.

    • 영역 MIG를 만들려면 다음과 같이 instanceGroupManagers.insert 메서드POST 요청을 수행합니다.
            POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
            {
              "versions": [
              {
                "instanceTemplate": "INSTANCE_TEMPLATE_URL"
              }
              ],
              "name": "MIG_NAME",
              "targetSize": 0,
              "instanceLifecyclePolicy": {
                  "defaultActionOnFailure": "DO_NOTHING"
              }
            }
           
    • 리전 MIG를 만들려면 다음과 같이 regionInstanceGroupManagers.insert 메서드POST 요청을 보냅니다.
            POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
            {
              "versions": [
                {
                  "instanceTemplate": "INSTANCE_TEMPLATE_URL"
                }
              ],
              "name": "MIG_NAME",
              "targetSize": 0,
              "distributionPolicy": {
                "targetShape": "ANY_SINGLE_ZONE",
                "zones": [
                  {
                  "zone": "projects/PROJECT_ID/zones/ZONE"
                  }
                ]
              },
              "updatePolicy": {
                "instanceRedistributionType": "NONE"
              },
              "instanceLifecyclePolicy": {
                "defaultActionOnFailure": "DO_NOTHING"
              }
            }
           

    크기 조절 요청 만들기

    MIG에서 크기 조절 요청을 만들려면 다음 옵션 중 하나를 선택합니다.

    gcloud

    다음과 같이 크기 조절 요청을 만듭니다.

    • 영역 MIG에서 크기 조절 요청을 만들려면 다음과 같이 instance-groups managed resize-requests create 명령어를 사용합니다.

          gcloud compute instance-groups managed resize-requests create MIG_NAME \
              --resize-request=RESIZE_REQUEST_NAME \
              POPULATION_METHOD \
              --zone=ZONE
          
    • 리전 MIG에서 크기 조절 요청을 만들려면 다음과 같이 베타 instance-groups managed resize-requests create 명령어를 사용합니다.

            gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
                --resize-request=RESIZE_REQUEST_NAME \
                POPULATION_METHOD \
                --region=REGION
            

    REST

    다음과 같이 영역 또는 리전 MIG에서 크기 조절 요청을 만듭니다.

    • 영역 MIG에서 크기 조절 요청을 만들려면 다음과 같이 instanceGroupManagerResizeRequests.insert 메서드에 대해 POST 요청을 수행합니다.
            POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
            {
              "name": "RESIZE_REQUEST_NAME",
              POPULATION_METHOD
            }
            
    • 리전 MIG에서 크기 조절 요청을 만들려면 다음과 같이 beta.regionInstanceGroupManagerResizeRequests.insert 메서드에 대해 POST 요청을 수행합니다.
            POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
            {
              "name": "RESIZE_REQUEST_NAME",
              POPULATION_METHOD
            }
            

    삭제

    이 튜토리얼에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트를 유지하고 개별 리소스를 삭제하세요.

    프로젝트 삭제

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

    리소스 삭제

    1. MIG에서 크기 조절 요청 삭제

    2. MIG 및 인스턴스를 삭제합니다.

    3. 인스턴스 템플릿에서 디스크의 자동 삭제 상태가 False로 설정된 경우 VM 인스턴스가 삭제될 때 디스크가 자동으로 삭제되지 않습니다. 다음 방법 중 하나를 사용하여 디스크를 삭제할 수 있습니다.

      콘솔

      1. Google Cloud 콘솔에서 디스크 페이지로 이동합니다.

      디스크로 이동

      1. 이 튜토리얼에서 만든 디스크가 포함된 행을 선택합니다. 각 디스크의 다음에서 사용 중 열이 비어 있는지 확인합니다.

      2. 삭제를 클릭한 후 삭제를 클릭하여 확인합니다.

      gcloud

      gcloud compute disks delete 명령어를 사용합니다.

      gcloud compute disks delete DISK_NAME \
          --project PROJECT_ID --zone ZONE
      

      다음을 바꿉니다.

      • DISK_NAME : 삭제할 디스크의 이름입니다.
      • PROJECT_ID: 디스크가 포함된 프로젝트의 ID
      • ZONE: 디스크 영역

      REST

      disks.delete 메서드를 사용하여 디스크를 삭제합니다.

      DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME 
      

      다음을 바꿉니다.

      • PROJECT_ID: 디스크가 포함된 프로젝트의 ID
      • ZONE: 디스크 영역
      • DISK_NAME : 삭제할 디스크의 이름입니다.
    4. 네트워크를 삭제합니다.

    5. 인스턴스 템플릿을 삭제합니다.

    다음 단계