Membuat MIG yang dioptimalkan untuk AI dengan jenis mesin A3 High atau A3 Mega

Dokumen ini menjelaskan cara membuat grup instance terkelola (MIG) yang menggunakan jenis mesin yang dioptimalkan untuk akselerator A3 High atau A3 Mega. Untuk mempelajari lebih lanjut jenis mesin, lihat A3 High dan A3 Mega di dokumentasi Compute Engine.

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 dalam dokumentasi Compute Engine.

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

Batasan

Bergantung pada seri mesin yang digunakan VM di MIG Anda, batasan berikut berlaku:

A3 Mega

  • Anda tidak menerima diskon untuk penggunaan berkelanjutan dan diskon abonemen fleksibel untuk instance yang menggunakan jenis mesin A3 Mega.
  • Anda hanya dapat menggunakan jenis mesin A3 Mega di region dan zona tertentu.
  • Anda tidak dapat menggunakan Persistent Disk regional pada instance yang menggunakan jenis mesin A3 Mega.
  • Jenis mesin A3 Mega hanya tersedia di platform CPU Sapphire Rapids.
  • Perubahan jenis mesin tidak didukung untuk jenis mesin A3 Mega. Untuk beralih ke atau dari jenis mesin ini, Anda harus membuat instance baru.
  • Anda tidak dapat menjalankan sistem operasi Windows pada jenis mesin A3 Mega.

A3 Tinggi

Sebelum memulai

Sebelum membuat MIG, jika Anda belum melakukannya, selesaikan langkah-langkah berikut:

  1. Pilih opsi pemakaian: pilihan opsi pemakaian menentukan cara Anda mendapatkan dan menggunakan resource GPU.

    Untuk mempelajari lebih lanjut, lihat Memilih opsi pemakaian.

  2. Mendapatkan kapasitas: proses untuk mendapatkan kapasitas berbeda untuk setiap opsi penggunaan.

    Untuk mempelajari proses mendapatkan kapasitas untuk opsi pemakaian yang Anda pilih, lihat Ringkasan kapasitas.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk membuat MIG, minta administrator untuk memberi Anda peran IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) di project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk membuat MIG. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat MIG:

  • Untuk membuat MIG: compute.instanceGroupManagers.create pada project

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Ringkasan

Membuat MIG dengan jenis mesin A3 Mega atau A3 High (8 GPU) mencakup langkah-langkah berikut:

  1. Membuat jaringan VPC
  2. Opsional: Buat kebijakan workload
  3. Buat template instance.
  4. Buat MIG.

Membuat jaringan VPC

Untuk mengaktifkan komunikasi yang efisien bagi VM GPU Anda, Anda perlu membuat jaringan pengelolaan dan satu atau beberapa jaringan data. Jaringan pengelolaan digunakan untuk akses eksternal, misalnya SSH, dan untuk sebagian besar komunikasi jaringan umum. Jaringan data digunakan untuk komunikasi berperforma tinggi antara GPU di VM yang berbeda, misalnya, untuk traffic Remote Direct Memory Access (RDMA).

Untuk jaringan VPC ini, sebaiknya tetapkan unit transmisi maksimum (MTU) ke nilai yang lebih besar. Nilai MTU yang lebih tinggi akan menambah ukuran paket dan mengurangi overhead header paket, sehingga meningkatkan throughput data payload. Untuk mengetahui informasi selengkapnya tentang cara membuat jaringan VPC, lihat Membuat dan memverifikasi jaringan MTU frame jumbo.

Membuat jaringan, subnet, dan aturan firewall pengelolaan

Selesaikan langkah-langkah berikut untuk menyiapkan jaringan pengelolaan:

  1. Buat jaringan pengelolaan menggunakan perintah networks create:

    gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \
        --project=PROJECT_ID \
        --subnet-mode=custom \
        --mtu=8244
    
  2. Buat subnet pengelolaan menggunakan perintah networks subnets create:

    gcloud compute networks subnets create NETWORK_NAME_PREFIX-mgmt-sub \
        --project=PROJECT_ID \
        --network=NETWORK_NAME_PREFIX-mgmt-net \
        --region=REGION \
        --range=192.168.0.0/24
    
  3. Buat aturan firewall menggunakan perintah firewall-rules create.

    1. Buat aturan firewall untuk jaringan pengelolaan.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-internal \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=tcp:0-65535,udp:0-65535,icmp \
          --source-ranges=192.168.0.0/16
      
    2. Buat aturan firewall tcp:22 untuk membatasi alamat IP sumber yang dapat terhubung ke VM Anda menggunakan SSH.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ssh \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=SSH_SOURCE_IP_RANGE
      
    3. Buat aturan firewall icmp yang dapat digunakan untuk memeriksa masalah transmisi data di jaringan.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ping \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=0.0.0.0/0
      

Ganti kode berikut:

  • NETWORK_NAME_PREFIX: awalan nama yang akan digunakan untuk jaringan dan subnet VPC.
  • PROJECT_ID: Project ID Anda.
  • REGION: region tempat Anda ingin membuat jaringan.
  • SSH_SOURCE_IP_RANGE: Rentang IP dalam format CIDR. Tindakan ini menentukan alamat IP sumber mana yang dapat terhubung ke VM Anda menggunakan SSH.

Membuat jaringan data, subnet, dan aturan firewall

Jumlah jaringan data bervariasi, bergantung pada jenis mesin GPU yang Anda buat.

A3 Mega

A3 Mega memerlukan delapan jaringan data. Untuk membuat delapan jaringan data, masing-masing dengan subnet dan aturan firewall, gunakan perintah berikut.

for N in $(seq 1 8); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
    --project=PROJECT_ID \
    --subnet-mode=custom \
    --mtu=8244

gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --region=REGION \
    --range=192.168.$N.0/24

gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --action=ALLOW \
    --rules=tcp:0-65535,udp:0-65535,icmp \
    --source-ranges=192.168.0.0/16
done

A3 Tinggi

A3 Tinggi memerlukan empat jaringan data. Gunakan perintah berikut untuk membuat empat jaringan data, masing-masing dengan subnet dan aturan firewall.

for N in $(seq 1 4); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
    --project=PROJECT_ID \
    --subnet-mode=custom \
    --mtu=8244

gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --region=REGION \
    --range=192.168.$N.0/24

gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --action=ALLOW \
    --rules=tcp:0-65535,udp:0-65535,icmp \
    --source-ranges=192.168.0.0/16
done

Opsional: Buat kebijakan beban kerja

Untuk Opsi penggunaan mulai fleksibel, lewati bagian ini dan lanjutkan ke membuat template instance. Karena keterbatasan, model penyediaan mulai fleksibel tidak mendukung kebijakan beban kerja.

Anda dapat menentukan penempatan VM dengan membuat kebijakan workload. Jika sudah memiliki kebijakan beban kerja, Anda dapat menggunakannya kembali. Saat Anda menerapkan kebijakan workload ke MIG, Compute Engine akan melakukan upaya terbaik untuk membuat VM yang sedekat mungkin satu sama lain. Jika aplikasi Anda sensitif terhadap latensi dan Anda ingin VM 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 perintah gcloud compute resource-policies create workload-policy.

  • 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.
  • TOPOLOGY_DISTANCE: jarak topologi maksimum. Tentukan salah satu nilai berikut:
    • Untuk menempatkan VM di cluster yang sama: CLUSTER
    • Untuk menempatkan VM dalam blok yang sama: BLOCK
    • Untuk menempatkan VM di sub-blok yang sama: SUBBLOCK
    Catatan: Jarak maksimum yang lebih pendek dapat mengurangi probabilitas ketersediaan VM.
  • 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, lihat Ketersediaan GPU menurut region dan zona.

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, lihat Ketersediaan GPU menurut region dan zona.
  • WORKLOAD_POLICY_NAME: nama kebijakan workload.
  • TOPOLOGY_DISTANCE: jarak topologi maksimum. Tentukan salah satu nilai berikut:
    • Untuk menempatkan VM dalam blok yang sama: BLOCK
    • Untuk menempatkan VM di cluster yang sama: CLUSTER
    Catatan: Jarak maksimum yang lebih pendek dapat mengurangi probabilitas ketersediaan VM.

Membuat template instance

Tentukan properti VM untuk MIG dengan membuat template instance.

Untuk membuat template instance, pilih salah satu opsi berikut.

Perintah berikut juga menetapkan cakupan akses untuk instance Anda. Untuk menyederhanakan pengelolaan izin, Google merekomendasikan agar Anda menetapkan cakupan akses pada instance ke akses cloud-platform, lalu menggunakan peran IAM untuk menentukan layanan yang dapat diakses instance. Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik cakupan.

A3 Mega

Untuk membuat template instance bagi VM A3 Mega, Anda harus menentukan delapan antarmuka jaringan tambahan untuk traffic GPUDirect-TCPXO. Jika belum melakukannya, pastikan Anda telah membuat delapan jaringan VPC seperti yang dijelaskan dalam Membuat jaringan VPC.

gcloud

Parameter yang perlu Anda tentukan bergantung pada opsi penggunaan yang Anda gunakan untuk deployment ini. Pilih tab yang sesuai dengan model penyediaan opsi pemakaian Anda.

Flex-start

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

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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --reservation-affinity=none \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM. Tentukan jenis mesin A4 atau A3 Ultra. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin GPU.
  • 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 Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC standar yang menggunakan NIC gVNIC.
  • RUN_DURATION: durasi yang Anda inginkan untuk menjalankan VM yang diminta. Anda harus memformat nilai sebagai jumlah hari, jam, menit, atau detik yang diikuti dengan d, h, m, dan s. Misalnya, tentukan 30m selama 30 menit atau 1d2h3m4s selama satu hari, dua jam, tiga menit, dan empat detik. Nilainya harus antara 10 menit dan tujuh hari.

Terikat dengan reservasi

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

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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM. Tentukan jenis mesin A4 atau A3 Ultra. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin GPU.
  • 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 Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC standar yang menggunakan NIC gVNIC.
  • 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

Spot

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

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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM. Tentukan jenis mesin A4 atau A3 Ultra. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin GPU.
  • 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 Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC standar yang menggunakan NIC gVNIC.
  • TERMINATION_ACTION: tindakan yang akan diambil saat Compute Engine melakukan preempt terhadap instance, baik STOP (default) atau DELETE.

REST

Parameter yang perlu Anda tentukan bergantung pada opsi penggunaan yang Anda gunakan untuk deployment ini. Pilih tab yang sesuai dengan model penyediaan opsi pemakaian Anda.

Flex-start

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "NO_RESERVATION"
      },
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM. Tentukan jenis mesin A4 atau A3 Ultra. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin GPU.
  • 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 Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB.
  • NETWORK_PROJECT_ID: project ID jaringan.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC standar yang menggunakan NIC gVNIC.
  • REGION: region subnetwork.
  • RUN_DURATION: durasi, dalam detik, yang Anda inginkan untuk VM yang diminta agar dapat berjalan. Nilai harus antara 600, yaitu 600 detik (10 menit), dan 604800, yaitu 604.800 detik (tujuh hari).

Terikat dengan reservasi

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "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 VM. Tentukan jenis mesin A4 atau A3 Ultra. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin GPU.
  • 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 Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB.
  • NETWORK_PROJECT_ID: project ID jaringan.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC standar yang menggunakan NIC gVNIC.
  • REGION: region subnetwork.
  • 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

Spot

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM. Tentukan jenis mesin A4 atau A3 Ultra. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin GPU.
  • 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 Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB.
  • NETWORK_PROJECT_ID: project ID jaringan.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC standar yang menggunakan NIC gVNIC.
  • REGION: region subnetwork.
  • TERMINATION_ACTION: tindakan yang akan diambil saat Compute Engine melakukan preempt terhadap instance, baik STOP (default) atau DELETE.

A3 Tinggi

Untuk membuat template instance bagi VM A3 Tinggi, Anda harus menentukan empat antarmuka jaringan tambahan untuk traffic GPUDirect-TCPX. Jika belum melakukannya, pastikan Anda telah membuat empat jaringan VPC seperti yang dijelaskan dalam Membuat jaringan VPC.

gcloud

Parameter yang perlu Anda tentukan bergantung pada opsi penggunaan yang Anda gunakan untuk deployment ini. Pilih tab yang sesuai dengan model penyediaan opsi pemakaian Anda.

Flex-start

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

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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --reservation-affinity=none \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM. Tentukan jenis mesin A4 atau A3 Ultra. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin GPU.
  • 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 Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC standar yang menggunakan NIC gVNIC.
  • RUN_DURATION: durasi yang Anda inginkan untuk menjalankan VM yang diminta. Anda harus memformat nilai sebagai jumlah hari, jam, menit, atau detik yang diikuti dengan d, h, m, dan s. Misalnya, tentukan 30m selama 30 menit atau 1d2h3m4s selama satu hari, dua jam, tiga menit, dan empat detik. Nilainya harus antara 10 menit dan tujuh hari.

Terikat dengan reservasi

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

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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM. Tentukan jenis mesin A4 atau A3 Ultra. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin GPU.
  • 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 Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC standar yang menggunakan NIC gVNIC.
  • 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

Spot

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

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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM. Tentukan jenis mesin A4 atau A3 Ultra. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin GPU.
  • 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 Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC standar yang menggunakan NIC gVNIC.
  • TERMINATION_ACTION: tindakan yang akan diambil saat Compute Engine melakukan preempt terhadap instance, baik STOP (default) atau DELETE.

REST

Parameter yang perlu Anda tentukan bergantung pada opsi penggunaan yang Anda gunakan untuk deployment ini. Pilih tab yang sesuai dengan model penyediaan opsi pemakaian Anda.

Flex-start

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "NO_RESERVATION"
      },
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM. Tentukan jenis mesin A4 atau A3 Ultra. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin GPU.
  • 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 Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB.
  • NETWORK_PROJECT_ID: project ID jaringan.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC standar yang menggunakan NIC gVNIC.
  • REGION: region subnetwork.
  • RUN_DURATION: durasi, dalam detik, yang Anda inginkan untuk VM yang diminta agar dapat berjalan. Nilai harus antara 600, yaitu 600 detik (10 menit), dan 604800, yaitu 604.800 detik (tujuh hari).

Terikat dengan reservasi

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "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 VM. Tentukan jenis mesin A4 atau A3 Ultra. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin GPU.
  • 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 Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB.
  • NETWORK_PROJECT_ID: project ID jaringan.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC standar yang menggunakan NIC gVNIC.
  • REGION: region subnetwork.
  • 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

Spot

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM. Tentukan jenis mesin A4 atau A3 Ultra. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin GPU.
  • 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 Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB.
  • NETWORK_PROJECT_ID: project ID jaringan.
  • GVNIC_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC standar yang menggunakan NIC gVNIC.
  • REGION: region subnetwork.
  • TERMINATION_ACTION: tindakan yang akan diambil saat Compute Engine melakukan preempt terhadap instance, baik STOP (default) atau DELETE.

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

Membuat MIG

Setelah menyelesaikan semua langkah sebelumnya, buat MIG berdasarkan skenario Anda sebagai berikut:

Skenario Metode untuk membuat MIG dan VM di dalamnya Contoh
Anda memiliki beberapa tugas atau tugas paralel yang dapat dimulai dengan sejumlah VM. Buat MIG dan gunakan ukuran target untuk menentukan jumlah VM yang Anda inginkan dalam grup.

Lihat Membuat MIG dengan ukuran target.

Tugas inferensi ML
Anda memiliki tugas yang memerlukan distribusi di sejumlah VM yang tepat. Buat MIG tanpa VM di dalamnya, lalu buat permintaan pengubahan ukuran di MIG. Permintaan pengubahan ukuran membantu Anda mendapatkan VM sekaligus.

Lihat Membuat MIG dan permintaan perubahan ukuran.

Tugas pelatihan dan penyesuaian ML terdistribusi

Membuat MIG dengan ukuran target

Jika Anda dapat memulai tugas tanpa membuat semua VM sekaligus, buat MIG dengan ukuran target. Ukuran target menentukan jumlah VM dalam MIG. MIG mulai membuat VM berdasarkan ketersediaan resource saat ini. Jika ada resource yang tidak tersedia untuk sementara, MIG akan terus mencoba membuat VM 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.

Perintah untuk membuat MIG menggunakan kebijakan beban kerja untuk menentukan penempatan VM. Jika Anda tidak ingin menggunakan kebijakan workload, hapus tanda --workload-policy.

Buat MIG berbasis 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. Misalnya, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. 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 dengan menggunakan tanda --zones.

REST

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

Permintaan untuk membuat MIG menggunakan kebijakan beban kerja untuk menentukan penempatan VM. Jika Anda tidak ingin menggunakan kebijakan beban kerja, hapus kolom resourcePolicies.workloadPolicy.

Buat MIG berbasis 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. Contoh, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Jika Anda tidak ingin menggunakan kebijakan beban kerja, hapus kolom resourcePolicies.workloadPolicy.

Membuat MIG dan permintaan pengubahan ukuran

Jika Anda memerlukan beberapa VM sekaligus untuk memulai tugas, buat MIG, lalu buat permintaan pengubahan ukuran di MIG seperti yang dijelaskan di bagian ini.

Untuk membuat permintaan pengubahan ukuran di MIG, pilih salah satu opsi berikut.

gcloud

Parameter yang perlu Anda tentukan bergantung pada opsi penggunaan yang Anda gunakan untuk deployment ini. Pilih tab yang sesuai dengan model penyediaan opsi pemakaian Anda.

Flex-start

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 \
          --default-action-on-vm-failure=do-nothing \
          --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 \
          --resize-by=COUNT \
          --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 \
          --default-action-on-vm-failure=do-nothing \
          --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 \
          --resize-by=COUNT \
          --region=REGION
      

Terikat dengan reservasi

Perintah untuk membuat MIG menggunakan kebijakan beban kerja untuk menentukan penempatan VM. Jika Anda tidak ingin menggunakan kebijakan workload, hapus tanda --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 \
          --resize-by=COUNT \
          --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 \
          --resize-by=COUNT \
          --region=REGION
      

Spot

Perintah untuk membuat MIG menggunakan kebijakan beban kerja untuk menentukan penempatan VM. Jika Anda tidak ingin menggunakan kebijakan workload, hapus tanda --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 \
          --resize-by=COUNT \
          --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 \
          --resize-by=COUNT \
          --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. Contoh, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Jika Anda tidak ingin menggunakan kebijakan workload, hapus tanda --workload-policy.
  • ZONE: zona tempat Anda ingin membuat MIG. Untuk MIG regional, Anda juga 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.
  • COUNT: jumlah VM yang akan ditambahkan ke MIG sekaligus.
  • REGION: region tempat MIG berada.

Jika workload Anda memerlukan nama VM tertentu, Anda dapat menentukan daftar nama VM yang akan dibuat menggunakan perintah beta instance-groups managed resize-requests create. Dalam perintah, ganti flag --resize-request dengan flag --instances.

REST

Parameter yang perlu Anda tentukan bergantung pada opsi penggunaan yang Anda gunakan untuk deployment ini. Pilih tab yang sesuai dengan model penyediaan opsi pemakaian Anda.

Flex-start

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,
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    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",
        "resizeBy": COUNT
      }
      
  • 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"
        },
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    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",
        "resizeBy": COUNT
      }
      

Terikat dengan reservasi

Permintaan untuk membuat MIG menggunakan kebijakan beban kerja untuk menentukan penempatan VM. Jika Anda tidak ingin menggunakan kebijakan beban kerja, hapus kolom resourcePolicies.workloadPolicy.

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",
        "resizeBy": COUNT
      }
      
  • 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",
        "resizeBy": COUNT
      }
      

Spot

Permintaan untuk membuat MIG menggunakan kebijakan beban kerja untuk menentukan penempatan VM. Jika Anda tidak ingin menggunakan kebijakan beban kerja, hapus kolom resourcePolicies.workloadPolicy.

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",
        "resizeBy": COUNT
      }
      
  • 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",
        "resizeBy": COUNT
      }
      
Ganti kode berikut:
  • PROJECT_ID: project ID.
  • ZONE: zona tempat Anda ingin membuat MIG. Untuk MIG regional, Anda juga 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. Contoh, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Jika Anda tidak ingin menggunakan kebijakan workload, hapus 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.
  • COUNT: jumlah VM yang akan ditambahkan ke MIG sekaligus

Jika workload Anda memerlukan nama VM tertentu, Anda dapat menentukan daftar nama VM yang akan dibuat. Untuk melakukannya, kirim permintaan POST ke metode beta.regionInstanceGroupManagerResizeRequests.insert untuk MIG regional, atau metode beta.instanceGroupManagerResizeRequests.insert untuk MIG zona. Dalam isi permintaan, ganti kolom resizeBy dengan kolom instanceNames.

Apa langkah selanjutnya?