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).

Tujuan

  • Cadangkan blok kapasitas untuk instance VM.
  • Opsional: Buat jaringan Virtual Private Cloud (VPC).
  • Opsional: Buat kebijakan beban kerja.
  • Membuat template instance.
  • Buat MIG menggunakan salah satu metode berikut:
    • Buat MIG dengan ukuran target.
    • Buat MIG dan permintaan pengubahan ukuran.
  • Bersihkan resource yang Anda buat.

Biaya

Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

Pengguna Google Cloud baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.

Sebelum memulai

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

  3. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  4. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

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

    Roles required to select or create a project

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

      gcloud projects create PROJECT_ID

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

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

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

  7. Enable the required API:

    Roles required to enable APIs

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

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

  9. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  10. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

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

    Roles required to select or create a project

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

      gcloud projects create PROJECT_ID

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

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

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

  13. Enable the required API:

    Roles required to enable APIs

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

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

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

    Replace the following:

    • PROJECT_ID: your project ID.
    • USER_IDENTIFIER: the identifier for your user account—for example, myemail@example.com.
    • ROLE: the IAM role that you grant to your user account.
  15. 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 penerapan 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 ketersediaan profil.
        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 pada 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.

    Pembersihan

    Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.

    Menghapus project Anda

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

    Menghapus resource

    1. Menghapus permintaan perubahan ukuran di MIG.

    2. Hapus MIG dan instance.

    3. Jika status hapus otomatis untuk disk ditetapkan ke False dalam template instance, disk tidak akan otomatis dihapus saat instance VM dihapus. Anda dapat menghapus disk menggunakan salah satu metode berikut:

      Konsol

      1. Di konsol Google Cloud , buka halaman Disks.

      Buka Disk

      1. Pilih baris yang berisi disk yang Anda buat dalam tutorial ini. Pastikan kolom Digunakan oleh kosong untuk setiap disk.

      2. Klik Hapus, lalu klik Hapus untuk mengonfirmasi.

      gcloud

      Gunakan perintah gcloud compute disks delete.

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

      Ganti kode berikut:

      • DISK_NAME : nama disk yang akan dihapus
      • PROJECT_ID: ID project yang berisi disk
      • ZONE: zona disk

      REST

      Gunakan metode disks.delete untuk menghapus disk.

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

      Ganti kode berikut:

      • PROJECT_ID: ID project yang berisi disk
      • ZONE: zona disk
      • DISK_NAME : nama disk yang akan dihapus
    4. Hapus jaringan.

    5. Hapus template pemesanan.

    Langkah berikutnya