Membuat MIG untuk workload HPC dengan penggunaan terikat reservasi

Tutorial ini menunjukkan cara membuat grup instance terkelola (MIG) yang menggunakan jenis mesin H4D. MIG menggunakan model penyediaan terikat reservasi untuk mendapatkan resource komputasi.

Dengan membuat MIG, Anda dapat mengelola beberapa virtual machine (VM) sebagai satu entitas. Setiap VM dalam MIG didasarkan pada template instance. Dengan mengelola VM dalam grup secara otomatis, MIG menawarkan ketersediaan tinggi dan skalabilitas. Untuk mempelajari MIG lebih lanjut, lihat Grup instance terkelola.

Untuk mempelajari opsi pembuatan VM HPC dan cluster HPC, lihat Ringkasan pembuatan cluster HPC.

Tutorial ini ditujukan untuk engineer HPC, administrator dan operator platform, serta spesialis data dan MPI yang tertarik untuk membuat grup instance HPC yang saling terhubung untuk menjalankan workload mereka. Instance yang dihasilkan tidak menggunakan pengorkestrasi untuk pengelolaan instance atau penjadwalan tugas.

Jika Anda ingin membuat grup instance terkelola, tetapi tidak perlu membuat deployment padat instance, lihat Skenario dasar untuk membuat grup instance terkelola (MIG).

Kapasitas cadangan

Untuk menggunakan perintah dalam tutorial ini, Anda harus mencadangkan kapasitas untuk membuat instance di MIG.

Membuat reservasi mendatang untuk blok kapasitas

Tindakan ini memungkinkan Anda memesan blok kapasitas untuk durasi yang ditentukan, dimulai pada tanggal dan waktu tertentu yang Anda pilih. Reservasi mencadangkan blok atau sub-blok kapasitas dalam cluster, yang memungkinkan deployment instance VM yang padat.

Untuk membuat pemesanan untuk masa mendatang untuk deployment padat, prosesnya adalah sebagai berikut:

  1. Ikuti proses untuk mencadangkan kapasitas dengan menghubungi tim akun Anda dalam dokumentasi AI Hypercomputer. Dalam permintaan pemesanan untuk masa mendatang, berikan informasi seperti yang didokumentasikan, dengan pengecualian berikut:

    • Machine type: Tentukan jenis mesin H4D h4d-highmem-192-lssd.
    • Zona: Tentukan salah satu zona tempat instance H4D tersedia, seperti yang didokumentasikan dalam tabel Region dan zona yang tersedia. Untuk menampilkan zona yang tersedia hanya untuk H4D, di daftar Select a machine series, pilih H4D.
    • Jenis penjadwalan pemeliharaan: Untuk instance H4D, Anda dapat menentukan GROUPED atau INDEPENDENT.
    • Mode operasional reservasi: Untuk instance H4D, tentukan nilai HIGHLY_AVAILABLE_CAPACITY.
  2. Kuota akan otomatis ditingkatkan sebelum kapasitas diberikan. Anda tidak perlu melakukan tindakan apa pun.

  3. Saat membuat template instance, tentukan model penyediaan yang terikat dengan reservasi. Instance VM di MIG disediakan dari kapasitas yang dipesan.

Anda akan ditagih untuk seluruh periode reservasi, terlepas dari apakah Anda menggunakan resource yang dipesan selama seluruh periode tersebut atau tidak. Untuk mengetahui informasi selengkapnya, lihat Penagihan reservasi.

Membuat pemesanan untuk masa mendatang dalam mode kalender

Jika Anda perlu menggunakan kapasitas yang dicadangkan selama kurang dari 90 hari, Anda dapat membuat reservasi mendatang dalam mode kalender menggunakan Dynamic Workload Scheduler. Untuk mendapatkan resource pemesanan untuk masa mendatang, prosesnya adalah sebagai berikut:

  1. Cari kapasitas yang tersedia dan pesan resource menggunakan Google Cloud konsol, gcloud CLI, atau Compute Engine API.
  2. Tidak ada kuota yang dikenai biaya dan Anda tidak perlu melakukan tindakan apa pun.
  3. Saat membuat template instance, tentukan model penyediaan yang terikat dengan reservasi. Instance VM di MIG disediakan dari kapasitas yang dipesan.

Anda akan ditagih untuk seluruh periode reservasi, terlepas dari apakah Anda menggunakan resource yang dipesan selama seluruh periode tersebut atau tidak. Untuk mengetahui informasi selengkapnya, lihat Harga Dynamic Workload Scheduler.

Opsional: Buat jaringan VPC

Kecuali jika Anda memilih untuk menonaktifkannya, setiap project memiliki jaringan default, yang dapat digunakan untuk menyediakan konektivitas jaringan bagi instance Anda. Saat membuat VM, Anda dapat menentukan jaringan dan subnet VPC. Jika Anda menghapus konfigurasi ini, jaringan dan subnet default akan digunakan.

Instance H4D dapat dikonfigurasi untuk menggunakan Cloud RDMA. Cloud RDMA memungkinkan kemampuan pengiriman pesan yang andal dengan latensi rendah menggunakan driver jaringan IRDMA yang mendukung Remote Direct Memory Access (RDMA) antara instance Compute Engine.

Untuk tutorial ini:

  • Jika Anda ingin mengonfigurasi instance H4D untuk menggunakan Cloud RDMA, selesaikan langkah-langkah di bagian ini.
  • Jika tidak ingin menggunakan Cloud RDMA, Anda dapat melewati bagian ini dan menggunakan jaringan default.

Instance yang mendukung RDMA memerlukan minimal dua antarmuka jaringan (NIC):

  • Jenis NIC GVNIC: menggunakan driver gve untuk traffic TCP/IP dan Internet untuk komunikasi VM-VM dan VM-Internet normal.
  • Jenis NIC IRDMA: menggunakan driver IDPF/iRDMA untuk jaringan Cloud RDMA antar-instance.

Instance yang menggunakan Cloud RDMA hanya dapat memiliki satu antarmuka IRDMA. Anda dapat menambahkan hingga delapan antarmuka jaringan GVNIC tambahan dengan total 10 NIC per instance.

Untuk menyiapkan jaringan VPC Falcon untuk digunakan dengan instance Anda, Anda dapat mengikuti petunjuk yang didokumentasikan atau menggunakan skrip yang disediakan.

Panduan petunjuk

Untuk membuat jaringan, Anda dapat menggunakan petunjuk berikut:

Skrip

Anda dapat membuat hingga sembilan antarmuka jaringan GVNIC dan satu antarmuka jaringan IRDMA per instance. Setiap antarmuka jaringan harus terpasang ke jaringan yang terpisah. Untuk membuat jaringan, Anda dapat menggunakan skrip berikut, yang membuat dua jaringan untuk GVNIC dan satu jaringan untuk IRDMA.

  1. Opsional: Sebelum menjalankan skrip, buat daftar profil jaringan RDMA untuk memverifikasi bahwa ada profil yang tersedia.
      gcloud beta compute network-profiles list
      
  2. Salin kode berikut dan jalankan di jendela shell 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
      

    Ganti kode berikut:

    • NUMBER_OF_GVNIC: jumlah antarmuka GVNIC yang akan dibuat. Tentukan angka dari 1 hingga 9.
    • GVNIC_NAME_PREFIX: awalan nama yang akan digunakan untuk jaringan dan subnet VPC standar yang menggunakan jenis NIC GVNIC.
    • REGION: region tempat Anda ingin membuat jaringan. Ini harus sesuai dengan zona yang ditentukan untuk flag --network-profile, saat membuat jaringan RDMA. Misalnya, jika Anda menentukan zona sebagai europe-west4-b, maka region Anda adalah europe-west4.
    • IP_RANGE: rentang alamat IP di luar jaringan VPC yang akan digunakan untuk aturan firewall SSH. Sebagai praktik terbaik, tentukan rentang alamat IP tertentu yang Anda perlukan untuk mengizinkan akses dari, bukan semua sumber IPv4 atau IPv6. Jangan gunakan 0.0.0.0/0 atau ::/0 sebagai rentang sumber karena hal ini memungkinkan traffic dari semua sumber IPv4 atau IPv6, termasuk sumber di luar Google Cloud.
    • RDMA_NAME_PREFIX: awalan nama yang akan digunakan untuk jaringan VPC dan subnet yang menggunakan jenis NIC IRDMA.
    • ZONE: zona tempat Anda ingin membuat jaringan dan instance komputasi. Gunakan salah satu dari us-central1-a atau europe-west4-b.
  3. Opsional: Untuk memverifikasi bahwa resource jaringan VPC berhasil dibuat, periksa setelan jaringan di konsol Google Cloud :

    1. Di Google Cloud konsol, buka halaman VPC networks.

      Buka jaringan VPC

    2. Telusuri daftar untuk menemukan jaringan yang Anda buat di langkah sebelumnya.
    3. Untuk melihat subnet, aturan firewall, dan setelan jaringan lainnya, klik nama jaringan.

Opsional: Buat kebijakan beban kerja

Jika Anda ingin Compute Engine menempatkan instance VM dalam satu blok atau blok yang berdekatan, tentukan penempatan instance dengan membuat kebijakan beban kerja. Namun, jika Anda ingin Compute Engine menempatkan instance Anda di blok tertentu, lewati langkah ini dan berikan nama blok dalam afinitas reservasi saat Anda membuat template instance.

Jika sudah memiliki kebijakan beban kerja, Anda dapat menggunakannya kembali. Saat Anda menerapkan kebijakan beban kerja ke MIG, Compute Engine akan berupaya sebaik mungkin untuk membuat instance yang sedekat mungkin satu sama lain. Jika aplikasi Anda sensitif terhadap latensi dan Anda ingin instance lebih berdekatan (kepadatan maksimum), tentukan kolom maxTopologyDistance saat membuat kebijakan workload.

Anda tidak dapat memperbarui kebijakan beban kerja setelah membuatnya. Untuk membuat perubahan pada kebijakan beban kerja, Anda harus membuat kebijakan baru.

Untuk membuat kebijakan beban kerja, pilih salah satu opsi berikut:

gcloud

Untuk membuat kebijakan beban kerja, gunakan gcloud compute resource-policies create workload-policy perintah.

  • Untuk penempatan VM dengan upaya terbaik, tentukan hanya tanda --type=high-throughput dalam perintah:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --region=REGION
    
  • Untuk kolokasi VM yang ketat, tentukan tanda --max-topology-distance dalam perintah:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --max-topology-distance=TOPOLOGY_DISTANCE \
        --region=REGION
    

Ganti kode berikut:

  • WORKLOAD_POLICY_NAME: nama kebijakan workload.
  • REGION: region tempat Anda ingin membuat kebijakan beban kerja. Tentukan region tempat Anda ingin membuat MIG dan jenis mesin yang ingin Anda gunakan tersedia. Untuk mengetahui informasi tentang region dan zona, lihat Region dan zona yang tersedia.

REST

Untuk membuat kebijakan beban kerja, buat permintaan POST ke metode resourcePolicies.insert.

  • Untuk penempatan VM dengan upaya terbaik, tentukan hanya kolom type dalam permintaan sebagai berikut:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT"
        }
      }
    
  • Untuk kolokasi VM yang ketat, tentukan kolom maxTopologyDistance dalam permintaan sebagai berikut:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT",
          "maxTopologyDistance": "TOPOLOGY_DISTANCE"
        }
      }
    

Ganti kode berikut:

  • PROJECT_ID: project ID Anda
  • REGION: region tempat Anda ingin membuat kebijakan beban kerja. Tentukan region tempat Anda ingin membuat MIG dan jenis mesin yang ingin Anda gunakan tersedia. Untuk mengetahui informasi tentang region dan zona, lihat Region dan zona yang tersedia.
  • WORKLOAD_POLICY_NAME: nama kebijakan workload.

Membuat template instance

Untuk menentukan properti instance dan konsumsi untuk setiap instance di MIG, buat template instance menggunakan salah satu metode berikut:

gcloud

Untuk membuat template instance regional, gunakan gcloud compute instance-templates create command.

gcloud 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=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin H4D yang akan digunakan untuk instance.
  • IMAGE_FAMILY: kelompok image dari image OS yang ingin Anda gunakan. Untuk daftar sistem operasi yang didukung, lihat Sistem operasi yang didukung.
  • IMAGE_PROJECT: project ID image OS.
  • REGION: region tempat Anda ingin membuat template instance. Tentukan region tempat jenis mesin yang ingin Anda gunakan tersedia.
  • DISK_SIZE: ukuran boot disk dalam GiB.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda gunakan saat membuat jaringan dan subnet VPC standar untuk antarmuka gVNIC.

    Jika Anda menggunakan jaringan default, sertakan hanya satu kolom --network-interface dengan kolom nic-type yang ditetapkan ke GVNIC. Selain itu, hapus setelan network dan subnetwork untuk antarmuka jaringan ini.

  • STACK_TYPE: Opsional: jenis stack yang akan digunakan untuk antarmuka gVNIC. Tentukan IPV4_ONLY atau IPV4_IPV6. Jika Anda tidak menentukan nilai, IPV4_ONLY akan digunakan secara default.
  • EXTERNAL_IPV4_ADDRESS: Opsional: alamat IPv4 eksternal statis yang akan digunakan dengan antarmuka jaringan gVNIC. Anda harus sudah mencadangkan alamat IPv4 eksternal sebelumnya. Lakukan salah satu hal berikut:

    • Tentukan alamat IPv4 yang valid dari subnet.
    • Gunakan tanda no-address jika Anda tidak ingin antarmuka jaringan memiliki alamat IP eksternal.
    • Tentukan address='' jika Anda ingin antarmuka jaringan menerima alamat IP eksternal sementara.

    Untuk menentukan alamat IPv6 eksternal untuk antarmuka jaringan GVNIC, gunakan flag --external-ipv6-address.

  • RDMA_NAME_PREFIX: awalan nama yang Anda gunakan saat membuat jaringan VPC dan subnet untuk antarmuka jaringan IRDMA.

    Jika Anda tidak menggunakan Cloud RDMA dengan instance H4D, hapus kolom --network-interface untuk antarmuka IRDMA.

  • RESERVATION: nama reservasi yang ingin Anda gunakan.

    RESERVATION: nama reservasi atau blok tertentu dalam reservasi. Untuk mendapatkan nama reservasi atau blok yang tersedia, lihat Melihat kapasitas yang dicadangkan. Berdasarkan persyaratan penempatan instance, pilih salah satu opsi berikut:
    • Untuk membuat instance di seluruh blok atau pada satu blok:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      Selain itu, untuk satu blok, buat MIG dengan menerapkan kebijakan workload yang menentukan kolokasi blok (maxTopologyDistance=BLOCK) . Kemudian, Compute Engine akan menerapkan kebijakan ke reservasi dan membuat instance di blok yang sama.

    • Untuk membuat instance di blok tertentu:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

REST

Untuk membuat template instance regional, buat permintaan POST ke regionInstanceTemplates.insert metode.

POST https://compute.googleapis.com/compute/v1/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":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk instance. Tentukan jenis mesin H4D. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin H4D.
  • IMAGE_FAMILY: kelompok image dari image OS yang ingin Anda gunakan. Untuk daftar sistem operasi yang didukung, lihat Sistem operasi yang didukung.
  • IMAGE_PROJECT: project ID image OS.
  • REGION: region tempat Anda ingin membuat template instance. Tentukan region tempat jenis mesin yang ingin Anda gunakan tersedia. Untuk mengetahui informasi tentang region, lihat Region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GiB.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda gunakan saat membuat jaringan dan subnet VPC standar untuk antarmuka gVNIC.

    Jika Anda menggunakan jaringan default, sertakan hanya satu kolom --network-interface dengan kolom nic-type yang ditetapkan ke GVNIC. Selain itu, hapus setelan network dan subnetwork untuk antarmuka jaringan ini.

  • EXTERNAL_IPV4_ADDRESS: Opsional: alamat IPv4 eksternal statis yang akan digunakan dengan antarmuka jaringan gVNIC. Anda harus sudah mencadangkan alamat IPv4 eksternal sebelumnya.

    Untuk menentukan alamat IPv6 eksternal untuk antarmuka jaringan GVNIC, gunakan flag --external-ipv6-address.

  • RDMA_NAME_PREFIX: awalan nama yang Anda gunakan saat membuat jaringan VPC dan subnet untuk antarmuka jaringan IRDMA.

    Jika Anda tidak menggunakan Cloud RDMA dengan instance H4D, hapus kolom --network-interface untuk antarmuka IRDMA.

  • RESERVATION: nama reservasi yang ingin Anda gunakan.

    RESERVATION: nama reservasi atau blok tertentu dalam reservasi. Untuk mendapatkan nama reservasi atau blok yang tersedia, lihat Melihat kapasitas yang dicadangkan. Berdasarkan persyaratan penempatan instance, pilih salah satu opsi berikut:
    • Untuk membuat instance di seluruh blok atau pada satu blok:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      Selain itu, untuk satu blok, buat MIG dengan menerapkan kebijakan workload yang menentukan kolokasi blok (maxTopologyDistance=BLOCK) . Kemudian, Compute Engine akan menerapkan kebijakan ke reservasi dan membuat instance di blok yang sama.

    • Untuk membuat instance di blok tertentu:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

Setelah membuat template instance, Anda dapat melihat template untuk melihat ID-nya dan meninjau properti instance-nya.

Membuat MIG

Bergantung pada persyaratan workload, Anda dapat membuat MIG dalam salah satu konfigurasi berikut:

Membuat MIG dengan ukuran target

Jika Anda dapat memulai tugas tanpa membuat semua instance VM sekaligus, buat MIG dengan ukuran target. Ukuran target menentukan jumlah instance dalam MIG. MIG mulai membuat instance berdasarkan ketersediaan resource saat ini. Jika ada resource yang tidak tersedia untuk sementara, MIG akan terus mencoba membuat instance untuk memenuhi ukuran target.

Untuk membuat MIG dengan ukuran target, pilih salah satu opsi berikut:

gcloud

Untuk membuat MIG dengan ukuran target yang ditentukan, gunakan perintah instance-groups managed create.

Pada langkah ini, perintah untuk membuat MIG menggunakan kebijakan beban kerja untuk menentukan penempatan VM. Jika Anda tidak ingin menggunakan kebijakan workload, hapus flag --workload-policy.

Buat MIG zona atau regional sebagai berikut:

  • Untuk membuat MIG zona, gunakan perintah berikut:
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --workload-policy=WORKLOAD_POLICY_URL \
      --zone=ZONE
    
  • Untuk membuat MIG regional, gunakan perintah berikut:
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --workload-policy=WORKLOAD_POLICY_URL \
        --region=REGION
    
Ganti kode berikut:
  • MIG_NAME: nama MIG.
  • INSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat VM di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:
    • Untuk template instance regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Untuk template instance global: INSTANCE_TEMPLATE_ID
  • TARGET_SIZE: jumlah VM yang Anda inginkan di MIG.
  • WORKLOAD_POLICY_URL: Opsional: URL kebijakan beban kerja. Jika tidak ingin menggunakan kebijakan workload, Anda dapat menghapus tanda --workload-policy.
  • ZONE: zona tempat Anda ingin membuat MIG. Jika Anda menggunakan kebijakan beban kerja, tentukan zona dalam region kebijakan.
  • REGION: region tempat Anda ingin membuat MIG. Jika Anda menggunakan kebijakan workload, tentukan region yang sama dengan kebijakan tersebut. Untuk MIG regional, alih-alih region, Anda dapat menentukan zona di region tersebut menggunakan tanda --zones.

REST

Untuk membuat MIG dengan ukuran target yang ditentukan, buat permintaan POST sebagai berikut.

Pada langkah ini, permintaan untuk membuat MIG menggunakan kebijakan workload untuk menentukan penempatan VM. Jika Anda tidak ingin menggunakan kebijakan workload, hapus kolom resourcePolicies.workloadPolicy dari isi permintaan.

Buat MIG zona atau regional sebagai berikut:

  • Untuk membuat MIG zona, buat permintaan POST ke metode instanceGroupManagers.insert.
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "instanceTemplate": "INSTANCE_TEMPLATE_URL",
      "targetSize": "TARGET_SIZE",
      "resourcePolicies": {
        "workloadPolicy": WORKLOAD_POLICY_URL
      }
    }
    
  • Untuk membuat MIG regional, buat permintaan POST ke metode regionInstanceGroupManagers.insert.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": "TARGET_SIZE",
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
    
Ganti kode berikut:
  • PROJECT_ID: project ID.
  • ZONE: zona tempat Anda ingin membuat MIG. Jika Anda menggunakan kebijakan beban kerja, tentukan zona dalam region kebijakan.
  • REGION: region tempat Anda ingin membuat MIG. Jika Anda menggunakan kebijakan workload, tentukan region yang sama dengan kebijakan tersebut.
  • INSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat VM di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:
    • Untuk template instance regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Untuk template instance global: INSTANCE_TEMPLATE_ID
  • MIG_NAME: nama MIG.
  • TARGET_SIZE: jumlah VM yang Anda inginkan di MIG.
  • WORKLOAD_POLICY_URL: Opsional: URL kebijakan beban kerja. Jika Anda tidak ingin menggunakan kebijakan workload, Anda dapat menghapus kolom resourcePolicies.workloadPolicy.

Membuat MIG dan permintaan pengubahan ukuran

Untuk membuat semua instance yang diminta secara bersamaan, buat MIG tanpa instance apa pun di dalamnya. Setelah membuat MIG kosong, Anda kemudian membuat permintaan pengubahan ukuran di MIG. Jika resource tersedia untuk membuat semua instance sekaligus, permintaan pengubahan ukuran akan menambahkan instance ke MIG.

Untuk membuat MIG dan permintaan pengubahan ukuran, pilih salah satu opsi berikut:

gcloud

Pada langkah ini, perintah untuk membuat MIG menggunakan kebijakan beban kerja untuk menentukan penempatan VM. Jika Anda tidak ingin menggunakan kebijakan workload, hapus flag --workload-policy.

Buat MIG tingkat zona atau regional dan permintaan pengubahan ukuran sebagai berikut:

  • Untuk membuat MIG zona dan permintaan pengubahan ukuran di dalamnya, lakukan hal berikut:

    1. Buat MIG zona menggunakan perintah instance-groups managed create sebagai berikut.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. Buat permintaan pengubahan ukuran di MIG zona menggunakan perintah instance-groups managed resize-requests create sebagai berikut:

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          POPULATION_METHOD \
          --zone=ZONE
      
  • Untuk membuat MIG regional dan permintaan pengubahan ukuran di dalamnya, lakukan hal berikut:

    1. Buat MIG regional menggunakan perintah instance-groups managed create sebagai berikut.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Buat permintaan pengubahan ukuran di MIG regional menggunakan perintah instance-groups managed resize-requests create beta sebagai berikut:

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

Ganti kode berikut:

  • MIG_NAME: nama MIG.
  • INSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat VM di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:
    • Untuk template instance regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Untuk template instance global: INSTANCE_TEMPLATE_ID
  • WORKLOAD_POLICY_URL: Opsional: URL kebijakan beban kerja. Jika Anda tidak ingin menggunakan kebijakan workload, Anda dapat menghapus tanda --workload-policy.
  • ZONE: zona tempat Anda ingin membuat MIG. Untuk MIG regional juga, Anda harus menentukan zona. Zona ini harus berupa zona yang berisi profil untuk jaringan VPC Anda dan harus berupa zona tempat jenis mesin tersedia. Untuk mengetahui informasi selengkapnya, lihat Batasan.
  • RESIZE_REQUEST_NAME: nama permintaan pengubahan ukuran, yang harus unik dalam MIG yang ditentukan. Jika tidak, pembuatan permintaan pengubahan ukuran akan gagal.
  • POPULATION_METHOD: metode menambahkan instance ke MIG. Gunakan salah satu berikut:

    • --resize-by=COUNT: menambahkan jumlah instance yang ditentukan ke MIG sekaligus. Nama instance dibuat secara otomatis.
    • --instances=INSTANCE_NAME_LIST: menambahkan instance dengan nama yang ditentukan ke MIG sekaligus. Ganti INSTANCE_NAME_LIST dengan daftar nama instance yang dipisahkan koma. Jumlah nama yang Anda berikan menentukan jumlah instance yang akan dibuat dengan permintaan pengubahan ukuran ini.
  • REGION: region tempat MIG berada.

REST

Pada langkah ini, permintaan untuk membuat MIG menggunakan kebijakan workload untuk menentukan penempatan VM. Jika Anda tidak ingin menggunakan kebijakan workload, hapus kolom resourcePolicies.workloadPolicy dari isi permintaan.

Buat MIG tingkat zona atau regional dan permintaan pengubahan ukuran sebagai berikut:

  • Untuk membuat MIG zona dan permintaan pengubahan ukuran di dalamnya, lakukan hal berikut:
    1. Buat MIG zona dengan membuat permintaan POST ke metode instanceGroupManagers.insert seperti berikut.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Buat permintaan pengubahan ukuran di MIG zona dengan membuat permintaan POST ke metode instanceGroupManagerResizeRequests.insert seperti berikut:
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        POPULATION_METHOD
      }
      
  • Untuk membuat MIG regional dan permintaan pengubahan ukuran di dalamnya, lakukan hal berikut:
    1. Buat MIG regional dengan membuat permintaan POST ke metode regionInstanceGroupManagers.insert seperti berikut.
      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"
        },
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Buat permintaan pengubahan ukuran di MIG regional dengan membuat permintaan POST ke metode beta.regionInstanceGroupManagerResizeRequests.insert seperti berikut:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        POPULATION_METHOD
      }
      

Ganti kode berikut:

  • PROJECT_ID: project ID.
  • ZONE: zona tempat Anda ingin membuat MIG. Untuk MIG regional juga, Anda harus menentukan zona. Zona ini harus berupa zona yang berisi profil untuk jaringan VPC Anda dan harus berupa zona tempat jenis mesin tersedia. Untuk mengetahui informasi selengkapnya, lihat Batasan.
  • REGION: region tempat Anda ingin membuat MIG.
  • INSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat VM di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:
    • Untuk template instance regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Untuk template instance global: INSTANCE_TEMPLATE_ID
  • MIG_NAME: nama MIG.
  • WORKLOAD_POLICY_URL: Opsional: URL kebijakan beban kerja. Jika tidak ingin menggunakan kebijakan workload, Anda dapat menghapus kolom resourcePolicies.workloadPolicy.
  • RESIZE_REQUEST_NAME: nama permintaan pengubahan ukuran, yang harus unik dalam MIG yang ditentukan. Jika tidak, pembuatan permintaan pengubahan ukuran akan gagal.
  • POPULATION_METHOD: metode menambahkan instance ke MIG. Gunakan salah satu berikut:

    • "resizeBy":COUNT: ganti COUNT dengan jumlah instance yang ditentukan untuk ditambahkan ke MIG sekaligus. Nama instance dibuat secara otomatis.
    • "instanceNames":INSTANCE_NAME_LIST: menambahkan instance dengan nama yang ditentukan ke MIG sekaligus. Ganti INSTANCE_NAME_LIST dengan daftar nama instance yang dipisahkan koma. Jumlah nama yang Anda berikan menentukan jumlah instance yang akan dibuat dengan permintaan pengubahan ukuran ini.