Mengaktifkan penonaktifan halus di instance Compute Engine

Dokumen ini menjelaskan cara mengaktifkan penghentian normal di instance Compute Engine baru atau yang sudah ada.

Saat mengaktifkan penghentian normal di instance komputasi, Anda dapat memberi OS tamu waktu hingga enam jam untuk dihentikan dengan sempurna saat Anda menghentikan atau menghapus instance komputasi. Tindakan ini membantu mencegah kehilangan data atau sistem file yang rusak saat aplikasi Anda memerlukan lebih banyak waktu untuk menyelesaikan tugas yang sedang berjalan. Untuk mempelajari lebih lanjut persyaratan dan batasan yang Anda terapkan saat menghentikan instance komputasi secara normal, lihat Tentang penghentian normal.

Sebelum memulai

  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses layanan Cloud de Confiance by S3NS dan API. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

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

    Konsol

    Saat menggunakan konsol Cloud de Confiance untuk mengakses layanan dan API Cloud de Confiance by S3NS , Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init
  • Tetapkan region dan zona default.
  • 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 login ke gcloud CLI dengan identitas gabungan Anda.

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Cloud de Confiance .

Peran yang diperlukan

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

Peran bawaan ini berisi izin yang diperlukan untuk mengaktifkan penghentian normal di instance komputasi. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengaktifkan penghentian normal di instance komputasi:

  • Untuk membuat instance komputasi:
    • compute.instances.create pada project
    • Untuk menggunakan image kustom guna membuat VM: compute.images.useReadOnly pada image
    • Untuk menggunakan snapshot guna membuat VM: compute.snapshots.useReadOnly pada snapshot
    • Untuk menggunakan template instance guna membuat VM: compute.instanceTemplates.useReadOnly pada template instance
    • Untuk menetapkan jaringan lama ke VM: compute.networks.use pada project
    • Untuk menentukan alamat IP statis bagi VM: compute.addresses.use di project
    • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama: compute.networks.useExternalIp pada project
    • Untuk menentukan subnet bagi VM: compute.subnetworks.use di project atau di subnet yang dipilih
    • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan VPC: compute.subnetworks.useExternalIp pada project atau pada subnet yang dipilih
    • Untuk menetapkan metadata instance VM untuk VM: compute.instances.setMetadata di project
    • Untuk menetapkan tag bagi VM: compute.instances.setTags di VM
    • Untuk menetapkan label bagi VM: compute.instances.setLabels di VM
    • Untuk menetapkan akun layanan yang akan digunakan VM: compute.instances.setServiceAccount di VM
    • Untuk membuat disk baru untuk VM: compute.disks.create di project
    • Untuk memasang disk yang ada dalam mode hanya baca atau baca-tulis: compute.disks.use pada disk
    • Untuk memasang disk yang ada dalam mode hanya baca: compute.disks.useReadOnly pada disk
  • Untuk membuat template instance: compute.instanceTemplates.create pada project
  • Untuk mengaktifkan penghentian normal di instance komputasi yang ada: compute.instances.update di instance komputasi

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

Mengaktifkan penghentian normal

Untuk mengaktifkan penghentian normal di instance komputasi, gunakan salah satu metode berikut:

Mengaktifkan penghentian normal di instance komputasi yang ada

Jika Anda mengaktifkan penghentian normal di instance komputasi yang ada, Anda harus memulai ulang instance komputasi seperti yang dijelaskan di bagian ini.

Untuk mengaktifkan penghentian normal di instance komputasi yang ada, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Cloud de Confiance , buka halaman VM instances.

    Buka instance VM

  2. Di kolom Name, klik nama instance komputasi yang ingin Anda aktifkan penghentian normalnya. Halaman detail instance komputasi akan terbuka.

  3. Klik Edit.

  4. Di bagian Management, lakukan hal berikut:

    1. Centang kotak Gracefully shut down the VM.

    2. Di kolom Maximum duration yang muncul, masukkan jumlah menit atau detik yang Anda inginkan untuk durasi penghentian normal. Nilai harus antara satu detik dan 360 menit (enam jam).

  5. Klik Simpan.

gcloud

Untuk mengaktifkan penghentian normal di instance komputasi yang ada, gunakan perintah gcloud compute instances update dengan flag --graceful-shutdown dan --graceful-shutdown-max-duration:

gcloud compute instances update INSTANCE_NAME \
    --graceful-shutdown \
    --graceful-shutdown-max-duration=MAX_DURATION \
    --zone=ZONE

Ganti kode berikut:

  • INSTANCE_NAME: nama instance komputasi.

  • MAX_DURATION: durasi maksimum penghentian normal. Nilai harus diformat sebagai jumlah jam, menit, atau detik yang diikuti dengan h, m, dan s. Misalnya, tentukan 1h untuk satu jam, atau 20m10s untuk 20 menit dan 10 detik. Nilai harus antara satu detik dan enam jam.

  • ZONE: zona tempat instance komputasi berada.

REST

  1. Buat file JSON kosong.

  2. Untuk melihat properti instance komputasi yang ada, buat permintaan GET ke metode instances.get:

    GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
    

    Ganti kode berikut:

    • PROJECT_ID: ID project tempat instance komputasi berada.

    • ZONE: zona tempat instance komputasi berada.

    • INSTANCE_NAME: nama instance komputasi yang ada.

  3. Dalam file JSON kosong yang Anda buat di langkah sebelumnya, lakukan hal berikut:

    1. Masukkan detail konfigurasi instance komputasi dari output permintaan GET.

    2. Di kolom scheduling, tambahkan kolom gracefulShutdown sebagai berikut:

      {
        ...
        "scheduling": {
          ...
          "gracefulShutdown": {
            "enabled": true,
            "maxDuration": {
              "seconds": "MAX_DURATION"
            }
          }
        },
        ...
      }
      

      Ganti MAX_DURATION dengan durasi maksimum penghentian normal, dalam detik. Nilai harus antara 1 (satu detik) dan 21600 (21.600 detik, atau enam jam).

  4. Untuk mengupdate instance komputasi dan memulai ulangnya, buat permintaan PUT ke metode instances.update. Dalam permintaan, lakukan hal berikut:

    • Dalam URL permintaan, sertakan parameter kueri mostDisruptiveAllowedAction yang ditetapkan ke RESTART.

    • Dalam isi permintaan, sertakan properti instance komputasi dari file JSON yang Anda buat dan update di langkah sebelumnya.

    Permintaan PUT untuk mengupdate instance komputasi mirip dengan berikut:

    PUT https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART
    
    {
      ...
      "scheduling": {
        ...
        "gracefulShutdown": {
          "enabled": true
        }
      },
      ...
    }
    

Untuk mengetahui informasi selengkapnya tentang cara memperbarui properti instance komputasi, lihat Memperbarui properti instance.

Mengaktifkan penghentian normal saat membuat instance komputasi

Untuk membuat instance komputasi yang mengaktifkan penghentian normal, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Cloud de Confiance , buka halaman VM instances.

    Buka instance VM

  2. Klik Create instance. Halaman Create an instance akan terbuka.

  3. Di kolom Name, masukkan nama untuk instance komputasi.

  4. Dalam daftar Region dan Zone, masukkan region dan zona tempat instance komputasi Anda akan dibuat.

  5. Tentukan jenis mesin untuk instance komputasi Anda.

  6. Luaskan bagian VM provisioning model advanced settings, lalu lakukan hal berikut:

    1. Centang kotak Gracefully shut down the VM.

    2. Di kolom Maximum duration yang muncul, masukkan jumlah menit atau detik yang Anda inginkan untuk durasi penghentian normal. Nilai harus antara satu detik dan 360 menit (enam jam).

  7. Klik Create.

gcloud

Untuk membuat instance komputasi yang mengaktifkan penghentian normal, gunakan perintah gcloud compute instances create dengan flag --graceful-shutdown:

gcloud compute instances create INSTANCE_NAME \
    --graceful-shutdown \
    --graceful-shutdown-max-duration=MAX_DURATION \
    --machine-type=MACHINE_TYPE \
    --zone=ZONE

Ganti kode berikut:

  • INSTANCE_NAME: nama instance komputasi.

  • MAX_DURATION: durasi maksimum penghentian normal. Nilai harus diformat sebagai jumlah jam, menit, atau detik yang diikuti dengan h, m, dan s. Misalnya, tentukan 1h untuk satu jam, atau 20m10s untuk 20 menit dan 10 detik. Nilai harus antara satu detik dan enam jam.

  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk instance komputasi.

  • ZONE: zona tempat untuk membuat instance komputasi.

REST

Untuk membuat instance komputasi yang mengaktifkan penghentian normal, buat permintaan POST ke metode instances.insert. Dalam isi permintaan, sertakan kolom gracefulShutdown:

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": "INSTANCE_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "scheduling": {
    "gracefulShutdown": {
      "enabled": true,
      "maxDuration": {
        "seconds": "MAX_DURATION"
      }
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat instance komputasi dibuat.

  • ZONE: zona tempat untuk membuat instance komputasi.

  • INSTANCE_NAME: nama instance komputasi.

  • MACHINE_TYPE: jenis mesin untuk instance komputasi.

  • IMAGE_PROJECT: project image yang berisi image—misalnya, debian-cloud. Untuk mengetahui informasi selengkapnya tentang project image yang didukung, lihat Image publik.

  • IMAGE: menentukan salah satu dari hal berikut:

    • Versi tertentu dari OS image—misalnya, debian-12-bookworm-v20240617.

    • Kelompok image, yang harus diformat sebagai family/IMAGE_FAMILY. Pemformatan ini menentukan OS image terbaru yang masih digunakan. Misalnya, jika Anda menentukan family/debian-12, versi terbaru dalam kelompok image Debian 12 akan digunakan. Untuk mengetahui informasi selengkapnya tentang cara menggunakan kelompok image, lihat Praktik terbaik kelompok image.

  • MAX_DURATION: durasi maksimum penghentian normal, dalam detik. Nilai harus antara 1 (satu detik) dan 21600 (21.600 detik, atau enam jam).

Untuk mengetahui informasi selengkapnya tentang cara membuat instance komputasi, lihat Membuat dan memulai instance Compute Engine.

Mengaktifkan penghentian normal saat membuat template instance

Saat Anda membuat template instance dengan penghentian normal yang diaktifkan, periode default untuk penghentian normal adalah 10 menit. Secara opsional, Anda dapat menentukan periode kustom antara satu detik dan enam jam. Semua instance komputasi yang Anda buat menggunakan template instance akan mengaktifkan penghentian normal.

Untuk membuat template instance yang mengaktifkan penghentian normal, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Cloud de Confiance , buka halaman template instance.

    Buka Template instance

  2. Klik Buat template instance . Halaman Create an instance template akan muncul.

  3. Di kolom Name, masukkan nama untuk template instance.

  4. Di bagian Location, pilih apakah Anda ingin membuat template instance regional atau global berdasarkan kasus penggunaan Anda:

    • Untuk mengurangi dependensi lintas region, buat template instance regional dengan menyelesaikan langkah-langkah berikut:

      1. Pilih Regional.

      2. Di kolom Region, pilih region tempat Anda ingin membuat template instance.

    • Untuk menggunakan template instance di seluruh region, pilih Global.

  5. Di bagian Machine configuration, tentukan jenis mesin.

  6. Luaskan bagian VM provisioning model advanced settings, lalu lakukan hal berikut:

    1. Centang kotak Gracefully shut down the VM.

    2. Di kolom Maximum duration yang muncul, masukkan jumlah menit atau detik yang Anda inginkan untuk durasi penghentian normal. Nilai harus antara satu detik dan 360 menit (enam jam).

  7. Klik Create.

gcloud

Untuk membuat template instance yang mengaktifkan penghentian normal, gunakan perintah gcloud compute instance-templates create dengan flag --graceful-shutdown.

Misalnya, untuk membuat template instance regional yang mengaktifkan penghentian normal, jalankan perintah berikut. Jika Anda ingin membuat template instance global, gunakan perintah yang sama tanpa flag --instance-template-region.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --graceful-shutdown \
    --graceful-shutdown-max-duration=MAX_DURATION
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance komputasi.

  • MAX_DURATION: durasi maksimum penghentian normal. Nilai harus diformat sebagai jumlah jam, menit, atau detik yang diikuti dengan h, m, dan s. Misalnya, tentukan 1h untuk satu jam, atau 20m10s untuk 20 menit dan 10 detik. Nilai harus antara satu detik dan enam jam.

  • REGION: region tempat membuat template instance komputasi.

  • MACHINE_TYPE: jenis mesin untuk instance komputasi yang Anda buat menggunakan template instance.

REST

Untuk membuat template instance yang mengaktifkan penghentian normal, buat permintaan POST ke salah satu metode berikut:

Misalnya, untuk membuat template instance regional yang mengaktifkan penghentian normal, buat permintaan POST sebagai berikut:

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "scheduling": {
      "gracefulShutdown": {
        "enabled": true,
        "maxDuration": {
          "seconds": "MAX_DURATION"
        }
      }
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat membuat template instance.

  • REGION: region tempat membuat template instance komputasi.

  • INSTANCE_TEMPLATE_NAME: nama template instance komputasi.

  • IMAGE_PROJECT: project image yang berisi image—misalnya, debian-cloud. Untuk mengetahui informasi selengkapnya tentang project image yang didukung, lihat Image publik.

  • IMAGE: menentukan salah satu dari hal berikut:

    • Versi tertentu dari OS image—misalnya, debian-12-bookworm-v20240617.

    • Kelompok image, yang harus diformat sebagai family/IMAGE_FAMILY. Pemformatan ini menentukan OS image terbaru yang masih digunakan. Misalnya, jika Anda menentukan family/debian-12, versi terbaru dalam kelompok image Debian 12 akan digunakan. Untuk mengetahui informasi selengkapnya tentang cara menggunakan kelompok image, lihat Praktik terbaik kelompok image.

  • MACHINE_TYPE: jenis mesin untuk instance komputasi yang Anda buat menggunakan template instance.

  • MAX_DURATION: durasi maksimum penghentian normal, dalam detik. Nilai harus antara 1 (satu detik) dan 21600 (21.600 detik, atau enam jam).

Untuk opsi konfigurasi lainnya saat membuat template instance, lihat Membuat template instance.

Langkah berikutnya