Membuat pemesanan untuk satu project


Dokumen ini menjelaskan cara membuat pemesanan satu project, yang hanya dapat digunakan oleh instance virtual machine (VM) dalam project yang sama. Untuk mempelajari pemesanan lebih lanjut, lihat Pemesanan resource zona Compute Engine.

Untuk metode pembuatan pemesanan yang lain, lihat halaman berikut:

  • Jika Anda memiliki komitmen 1 tahun atau 3 tahun dalam project saat ini, resource yang dipesan akan otomatis menerima diskon abonemen yang berlaku. Anda juga bisa membuat dan melampirkan pemesanan ke komitmen saat membelinya. Untuk mempelajari lebih lanjut, lihat Melampirkan pemesanan ke komitmen.

  • Untuk membuat pemesanan yang dapat digunakan oleh beberapa project, lihat Membuat pemesanan bersama.

Sebelum memulai

  • Tinjau persyaratan dan pembatasan untuk pemesanan.
  • Siapkan autentikasi, jika Anda belum melakukannya. Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. Menetapkan region dan zona default.

    Terraform

    Untuk menggunakan contoh Terraform di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

    1. Menginstal Google Cloud CLI.
    2. Untuk initialize gcloud CLI, jalankan perintah berikut:

      gcloud init
    3. Buat kredensial autentikasi lokal untuk Akun Google Anda:

      gcloud auth application-default login

    Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat pemesanan satu project, minta administrator untuk memberi Anda peran IAM (roles/compute.admin ) Compute Admin pada project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Peran yang telah ditentukan ini berisi izin yang diperlukan untuk membuat pemesanan satu project. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat pemesanan satu project:

  • compute.reservations.create pada project
  • Untuk menentukan template instance: compute.instanceTemplates.useReadOnly pada template instance

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran yang telah ditetapkan sebelumnya.

Membuat pemesanan satu project

Bagian ini menjelaskan cara membuat pemesan satu project.

Untuk menggunakan pemesanan, VM harus memiliki properti yang sama persis dengan pemesanan tersebut. Untuk menentukan properti VM yang ingin Anda pesan, pilih salah satu bagian berikut dalam dokumen ini:

Secara default, pemesanan dapat otomatis dipakai oleh semua VM yang memiliki properti yang sama persis dengannya. Jika Anda ingin mengontrol konsumsi reservasi, lakukan satu atau beberapa tindakan berikut:

Selain itu, Anda dapat menentukan kebijakan penempatan ringkas saat membuat reservasi project tunggal. Kebijakan penempatan yang ringkas menentukan bahwa VM harus ditempatkan sedekat mungkin satu sama lain untuk mengurangi latensi jaringan.

Menentukan template instance

Untuk membuat pemesanan project tunggal dengan menentukan template instance, gunakan Konsol Google Cloud, gcloud CLI, atau REST.

Konsol

Untuk membuat pemesanan project tunggal dengan menentukan template instance, lakukan langkah berikut:

  1. Di Konsol Google Cloud, buka halaman Pemesanan.

    Buka Pemesanan

  2. Klik Buat pemesanan.

    Halaman Buat reservasi akan terbuka.

  3. Di kolom Nama, masukkan nama untuk pemesanan Anda.

  4. Pilih Region dan Zona tempat Anda ingin memesan resource.

  5. Di bagian Jenis berbagi, klik Lokal (default).

  6. Di bagian Gunakan dengan instance VM, pilih salah satu opsi berikut:

    • Agar VM yang cocok dapat otomatis menggunakan reservasi ini, klik Use reservation automatically (default).

    • Untuk menggunakan resource reservasi ini hanya saat membuat VM yang cocok dan secara khusus menargetkan reservasi ini berdasarkan nama, klik Select specific reservation.

  7. Di kolom Number of VM instances, masukkan jumlah VM yang ingin Anda reservasi.

  8. Di bagian Machine configuration, lakukan hal berikut:

    1. Untuk menentukan properti VM Anda dari template instance yang ada, pilih Gunakan template instance.

    2. Di kolom Template instance, pilih template instance pilihan Anda. Jika memilih template instance regional, Anda hanya dapat mencadangkan resource di dalam region template instance.

  9. Di bagian Auto-delete, Anda dapat mengaktifkan opsi hapus otomatis agar Compute Engine dapat otomatis menghapus reservasi pada tanggal dan waktu tertentu. Menghapus reservasi secara otomatis dapat berguna untuk menghindari biaya yang tidak perlu saat Anda berhenti menggunakan reservasi.

  10. Untuk membuat pemesanan, klik Buat.

    Halaman Reservations akan terbuka. Membuat pemesanan satu project mungkin memerlukan waktu hingga satu menit.

gcloud

Untuk membuat pemesanan project tunggal dengan menentukan template instance, gunakan perintah gcloud compute reservations create.

Untuk membuat pemesanan project tunggal dengan menentukan template instance tanpa flag opsional, jalankan perintah berikut:

gcloud compute reservations create RESERVATION_NAME \
    --project=PROJECT_ID \
    --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
    --vm-count=NUMBER_OF_VMS \
    --zone=ZONE

Ganti kode berikut:

  • RESERVATION_NAME: nama pemesanan yang akan dibuat.

  • PROJECT_ID: ID project tempat Anda ingin mencadangkan resource dan lokasi template instance.

  • LOCATION: lokasi template instance. Tentukan salah satu nilai berikut:

    • Untuk template instance global: global.

    • Untuk template instance regional: regions/REGION. Ganti REGION dengan region tempat template instance berada. Jika menentukan template instance regional, Anda hanya dapat mencadangkan VM di dalam region template instance.

  • INSTANCE_TEMPLATE_NAME: nama template instance yang ada. Jika menentukan template instance yang menyertakan kebijakan penempatan ringkas, Anda harus menentukan flag --require-specific-reservation. Hal ini menunjukkan bahwa hanya VM yang secara khusus menargetkan reservasi ini yang dapat menggunakannya.

  • NUMBER_OF_VMS: jumlah VM yang akan dipesan.

  • ZONE: zona tempat memesan resource.

Misalnya, untuk membuat reservasi untuk sepuluh VM di zona us-central1-a dengan menentukan template instance global, jalankan perintah berikut:

gcloud compute reservations create my-reservation \
    --project=example-project \
    --source-instance-template=projects/example-project/global/example-instance-template \
    --vm-count=10 \
    --zone=us-central1-a

Secara opsional, Anda dapat melakukan satu atau beberapa hal berikut:

  • Untuk menentukan bahwa hanya VM yang secara khusus menargetkan reservasi ini yang dapat menggunakannya, sertakan flag --require-specific-reservation.

    gcloud compute reservations create example-reservation \
        --require-specific-reservation \
        ...
    
  • Agar Compute Engine dapat menghapus reservasi secara otomatis, pilih salah satu metode berikut:

    • Untuk menghapus reservasi pada tanggal dan waktu tertentu, gunakan perintah gcloud beta compute reservations create dan sertakan flag --delete-at-time.

      gcloud beta compute reservations create reservation-example \
          --delete-at-time=DELETE_AT_TIME \
          ...
      

      Ganti DELETE_AT_TIME dengan tanggal dan waktu yang diformat sebagai stempel waktu RFC 3339, yang harus seperti berikut:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Ganti kode berikut:

      • YYYY-MM-DD: tanggal dengan format 4 digit tahun, 2 digit bulan, dan 2 digit hari dalam sebulan, yang dipisahkan dengan tanda hubung (-).

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

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

    • Untuk menghapus reservasi setelah durasi tertentu, gunakan perintah gcloud beta compute reservations create dan sertakan flag --delete-after-duration.

      gcloud beta compute reservations create reservation-example \
          --delete-after-duration=DELETE_AFTER_DURATION \
          ...
      

      Ganti DELETE_AFTER_DURATION dengan durasi dalam hari, jam, menit, atau detik. Misalnya, tentukan 30m selama 30 menit, atau 1d2h3m4s untuk 1 hari, 2 jam, 3 menit, dan 4 detik.

REST

Untuk membuat pemesanan project tunggal dengan menentukan template instance, buat permintaan POST ke metode reservations.insert.

Untuk membuat pemesanan project tunggal dengan menentukan template instance tanpa flag opsional, buat permintaan POST berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

{
  "name": "RESERVATION_NAME",
  "specificReservation": {
    "count": "NUMBER_OF_VMS",
    "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME"
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat Anda ingin mencadangkan resource dan lokasi template instance.

  • ZONE: zona tempat memesan resource.

  • RESERVATION_NAME: nama pemesanan yang akan dibuat.

  • NUMBER_OF_VMS: jumlah VM yang akan dipesan.

  • LOCATION: lokasi template instance. Tentukan salah satu nilai berikut:

    • Untuk template instance global: global.

    • Untuk template instance regional: regions/REGION. Ganti REGION dengan region tempat template instance berada. Jika menentukan template instance regional, Anda hanya dapat mencadangkan VM di dalam region template instance.

  • INSTANCE_TEMPLATE_NAME: nama template instance yang ada. Jika menentukan template instance yang menyertakan kebijakan penempatan ringkas, Anda harus menentukan kolom specificReservationRequired dalam isi permintaan dan menetapkannya ke true. Hal ini menunjukkan bahwa hanya VM yang secara khusus menargetkan reservasi ini yang dapat menggunakannya.

Misalnya, untuk membuat reservasi untuk sepuluh VM di zona us-central1-a dengan menentukan template instance global, buat permintaan POST berikut:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations

{
  "name": "my-reservation",
  "specificReservation": {
    "count": "10",
    "sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-instance-template"
  }
}

Secara opsional, Anda dapat melakukan satu atau beberapa hal berikut:

  • Untuk menentukan bahwa hanya VM yang secara khusus menargetkan reservasi ini yang dapat menggunakannya, sertakan kolom specificReservationRequired dalam isi permintaan dan tetapkan ke true.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservationRequired": true,
      ...
    }
    
  • Agar Compute Engine dapat menghapus reservasi secara otomatis, pilih salah satu metode berikut:

    • Untuk menghapus reservasi pada tanggal dan waktu tertentu, buat permintaan POST ke metode beta.reservations.insert. Dalam isi permintaan, sertakan kolom deleteAtTime.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAtTime": "DELETE_AT_TIME",
        ...
      }
      

      Ganti DELETE_AT_TIME dengan tanggal dan waktu yang diformat sebagai stempel waktu RFC 3339, yang harus seperti berikut:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Ganti kode berikut:

      • YYYY-MM-DD: tanggal dengan format 4 digit tahun, 2 digit bulan, dan 2 digit hari dalam sebulan, yang dipisahkan dengan tanda hubung (-).

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

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

    • Untuk menghapus reservasi setelah durasi tertentu, buat permintaan POST ke metode beta.reservations.insert. Dalam isi permintaan, sertakan kolom deleteAfterDuration.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAfterDuration": {
          "seconds": "DELETE_AFTER_DURATION"
        },
        ...
      }
      

      Mengganti DELETE_AFTER_DURATION dengan durasi dalam detik. Misalnya, tentukan 86400 selama 86.400 detik (1 hari).

Menentukan properti secara langsung

Untuk membuat reservasi satu project dengan menentukan properti secara langsung, gunakan Konsol Google Cloud, gcloud CLI, Terraform, atau REST.

Konsol

Untuk membuat pemesanan satu project, lakukan hal berikut:

  1. Di Konsol Google Cloud, buka halaman Pemesanan.

    Buka Pemesanan

  2. Klik Buat pemesanan.

    Halaman Buat reservasi akan terbuka.

  3. Di kolom Nama, masukkan nama untuk pemesanan Anda.

  4. Pilih Region dan Zona tempat Anda ingin memesan resource.

  5. Di bagian Jenis berbagi, klik Lokal (default).

  6. Di bagian Gunakan dengan instance VM, pilih salah satu opsi berikut:

    • Agar VM yang cocok dapat otomatis menggunakan reservasi ini, klik Use reservation automatically (default).

    • Untuk menggunakan resource reservasi ini hanya saat membuat VM yang cocok dan secara khusus menargetkan reservasi ini berdasarkan nama, klik Select specific reservation.

  7. Di kolom Number of VM instances, masukkan jumlah VM yang ingin Anda reservasi.

  8. Di bagian Konfigurasi mesin, pilih Tentukan jenis mesin, lalu tentukan hal berikut:

    1. Di kolom Kelompok mesin, Seri, dan Jenis mesin, pilih kelompok mesin, seri, dan jenis mesin.

    2. Opsional: Untuk menentukan platform CPU dan/atau GPU minimum, lakukan hal berikut:

      1. Untuk meluaskan bagian CPU Platform and GPU, klik peluas .

      2. Opsional: Untuk menentukan platform CPU minimum, dalam daftar CPU Platform, pilih salah satu opsi.

      3. Opsional: Untuk menambahkan GPU, klik Tambahkan GPU. Kemudian, di kolom Jenis GPU dan Jumlah GPU, pilih jenis dan jumlah GPU untuk setiap VM.

    3. Opsional: Untuk menambahkan SSD Lokal, lakukan langkah berikut:

      1. Di kolom Number of disks, pilih jumlah SSD Lokal untuk setiap VM.

      2. Di kolom Interface type, pilih antarmuka untuk SSD Lokal.

    4. Opsional: Guna menentukan kebijakan penempatan yang ringkas untuk reservasi yang memenuhi persyaratan, klik daftar Pilih atau buat kebijakan penempatan grup, lalu lakukan salah satu tindakan berikut:

      • Untuk membuat kebijakan penempatan yang ringkas untuk ditentukan dalam reservasi ini, ikuti langkah-langkah berikut:

        1. Klik Buat kebijakan penempatan grup.

          Panel Create a group place policy akan muncul.

        2. Di kolom Nama kebijakan, masukkan nama untuk kebijakan Anda.

        3. Klik Create.

          Pembuatan kebijakan penempatan yang ringkas mungkin memerlukan waktu beberapa detik untuk diselesaikan.

      • Jika tidak, pilih kebijakan penempatan rapat yang sudah ada.

  9. Di bagian Auto-delete, Anda dapat mengaktifkan opsi hapus otomatis agar Compute Engine dapat otomatis menghapus reservasi pada tanggal dan waktu tertentu. Menghapus reservasi secara otomatis dapat berguna untuk menghindari biaya yang tidak perlu saat Anda berhenti menggunakan reservasi.

  10. Untuk membuat pemesanan, klik Buat.

    Membuat pemesanan satu project mungkin memerlukan waktu beberapa saat untuk diselesaikan. Tindakan ini akan mengalihkan Anda ke halaman Pemesanan.

gcloud

Untuk membuat reservasi satu project, gunakan perintah gcloud compute reservations create.

Untuk membuat reservasi project tunggal tanpa flag opsional, jalankan perintah berikut:

gcloud compute reservations create RESERVATION_NAME \
    --machine-type=MACHINE_TYPE \
    --project=PROJECT_ID \
    --vm-count=NUMBER_OF_VMS \
    --zone=ZONE

Ganti kode berikut:

  • RESERVATION_NAME: nama pemesanan yang akan dibuat.

  • MACHINE_TYPE: jenis mesin yang digunakan untuk setiap VM. Tentukan salah satu nilai berikut:

    • Untuk jenis mesin yang telah ditetapkan: MACHINE_FAMILY-standard-CPUS.

    • Untuk jenis mesin kustom: MACHINE_FAMILY-custom-CPUS-MEMORY. Sebelum menentukan jenis mesin kustom, tinjau batasan untuk VM dengan jenis mesin kustom.

    Ganti kode berikut:

    • MACHINE_FAMILY: kelompok mesin.

    • CPUS: jumlah vCPU.

    • MEMORY: total memori untuk VM yang dipesan. Ukuran memori harus kelipatan 256 MB dan harus ditulis dalam satuan MB.

    Misalnya, untuk menentukan jenis mesin kustom N2 dengan 4 vCPU dan memori 5 GB, yaitu 5.120 MB, tentukan n2-custom-4-5120.

  • PROJECT_ID: ID project tempat Anda ingin mencadangkan resource.

  • NUMBER_OF_VMS: jumlah VM yang akan dipesan.

  • ZONE: zona tempat memesan resource.

Misalnya, untuk membuat reservasi di zona us-central1-a untuk sepuluh VM yang masing-masing menggunakan jenis mesin yang telah ditetapkan N2 dengan 4 vCPU, jalankan perintah berikut:

gcloud compute reservations create my-reservation \
    --machine-type=n2-standard-4 \
    --project=example-project \
    --vm-count=10 \
    --zone=us-central1-a

Secara opsional, Anda dapat melakukan satu atau beberapa hal berikut:

  • Untuk menambahkan unit pemrosesan grafis (GPU) ke setiap VM yang dicadangkan, sertakan flag --accelerator.

    gcloud compute reservations create my-reservation \
        --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE
        ...
    

    Ganti kode berikut:

    • NUMBER_OF_ACCELERATORS: jumlah GPU yang akan ditambahkan per VM yang dipesan.

    • ACCELERATOR_TYPE: jenis GPU yang akan ditambahkan ke VM yang dipesan.

    Pastikan jenis mesin yang Anda tentukan dalam reservasi mendukung jenis GPU yang Anda tentukan dan GPU tersedia di zona tempat Anda ingin mencadangkan resource. Jika tidak, pembuatan reservasi akan gagal.

  • Untuk menambahkan satu atau beberapa SSD Lokal ke setiap VM yang dicadangkan, sertakan satu atau beberapa flag --local-ssd. Anda dapat menentukan hingga 24 SSD Lokal. Setiap SSD Lokal berukuran 375 GB.

    Misalnya, untuk menentukan dua SSD Lokal saat membuat reservasi, sertakan dua tanda --local-ssd.

    gcloud compute reservations create my-reservation \
        --local-ssd=size=375,interface=INTERFACE_1 \
        --local-ssd=size=375,interface=INTERFACE_2 \
        ...
    

    Ganti INTERFACE_1 dan INTERFACE_2 dengan jenis antarmuka yang Anda inginkan untuk digunakan oleh SSD Lokal. Tentukan salah satu nilai berikut:

    • Untuk antarmuka disk NVME: nvme.

    • Untuk antarmuka disk SCSI: scsi.

    Pastikan jenis mesin yang ditentukan untuk VM yang dicadangkan mendukung antarmuka disk yang dipilih. Jika tidak, pembuatan reservasi akan gagal. Untuk mengetahui informasi selengkapnya, lihat cara memilih antarmuka disk.

  • Agar VM yang dicadangkan menggunakan platform CPU minimum tertentu, bukan platform CPU default zona, sertakan flag --min-cpu-platform.

    gcloud compute reservations create my-reservation \
        --min-cpu-platform="MIN_CPU_PLATFORM" \
        ...
    

    Ganti MIN_CPU_PLATFORM dengan platform CPU minimum. Untuk memastikan platform CPU tersedia di zona tempat Anda memesan resource, lihat platform CPU yang tersedia berdasarkan zona.

  • Untuk menentukan bahwa hanya VM yang secara khusus menargetkan reservasi ini yang dapat menggunakannya, sertakan flag --require-specific-reservation.

    gcloud compute reservations create example-reservation \
        --require-specific-reservation \
        ...
    
  • Untuk menentukan kebijakan penempatan yang ringkas untuk latensi jaringan yang lebih rendah di antara VM, sertakan flag --resource-policies=policy.

    gcloud compute reservations create example-reservation \
        --resource-policies=policy=COMPACT_PLACEMENT_POLICY_NAME \
        --require-specific-reservation \
        ...
    

    Ganti COMPACT_PLACEMENT_POLICY_NAME dengan nama kebijakan penempatan ringkas yang sudah ada. Selain itu, untuk menghindari error saat membuat reservasi project tunggal yang menentukan kebijakan penempatan yang ringkas, pastikan untuk menentukan hal berikut:

    • Jenis mesin yang didukung untuk kebijakan penempatan yang ringkas.

    • Zona dalam region tempat kebijakan penempatan rapat berada.

    • Flag --require-specific-reservation. Hal ini menunjukkan bahwa hanya VM yang secara khusus menargetkan reservasi yang dapat menggunakannya.

  • Agar Compute Engine dapat menghapus reservasi secara otomatis, pilih salah satu metode berikut:

    • Untuk menghapus reservasi pada tanggal dan waktu tertentu, gunakan perintah gcloud beta compute reservations create dan sertakan flag --delete-at-time.

      gcloud beta compute reservations create reservation-example \
          --delete-at-time=DELETE_AT_TIME \
          ...
      

      Ganti DELETE_AT_TIME dengan tanggal dan waktu yang diformat sebagai stempel waktu RFC 3339, yang harus seperti berikut:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Ganti kode berikut:

      • YYYY-MM-DD: tanggal dengan format 4 digit tahun, 2 digit bulan, dan 2 digit hari dalam sebulan, yang dipisahkan dengan tanda hubung (-).

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

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

    • Untuk menghapus reservasi setelah durasi tertentu, gunakan perintah gcloud beta compute reservations create dan sertakan flag --delete-after-duration.

      gcloud beta compute reservations create reservation-example \
          --delete-after-duration=DELETE_AFTER_DURATION \
          ...
      

      Ganti DELETE_AFTER_DURATION dengan durasi dalam hari, jam, menit, atau detik. Misalnya, tentukan 30m selama 30 menit, atau 1d2h3m4s untuk 1 hari, 2 jam, 3 menit, dan 4 detik.

Terraform

Untuk membuat pemesanan satu project, gunakan resource Terraform google_compute_reservation.


resource "google_compute_reservation" "default" {
  name = "gce-reservation-local"
  zone = "us-central1-a"

  /**
   * To specify a single-project reservation, omit the share_settings block
   * (default) or set the share_type field to LOCAL.
   */
  share_settings {
    share_type = "LOCAL"
  }

  specific_reservation {
    count = 1
    instance_properties {
      machine_type = "n2-standard-2"
    }
  }

  /**
   * To let VMs with affinity for any reservation consume this reservation, omit
   * the specific_reservation_required field (default) or set it to false.
   */
  specific_reservation_required = false
}

Untuk informasi selengkapnya tentang cara menggunakan Terraform, baca artikel Menggunakan Terraform dengan Google Cloud.

REST

Untuk membuat reservasi satu project, buat permintaan POST ke metode reservations.insert.

Untuk membuat pemesanan satu project tanpa kolom opsional, buat permintaan POST berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

{
  "name": "RESERVATION_NAME",
  "specificReservation": {
    "count": "NUMBER_OF_VMS",
    "instanceProperties": {
      "machineType": "MACHINE_TYPE",
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat Anda ingin mencadangkan resource.

  • ZONE: zona tempat memesan resource.

  • RESERVATION_NAME: nama pemesanan yang akan dibuat.

  • NUMBER_OF_VMS: jumlah VM yang akan dipesan.

  • MACHINE_TYPE: jenis mesin yang digunakan untuk setiap VM. Tentukan salah satu nilai berikut:

    • Untuk jenis mesin yang telah ditetapkan: MACHINE_FAMILY-standard-CPUS.

    • Untuk jenis mesin kustom: MACHINE_FAMILY-custom-CPUS-MEMORY. Sebelum menentukan jenis mesin kustom, tinjau batasan untuk VM dengan jenis mesin kustom.

    Ganti kode berikut:

    • MACHINE_FAMILY: kelompok mesin.

    • CPUS: jumlah vCPU.

    • MEMORY: total memori untuk VM yang dipesan. Ukuran memori harus kelipatan 256 MB dan harus ditulis dalam satuan MB.

    Misalnya, untuk menentukan jenis mesin kustom N2 dengan 4 vCPU dan memori 5 GB, yaitu 5.120 MB, tentukan n2-custom-4-5120.

Misalnya, untuk membuat reservasi di zona us-central1-a untuk sepuluh VM yang masing-masing menggunakan jenis mesin yang telah ditetapkan N2 dengan 4 vCPU, buat permintaan POST berikut:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations

{
  "name": "my-reservation",
  "specificReservation": {
    "count": "10",
    "instanceProperties": {
      "machineType": "n2-standard-4",
    }
  }
}

Secara opsional, Anda dapat melakukan satu atau beberapa hal berikut:

  • Untuk menambahkan unit pemrosesan grafis (GPU) ke setiap VM yang dicadangkan, sertakan kolom guestAccelerators dalam isi permintaan.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservation": {
        "instanceProperties": {
          "guestAccelerators": [
            {
              "acceleratorCount": NUMBER_OF_ACCELERATORS,
              "acceleratorType": "ACCELERATOR_TYPE"
            }
          ],
          ...
        },
        ...
      }
    }
    

    Ganti kode berikut:

    • NUMBER_OF_ACCELERATORS: jumlah GPU yang akan ditambahkan per VM yang dipesan.

    • ACCELERATOR_TYPE: jenis GPU yang akan ditambahkan ke VM yang dipesan.

    Pastikan jenis mesin yang Anda tentukan dalam reservasi mendukung jenis GPU yang Anda tentukan dan GPU tersedia di zona tempat Anda ingin mencadangkan resource. Jika tidak, pembuatan reservasi akan gagal.

  • Untuk menambahkan satu atau beberapa SSD Lokal ke setiap VM yang dicadangkan, sertakan kolom localSsds dalam isi permintaan. Anda dapat menentukan hingga 24 SSD Lokal. Setiap SSD Lokal berukuran 375 GB.

    Misalnya, untuk menentukan dua SSD Lokal saat membuat reservasi, tentukan hal berikut:

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservation": {
        "instanceProperties": {
          "localSsds": [
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_1"
            },
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_2"
            }
          ],
          ...
        },
        ...
      }
    }
    

    Ganti INTERFACE_1 dan INTERFACE_2 dengan jenis antarmuka yang Anda inginkan untuk digunakan oleh setiap SSD Lokal. Tentukan salah satu nilai berikut:

    • Untuk antarmuka disk NVME: NVME.

    • Untuk antarmuka disk SCSI: SCSI.

    Pastikan jenis mesin yang ditentukan untuk VM yang dicadangkan mendukung antarmuka disk yang dipilih. Jika tidak, pembuatan reservasi akan gagal. Untuk mengetahui informasi selengkapnya, lihat cara memilih antarmuka disk.

  • Agar VM yang dicadangkan menggunakan platform CPU minimum tertentu, bukan platform CPU default zona, sertakan kolom minCpuPlatform dalam isi permintaan.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservation": {
        "instanceProperties": {
          "minCpuPlatform": "MIN_CPU_PLATFORM",
          ...
        },
        ...
      }
    }
    

    Ganti MIN_CPU_PLATFORM dengan platform CPU minimum. Untuk memastikan platform CPU tersedia di zona tempat Anda memesan resource, lihat platform CPU yang tersedia berdasarkan zona.

  • Untuk menentukan kebijakan penempatan yang ringkas, guna mengurangi latensi jaringan di antara VM yang dicadangkan, sertakan kolom resourcePolicies dalam isi permintaan.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "resourcePolicies": {
        "policy" : "projects/example-project/regions/REGION/resourcePolicies/COMPACT_PLACEMENT_POLICY_NAME"
      },
      "specificReservationRequired": true,
      ...
    }
    

    Ganti kode berikut:

    • REGION: wilayah tempat kebijakan penempatan yang ringkas berada. Anda harus memesan resource dalam region yang sama dengan kebijakan penempatan. Jika tidak, pembuatan pemesanan akan gagal.

    • COMPACT_PLACEMENT_POLICY_NAME: nama kebijakan penempatan ringkas yang sudah ada.

    Selain itu, untuk menghindari error saat membuat pemesanan project tunggal yang menentukan kebijakan penempatan ringkas, pastikan untuk menentukan hal berikut:

  • Untuk menentukan bahwa hanya VM yang secara khusus menargetkan reservasi ini yang dapat menggunakannya, sertakan kolom specificReservationRequired dalam isi permintaan dan tetapkan ke true.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservationRequired": true,
      ...
    }
    
  • Agar Compute Engine dapat menghapus reservasi secara otomatis, pilih salah satu metode berikut:

    • Untuk menghapus reservasi pada tanggal dan waktu tertentu, buat permintaan POST ke metode beta.reservations.insert. Dalam isi permintaan, sertakan kolom deleteAtTime.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAtTime": "DELETE_AT_TIME",
        ...
      }
      

      Ganti DELETE_AT_TIME dengan tanggal dan waktu yang diformat sebagai stempel waktu RFC 3339, yang harus seperti berikut:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Ganti kode berikut:

      • YYYY-MM-DD: tanggal dengan format 4 digit tahun, 2 digit bulan, dan 2 digit hari dalam sebulan, yang dipisahkan dengan tanda hubung (-).

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

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

    • Untuk menghapus reservasi setelah durasi tertentu, buat permintaan POST ke metode beta.reservations.insert. Dalam isi permintaan, sertakan kolom deleteAfterDuration.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAfterDuration": {
          "seconds": "DELETE_AFTER_DURATION"
        },
        ...
      }
      

      Mengganti DELETE_AFTER_DURATION dengan durasi dalam detik. Misalnya, tentukan 86400 selama 86.400 detik (1 hari).

Pemecahan masalah

Pelajari cara memecahkan masalah pembuatan reservasi.

Langkah selanjutnya