Membuat instance yang dioptimalkan untuk HPC secara massal yang menggunakan RDMA

Tutorial ini menunjukkan cara membuat sejumlah besar instance virtual machine (VM) komputasi berperforma tinggi (HPC) yang identik dan independen satu sama lain. Instance menggunakan jenis mesin yang dioptimalkan untuk HPC H4D dan berjalan di blok kapasitas yang dicadangkan. Tutorial ini juga menunjukkan cara mengonfigurasi instance H4D untuk menggunakan Cloud RDMA.

Tutorial ini ditujukan bagi engineer HPC, administrator dan operator platform, serta spesialis data dan MPI yang tertarik untuk membuat cluster instance HPC yang saling terhubung. Instance yang dihasilkan tidak menggunakan pengelola untuk pengelolaan instance atau penjadwalan tugas.

Mencadangkan blok kapasitas untuk deployment Anda

Dokumen ini menjelaskan cara memesan blok kapasitas dengan meminta tim akun Anda membuat permintaan pemesanan untuk masa mendatang bagi Anda. Gunakan jenis reservasi ini untuk mendapatkan kapasitas untuk deployment padat instance VM. Untuk ringkasan semua opsi konsumsi, lihat:

Tindakan ini memungkinkan Anda memesan blok kapasitas untuk durasi yang ditentukan, dimulai pada tanggal dan waktu tertentu yang Anda pilih. Berdasarkan permintaan Anda, Google akan membuat draf permintaan pemesanan untuk masa mendatang. Setelah Anda meninjau dan mengirimkan permintaan draf ini, dan Google Cloud menyetujuinya, Compute Engine akan otomatis membuat (membuat secara otomatis) pemesanan kosong. Kemudian, pada waktu mulai yang Anda pilih, Compute Engine akan menyediakan kapasitas yang Anda minta ke dalam pemesanan yang dibuat otomatis. Selanjutnya, Anda dapat menggunakan reservasi untuk membuat instance virtual machine (VM) hingga periode reservasi berakhir.

Sebagai bagian dari proses permintaan pemesanan untuk masa mendatang, Google mengelola kuota untuk resource yang dipesan. Anda tidak perlu meminta kuota. Pada waktu mulai pemesanan untuk masa mendatang yang disetujui, Google akan meningkatkan kuota Anda jika Anda tidak memilikinya untuk resource yang dipesan.

Untuk memesan blok kapasitas, selesaikan langkah-langkah berikut:

  1. Hubungi tim akun Anda dan berikan informasi berikut kepada Google untuk membuat draf permintaan pemesanan untuk masa mendatang:

    • Nomor project: nomor project tempat tim akun Anda membuat permintaan dan Compute Engine menyediakan kapasitas. Untuk mengetahui informasi tentang cara menemukan nomor project, lihat Menemukan nama, nomor, dan ID project dalam dokumentasi Resource Manager.

    • Jenis mesin: salah satu jenis mesin yang dioptimalkan untuk HPC H4D

    • Jumlah total: jumlah total VM yang akan dipesan. Anda hanya dapat mencadangkan kelipatan dua VM. Ukuran blok dan jumlah VM per blok bervariasi berdasarkan jenis mesin dan ketersediaan. Tim akun Anda dapat memberikan detail selengkapnya untuk permintaan Anda.

    • Zone: zona tempat Anda ingin memesan kapasitas. Untuk meninjau region dan zona yang tersedia untuk seri mesin H4D, lihat Region dan zona yang tersedia dan pilih H4D dalam daftar Pilih seri mesin.

    • Waktu mulai: waktu mulai periode pemesanan. Format waktu mulai sebagai stempel waktu RFC 3339:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Ganti kode berikut:

      • YYYY-MM-DD: tanggal yang diformat sebagai tahun empat digit, bulan dua digit, dan hari dua digit dalam sebulan, yang dipisahkan oleh tanda hubung (-).

      • HH:MM:SS: waktu yang diformat sebagai jam dua digit dengan menggunakan waktu 24 jam, menit dua digit, dan detik dua digit, yang dipisahkan oleh titik dua (:).

      • OFFSET: zona waktu yang diformat sebagai offset Waktu Universal Terkoordinasi (UTC). Misalnya, untuk menggunakan Waktu Standar Pasifik (PST), tentukan -08:00. Jika tidak ingin menggunakan offset, tentukan Z.

    • Waktu berakhir: waktu berakhir periode pemesanan. Format sebagai stempel waktu RFC 3339.

    • Jenis berbagi: apakah hanya project Anda yang dapat menggunakan reservasi yang dibuat otomatis (LOCAL), atau project lain dapat menggunakan reservasi tersebut (SPECIFIC_PROJECTS).

      Untuk membagikan kapasitas yang dipesan dengan project lain di organisasi Anda, lakukan hal berikut:

      1. Jika belum melakukannya, verifikasi bahwa project tempat Google membuat permintaan diizinkan untuk membuat pemesanan bersama.

      2. Berikan nomor project yang akan menggunakan bersama kapasitas yang dicadangkan. Anda dapat menentukan hingga 100 project di organisasi Anda.

    • Nama pemesanan: nama pemesanan yang dibuat secara otomatis oleh Compute Engine untuk menyediakan kapasitas yang dipesan. Compute Engine hanya membuat pemesanan yang ditargetkan secara khusus.

    • Nama komitmen: jika periode reservasi Anda satu tahun atau lebih, Anda harus membeli dan melampirkan komitmen berbasis resource ke resource yang dipesan. Anda dapat membeli komitmen dengan paket 1 tahun atau 3 tahun. Jika Anda membagikan kapasitas yang dipesan ke project lain, project tersebut hanya akan mendapatkan diskon jika menggunakan akun Penagihan Cloud yang sama dengan project tempat Anda memesan kapasitas. Untuk mengetahui detailnya, lihat Mengaktifkan berbagi CUD untuk komitmen berbasis resource.

  2. Google akan membuat draf permintaan pemesanan untuk masa mendatang dan tim akun Anda akan menghubungi Anda.

  3. Tinjau permintaan draf. Perhatikan hal-hal berikut saat meninjau permintaan reservasi:

    • Anda dapat mulai menggunakan kapasitas yang dicadangkan hanya setelah tanggal dan waktu mulai yang ditentukan.
    • Saat waktu berakhir yang ditentukan tercapai, Compute Engine akan melakukan hal berikut:

      • Menghapus pemesanan yang dibuat otomatis.
      • Menghentikan atau menghapus VM yang menggunakan reservasi. Tindakan yang dilakukan didasarkan pada tindakan penghentian yang Anda tentukan saat membuat VM.
    • Anda tidak dapat mengubah apakah kapasitas yang dipesan dibagikan setelah Anda mengirimkan permintaan pemesanan.

    Untuk meninjau draf permintaan pemesanan untuk masa mendatang, pilih salah satu opsi berikut:

    Konsol

    1. Di konsol Google Cloud , buka halaman Reservations.

      Buka Pemesanan

    2. Klik tab Future reservations. Tabel Future Reservations mencantumkan setiap permintaan pemesanan untuk masa mendatang di project Anda, dan setiap kolom tabel menjelaskan properti.

    3. Di kolom Name, klik nama permintaan draf yang dibuat Google untuk Anda. Halaman yang memberikan detail permintaan pemesanan untuk masa mendatang akan terbuka.

    4. Di bagian Informasi dasar, pastikan detail permintaan, seperti Tanggal dan Jenis berbagi, sudah benar. Selain itu, jika Anda meminta komitmen, pastikan komitmen tersebut ditentukan.

    5. Jika ada detail yang salah, hubungi tim akun Anda.

    gcloud

    1. Untuk melihat daftar permintaan pemesanan untuk masa mendatang di project Anda, gunakan perintah gcloud beta compute future-reservations list dengan flag --filter ditetapkan ke PROCUREMENT_STATUS=DRAFTING:

      gcloud beta compute future-reservations list --filter=PROCUREMENT_STATUS=DRAFTING
      
    2. Di output perintah, cari permintaan reservasi yang memiliki nama yang Anda berikan kepada tim akun Anda.

    3. Untuk melihat detail permintaan draf, gunakan perintah gcloud beta compute future-reservations describe:

      gcloud beta compute future-reservations describe FUTURE_RESERVATION_NAME \
          --zone=ZONE
      

      Ganti kode berikut:

      • FUTURE_RESERVATION_NAME: nama draf permintaan pemesanan untuk masa mendatang.
      • ZONE: zona tempat Google membuat permintaan.

      Outputnya mirip dengan hal berikut ini:

      autoCreatedReservationsDeleteTime: '2026-02-10T19:20:00Z'
      creationTimestamp: '2025-11-27T11:14:58.305-08:00'
      deploymentType: DENSE
      id: '7979651787097007552'
      kind: compute#futureReservation
      name: example-draft-request
      planningStatus: DRAFT
      reservationName: example-reservation
      schedulingType: INDEPENDENT
      selfLink: https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/example-draft-request
      selfLinkWithId: https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/7979651787097007552
      specificReservationRequired: true
      specificSkuProperties:
        instanceProperties:
          localSsds:
          - diskSizeGb: '375'
            interface: NVME
          ...
        machineType: h4d-highmem-192-lssd
      totalCount: '2'
      status:
        autoCreatedReservations:
        - https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/reservations/example-reservation
        fulfilledCount: '2'
        lockTime: '2026-01-27T19:15:00Z'
        procurementStatus: DRAFTING
      timeWindow:
        endTime: '2026-02-10T19:20:00Z'
        startTime: '2026-01-27T19:20:00Z'
      zone: https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b
      
    4. Di output perintah, pastikan detail permintaan, seperti periode reservasi dan jenis berbagi, sudah benar. Selain itu, jika Anda membeli komitmen, verifikasi bahwa komitmen tersebut telah ditentukan.

    5. Jika detailnya salah, hubungi tim akun Anda.

    REST

    1. Untuk melihat daftar permintaan pemesanan untuk masa mendatang dalam project Anda, buat permintaan GET ke metode futureReservations.list beta. Di URL permintaan, sertakan parameter kueri filter dan tetapkan ke status.procurementStatus=DRAFTING:

      GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations?filter=status.procurementStatus=DRAFTING
      

      Ganti kode berikut:

      • PROJECT_ID: ID project tempat Google membuat draf permintaan pemesanan untuk masa mendatang.
      • ZONE: zona tempat permintaan berada.
    2. Dalam output permintaan, cari permintaan reservasi yang memiliki nama yang Anda berikan kepada tim akun Anda.

    3. Untuk melihat detail draf permintaan, buat permintaan GET ke metode futureReservations.get beta :

      GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME
      

      Ganti FUTURE_RESERVATION_NAME dengan nama permintaan pemesanan untuk masa mendatang versi draf.

      Outputnya mirip dengan hal berikut ini:

      {
        "specificSkuProperties": {
          "instanceProperties": {
            "machineType": "h4d-highmem-192-lssd",
            "localSsds": [
              {
                "diskSizeGb": "375",
                "interface": "NVME"
              },
              ...
            ]
          },
          "totalCount": "2"
        },
        "kind": "compute#futureReservation",
        "id": "7979651787097007552",
        "creationTimestamp": "2025-11-27T11:14:58.305-08:00",
        "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/example-draft-request",
        "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/7979651787097007552",
        "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b",
        "name": "example-draft-request",
        "timeWindow": {
          "startTime": "2026-01-27T19:20:00Z",
          "endTime": "2026-02-10T19:20:00Z"
        },
        "status": {
          "procurementStatus": "DRAFTING",
          "lockTime": "2026-01-27T19:15:00Z"
        },
        "planningStatus": "DRAFT",
        "specificReservationRequired": true,
        "reservationName": "example-reservation",
        "deploymentType": "DENSE",
        "schedulingType": "INDEPENDENT",
        "autoCreatedReservationsDeleteTime": "2026-02-10T19:20:00Z"
      }
      
    4. Di output, pastikan detail permintaan, seperti periode reservasi dan jenis berbagi, sudah benar. Selain itu, jika Anda meminta komitmen, pastikan komitmen tersebut ditentukan.

    5. Jika detailnya salah, hubungi tim akun Anda.

  4. Jika semuanya sudah benar, kirim permintaan reservasi. Anda harus mengirimkan permintaan sebelum waktu mulai permintaan.

    Untuk mengirimkan draf permintaan pemesanan untuk masa mendatang, pilih salah satu opsi berikut:

    Konsol

    1. Di konsol Google Cloud , buka halaman Reservations.

      Buka Pemesanan

    2. Klik tab Future reservations.

    3. Di kolom Name, klik nama permintaan draf yang dibuat Google untuk Anda.

    4. Klik Kirim.

    gcloud

    Untuk mengirimkan draf permintaan untuk ditinjau, gunakan perintah gcloud beta compute future-reservations update dengan flag --planning-status ditetapkan ke SUBMITTED:

    gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
        --planning-status=SUBMITTED \
        --zone=ZONE
    

    REST

    Untuk mengirimkan draf permintaan untuk ditinjau, buat permintaan PATCH ke metode beta futureReservations.update. Di URL permintaan, sertakan parameter kueri updateMask dan tetapkan ke planningStatus:

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=planningStatus
    
    {
      "name": "FUTURE_RESERVATION_NAME",
      "planningStatus": "SUBMITTED"
    }
    
  5. Google Cloud segera menyetujui permintaan yang Anda kirimkan.

  6. Compute Engine membuat pemesanan kosong dengan resource yang Anda minta.

  7. Untuk melihat reservasi, lihat Melihat kapasitas yang dicadangkan dalam dokumentasi AI Hypercomputer.

Opsional: Buat kebijakan penempatan

Gunakan kebijakan penempatan jika Anda ingin VM ditempatkan sedekat mungkin satu sama lain. Namun, jika Anda ingin VM berada di blok tertentu, lewati langkah ini dan berikan nama blok yang diperlukan selama pembuatan VM massal.

Instance yang berkomunikasi menggunakan Cloud RDMA harus berada dalam satu zona, dan, lebih ketat lagi, dalam satu fabric cluster. Anda dapat membuat kebijakan penempatan rapat dan menentukan nilai jarak maksimum untuk menetapkan kerapatan minimum dalam zona. Ada batasan jumlah instance yang dapat Anda tetapkan kebijakan penempatan rapatnya saat Anda menentukan nilai jarak maksimum, dan batasnya berubah bergantung pada nilai yang Anda pilih.

Untuk membuat kebijakan penempatan rapat, pilih salah satu opsi berikut:

gcloud

Untuk membuat kebijakan penempatan yang ringkas, gunakan perintah gcloud beta compute resource-policies create group-placement.

gcloud beta compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--max-distance=MAX_DISTANCE \
--region=REGION

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan penempatan ringkas
  • MAX_DISTANCE: konfigurasi jarak maksimum untuk instance VM Anda. Tentukan 3 untuk menempatkan VM di blok yang berdekatan, dan 2 untuk menempatkan VM di blok yang sama. Penempatan VM dilakukan dengan upaya terbaik.
  • REGION: region tempat Anda ingin membuat kebijakan penempatan. Tentukan region tempat jenis mesin yang ingin Anda gunakan tersedia. Untuk mengetahui informasi tentang region yang tersedia, lihat Region dan zona yang tersedia.

REST

Untuk membuat kebijakan penempatan ringkas, buat permintaan POST ke metode beta.resourcePolicies.insert. Dalam isi permintaan, sertakan kolom collocation yang ditetapkan ke COLLOCATED, dan kolom maxDistance.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
    "name": "POLICY_NAME",
    "groupPlacementPolicy": {
        "collocation": "COLLOCATED",
        "maxDistance": "MAX_DISTANCE"
    }
}

Ganti kode berikut:

  • PROJECT_ID: project ID Anda
  • REGION: region tempat Anda ingin membuat kebijakan penempatan. Tentukan region tempat jenis mesin yang ingin Anda gunakan tersedia. Untuk mengetahui informasi tentang region yang tersedia, lihat Region dan zona yang tersedia.
  • POLICY_NAME: nama kebijakan penempatan ringkas
  • MAX_DISTANCE: konfigurasi jarak maksimum untuk instance VM Anda. Tentukan 3 untuk menempatkan VM di blok yang berdekatan, dan tentukan 2 untuk menempatkan VM di blok yang sama. Penempatan VM dilakukan dengan upaya terbaik.

Membuat jaringan Virtual Private Cloud

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 komunikasi jaringan 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.

Tinjau aturan berikut untuk mengonfigurasi antarmuka jaringan untuk instance:

  • Setiap antarmuka jaringan harus terhubung ke jaringan Virtual Private Cloud yang berbeda.
  • Untuk mengonfigurasi antarmuka jaringan IRDMA, Anda harus membuat jaringan VPC dengan profil jaringan Falcon RDMA di region dan zona yang sama dengan instance.
  • Untuk antarmuka jaringan GVNIC, jika Anda tidak menentukan jaringan atau subnet, Compute Engine akan menggunakan jaringan VPC default dan subnet otomatis yang berada di dalam region yang sama dengan instance tersebut.
  • Jika Anda menentukan subnet, tetapi tidak menentukan jaringan, Compute Engine akan menyimpulkan jaringan dari subnet yang ditentukan.
  • Jika menentukan jaringan, Anda harus menentukan subnet dan subnet tersebut harus berasal dari jaringan yang sama. Jika tidak, pembuatan instance akan gagal.

Untuk menyiapkan jaringan Virtual Private Cloud (VPC) Falcon yang akan 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 terhubung ke jaringan yang terpisah. Untuk membuat jaringan, Anda dapat menggunakan skrip berikut, yang membuat dua jaringan untuk GVNIC dan satu jaringan untuk IRDMA yang menggunakan profil jaringan VPC Falcon.

  1. Opsional: Sebelum menjalankan skrip, buat daftar profil jaringan VPC Falcon untuk memverifikasi apakah ada profil yang tersedia. Profil jaringan VPC Falcon tidak tersedia di semua zona.

    gcloud beta compute network-profiles list --filter=falcon
    
  2. Salin kode berikut dan jalankan di jendela shell Linux.

#!/bin/bash

# Create standard VPC (networks and subnets) for the two GVNIC interfaces
  for N in $(seq 0 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=<var>REGION</var> \
        --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:

  • 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 VPC Falcon. 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 perlu izinkan aksesnya, 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 us-central1-a atau europe-west4-b.

Membuat instance yang mendukung RDMA secara massal

Tinjau batasan berikut sebelum membuat instance H4D dengan Cloud RDMA:

  • Anda tidak dapat menggunakan Migrasi langsung selama peristiwa pemeliharaan host dengan instance yang memiliki antarmuka jaringan Cloud RDMA. Anda harus mengonfigurasi instance agar dihentikan selama peristiwa pemeliharaan.
  • Anda hanya dapat menggunakan alamat IPv4 dengan antarmuka jaringan RDMA dan jaringan VPC dengan profil jaringan Falcon RDMA.
  • Anda hanya dapat menggunakan seri mesin H4D untuk membuat instance yang dioptimalkan untuk HPC dengan Cloud RDMA.

Langkah-langkah berikut menunjukkan cara membuat instance yang mendukung RDMA secara massal dengan dua antarmuka jaringan pertama dikonfigurasi sebagai antarmuka GVNIC, dan antarmuka jaringan ketiga dikonfigurasi sebagai antarmuka jaringan IRDMA:

gcloud

Gunakan perintah gcloud compute instances create dengan tiga flag --network-interface, dua untuk antarmuka GVNIC dan satu untuk antarmuka IRDMA. Jika Anda memilih untuk menggunakan kebijakan penempatan rapat, tambahkan juga flag berikut: --resource-policies=POLICY_NAME. Ganti POLICY_NAME dengan nama kebijakan penempatan padat. Anda dapat menyesuaikan opsi instance lainnya sesuai kebutuhan.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image=project= IMAGE_PROJECT \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination=action=DELETE \
    --maintenance-policy=TERMINATE \
    --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

Ganti kode berikut:

  • NAME_PATTERN: pola nama untuk instance. Misalnya, menggunakan vm-# untuk pola nama akan menghasilkan instance dengan nama seperti vm-1 dan vm-2, hingga jumlah yang ditentukan oleh tanda --count.
  • COUNT: jumlah instance yang akan dibuat.
  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk instance. Gunakan salah satu jenis mesin H4D, misalnya h4d-highmem-192-lssd.
  • IMAGE_FAMILY: kelompok image dari image OS yang ingin Anda gunakan, misalnya rocky-linux-9-optimized-gcp. Untuk mengetahui daftar image OS yang didukung, lihat Sistem operasi yang didukung. Pilih versi image OS yang mendukung antarmuka IRDMA.
  • IMAGE_PROJECT: project ID untuk image OS, misalnya, rocky-linux-cloud.
  • RESERVATION: untuk nilai ini, Anda dapat menentukan salah satu opsi berikut:

    • Jika Anda menggunakan kebijakan penempatan atau jika VM dapat ditempatkan di mana saja dalam blok reservasi, tentukan nama reservasi, misalnya, h4d-highmem-exfr-prod.
    • Jika Anda ingin instance ditempatkan dalam blok tertentu dan Anda tidak menggunakan kebijakan penempatan yang ringkas, tentukan nama blok reservasi menggunakan format RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME, for example,h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1`.

    Untuk melihat nama reservasi atau blok reservasi yang tersedia, lihat Melihat kapasitas.

  • REGION: tentukan region tempat jenis mesin yang ingin Anda gunakan tersedia, misalnya europe-west1. Untuk mengetahui informasi tentang region yang tersedia, lihat Region dan zona yang tersedia.

  • DISK_SIZE: Opsional: ukuran boot disk dalam GiB. Nilai harus berupa bilangan bulat.

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

    Untuk antarmuka jaringan GVNIC, Anda dapat menghilangkan tanda network dan subnet untuk menggunakan jaringan default.

  • STACK_TYPE: Opsional: jenis stack untuk antarmuka jaringan GVNIC. STACK_TYPE harus salah satu dari: IPV4_ONLY, atau IPV4_IPV6. Nilai defaultnya adalah IPV4_ONLY.

  • EXTERNAL_IPV4_ADDRESS: Opsional: alamat IPv4 eksternal statis yang akan digunakan dengan antarmuka jaringan. Anda harus telah 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 menerima alamat IP eksternal sementara.

    Untuk menentukan alamat IPv6 eksternal, gunakan flag --external-ipv6-address.

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

REST

Untuk membuat instance yang mendukung RDMA secara massal, buat permintaan POST ke metode beta instances.bulkInsert dengan setelan berikut:

  • Sertakan objek networkInterfaces dengan minimal dua konfigurasi jaringan, satu untuk antarmuka jaringan gVNIC dan satu untuk antarmuka jaringan RDMA.
  • Jika Anda memilih untuk menggunakan kebijakan penempatan rapat, tambahkan juga objek resourcePolicies ke isi permintaan.
  • Untuk menggunakan blok kapasitas yang dicadangkan saat membuat instance, tetapkan provisioningModel ke RESERVATION_BOUND.
  • Anda dapat menyesuaikan properti instance lainnya sesuai kebutuhan.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern":"NAME_PATTERN",
  "count":"COUNT",
  "instanceProperties":{
    "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"
      }
    ],
    "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
        }
    },
    ...
  }
}

Selesaikan langkah-langkah berikut:

  1. Ganti baris berikut dalam isi permintaan:

    • PROJECT_ID: project ID dari project tempat Anda ingin membuat instance.
    • ZONE: tentukan zona tempat jenis mesin yang ingin Anda gunakan tersedia. Jika Anda menggunakan kebijakan penempatan rapat, gunakan zona di region yang sama dengan kebijakan penempatan rapat. Untuk mengetahui informasi tentang region tempat jenis mesin H4D tersedia, lihat Region dan zona yang tersedia.
    • NAME_PATTERN: pola nama untuk instance. Misalnya, menggunakan vm-# untuk pola nama akan menghasilkan instance dengan nama seperti vm-1 dan vm-2, hingga jumlah yang ditentukan oleh kolom count.
    • COUNT: jumlah instance yang akan dibuat.
    • MACHINE_TYPE: jenis mesin yang akan digunakan untuk instance. Gunakan salah satu jenis mesin H4D, misalnya h4d-highmem-192-lssd.
    • DISK_SIZE: ukuran boot disk dalam GiB.
    • IMAGE_PROJECT: project ID untuk image OS, misalnya, debian-cloud.
    • IMAGE_FAMILY: kelompok image dari image OS yang ingin Anda gunakan, misalnya rocky-linux-9-optimized-gcp. Untuk mengetahui daftar image OS yang didukung, lihat Sistem operasi yang didukung. Pilih versi image OS yang mendukung antarmuka IRDMA.
    • GVNIC_NAME_PREFIX: awalan nama yang Anda gunakan saat membuat jaringan VPC dan subnet untuk antarmuka GVNIC

      Untuk antarmuka jaringan GVNIC, Anda dapat menghilangkan kolom network dan subnetwork untuk menggunakan jaringan default.

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

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

    • RESERVATION: untuk nilai ini, Anda dapat menentukan salah satu opsi berikut:

      • Jika Anda menggunakan kebijakan penempatan atau jika VM dapat ditempatkan di mana saja dalam blok reservasi, tentukan nama reservasi, misalnya, h4d-highmem-exfr-prod.
      • Jika Anda ingin instance ditempatkan dalam blok tertentu dan Anda tidak menggunakan kebijakan penempatan rapat, tentukan nama blok reservasi sebagai RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME, for example,h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1`.

      Untuk melihat nama reservasi atau blok reservasi yang tersedia, lihat Melihat kapasitas.

  2. Opsional: Jika Anda menggunakan kebijakan penempatan rapat, ganti ... di isi permintaan dengan kolom berikut:

    "resourcePolicies": [
        "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
    ],
    

    Ganti kode berikut:

    • PROJECT_ID: project ID kebijakan penempatan ringkas.
    • REGION: region kebijakan penempatan yang ringkas.
    • POLICY_NAME: nama kebijakan penempatan yang ringkas.
  3. Kirim permintaan.