Mengganti, meniadakan, atau menghapus kebijakan penempatan


Dokumen ini menjelaskan cara mengganti, meniadakan, atau menghapus kebijakan penempatan.

Mengganti, menghapus, atau menghapus kebijakan penempatan berguna dalam kasus berikut:

  • Ganti kebijakan penempatan di instance virtual machine (VM) untuk memindahkan VM ke posisi yang berbeda dibandingkan dengan VM lain.

  • Hapus kebijakan penempatan dari VM jika Anda tidak lagi tertarik dengan posisinya secara relatif terhadap VM lain.

  • Menghapus kebijakan penempatan saat tidak diperlukan lagi.

Sebelum memulai

  • Tinjau batasan untuk kebijakan penempatan.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengganti, menghapus, atau menghapus kebijakan penempatan, 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 mengganti, menghapus, atau menghapus kebijakan penempatan. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengganti, meniadakan, atau menghapus kebijakan penempatan:

  • Untuk mengganti atau menghapus kebijakan penempatan dari VM: compute.instances.update on the project
  • Untuk menghapus kebijakan penempatan: compute.resourcePolicies.delete on the project

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

Mengganti kebijakan penempatan di VM

Sebelum Anda mengganti kebijakan penempatan spread di VM dengan kebijakan penempatan rapat, pastikan VM menggunakan jenis mesin dan kebijakan pemeliharaan host yang didukung. Jika Anda perlu mengupdate VM sebelum mengganti kebijakan penempatannya, lakukan salah satu atau kedua hal berikut:

Setelah mengganti kebijakan penempatan di VM, Anda harus memulai ulang VM agar kebijakan penempatan yang baru diterapkan berlaku.

Untuk mengganti kebijakan penempatan di VM, pilih salah satu opsi berikut:

gcloud

  1. Buat file YAML kosong.

  2. Untuk mengekspor properti VM ke file YAML yang baru saja Anda buat, gunakan perintah gcloud compute instances export.

    gcloud compute instances export VM_NAME \
        --destination=FILE_PATH \
        --zone=ZONE
    

    Ganti kode berikut:

    • VM_NAME: nama VM yang ada, yang menentukan kebijakan penempatan.

    • FILE_PATH: jalur ke file YAML yang Anda buat di langkah sebelumnya.

    • ZONE: zona tempat VM berada.

  3. Dalam file konfigurasi YAML, edit nilai kolom resourcePolicies untuk menentukan kebijakan penempatan yang berbeda.

    resourcePolicies:
    - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME
    

    Ganti kode berikut:

    • PROJECT_ID: ID project tempat kebijakan penempatan berada. Anda hanya dapat menentukan kebijakan penempatan yang berada di project yang sama dengan VM.

    • REGION: region tempat kebijakan penempatan berada.

    • POLICY_NAME: nama kebijakan penempatan.

  4. Untuk mengupdate VM dan memulai ulang, gunakan perintah gcloud compute instances update-from-file dengan flag --most-disruptive-allowed-action ditetapkan ke RESTART.

    gcloud compute instances update-from-file VM_NAME \
        --most-disruptive-allowed-action=RESTART \
        --source=YAML_FILE \
        --zone=ZONE
    

    Ganti kode berikut:

    • VM_NAME: nama VM.

    • YAML_FILE: jalur ke file YAML dengan data konfigurasi yang Anda ubah di langkah sebelumnya.

    • ZONE: zona tempat VM berada.

REST

  1. Buat file JSON kosong.

  2. Untuk melihat properti VM yang ada, buat permintaan GET ke metode instances.get.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
    

    Ganti kode berikut:

    • PROJECT_ID: ID project tempat VM berada.

    • ZONE: zona tempat VM berada.

    • VM_NAME: nama VM yang ada, yang menentukan kebijakan penempatan.

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

    1. Masukkan properti VM dari output permintaan GET.

    2. Temukan kolom resourcePolicies, lalu edit nilainya untuk menentukan kebijakan penempatan yang berbeda.

      "resourcePolicies": [
        "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ]
      

      Ganti kode berikut:

      • PROJECT_ID: ID project tempat kebijakan penempatan berada. Anda hanya dapat menentukan kebijakan penempatan yang berada di project yang sama dengan VM.

      • REGION: region tempat kebijakan penempatan berada.

      • POLICY_NAME: nama kebijakan penempatan.

  4. Untuk mengupdate VM dan memulai ulang, buat permintaan PUT ke metode instances.update. Dalam permintaan, lakukan hal berikut:

    • Di URL permintaan, sertakan parameter kueri most_disruptive_allowed_action yang ditetapkan ke RESTART.

    • Untuk isi permintaan, gunakan detail konfigurasi VM dari file JSON yang Anda buat dan perbarui di langkah sebelumnya.

    PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART
    
    {
      ...
      "resourcePolicies": [
        "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ],
      ...
    }
    

Untuk mengetahui informasi selengkapnya tentang cara memperbarui properti VM, lihat artikel Memperbarui properti VM.

Meniadakan kebijakan penempatan di VM

Jika ingin menghapus kebijakan penempatan spread dengan dua atau beberapa domain ketersediaan dari VM, Anda dapat melakukannya tanpa menghentikan VM. Jika ingin menghapus kebijakan penempatan yang ringkas atau kebijakan penempatan spread dengan hanya satu ketersediaan domain, Anda harus menghentikan VM terlebih dahulu sebelum menghapus kebijakan penempatan yang terpasang.

Menghapus kebijakan penempatan dari VM tidak memengaruhi lokasi fisiknya. Namun, jika VM melakukan migrasi langsung, Compute Engine dapat memindahkan VM ke lokasi fisik yang berbeda.

Untuk menghapus kebijakan penempatan di VM, pilih salah satu opsi berikut:

gcloud

Untuk meniadakan kebijakan penempatan di VM, gunakan perintah gcloud compute instances remove-resource-policies.

gcloud compute instances remove-resource-policies VM_NAME \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

Ganti kode berikut:

  • VM_NAME: nama VM yang ada, yang menentukan kebijakan penempatan.

  • POLICY_NAME: nama kebijakan penempatan yang diterapkan ke VM. Untuk memverifikasi nama kebijakan penempatan, lihat detail VM dan periksa nilai kolom resourcePolicies.

  • ZONE: zona tempat VM berada.

REST

Untuk meniadakan kebijakan penempatan di VM, buat permintaan POST ke metode instances.removeResourcePolicies.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/removeResourcePolicies

{
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ]
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat VM berada.

  • ZONE: zona tempat VM berada.

  • VM_NAME: nama VM yang ada, yang menentukan kebijakan penempatan.

  • REGION: region tempat kebijakan penempatan berada.

  • POLICY_NAME: nama kebijakan penempatan yang diterapkan ke VM. Untuk memverifikasi nama kebijakan penempatan, lihat detail VM dan periksa nilai kolom resourcePolicies.

Menghapus kebijakan penempatan

Anda hanya dapat menghapus kebijakan penempatan jika tidak sedang diterapkan ke resource Compute Engine apa pun. Jika tidak, penghapusan kebijakan penempatan akan gagal. Jika Anda ingin menghapus kebijakan penempatan yang diterapkan ke satu atau beberapa resource Compute Engine, lakukan salah satu hal berikut:

  • Jika kebijakan ini hanya diterapkan ke VM dan Anda ingin mempertahankan VM, lakukan hal berikut:

    1. Hapus kebijakan penempatan dari VM seperti yang dijelaskan dalam dokumen ini.

    2. Hapus kebijakan penempatan seperti yang dijelaskan di bagian ini.

  • Jika tidak, lakukan yang berikut ini:

    1. Opsional: Tiadakan kebijakan penempatan di VM yang ingin Anda pertahankan seperti yang dijelaskan dalam dokumen ini.

    2. Hapus setiap resource Compute Engine lain tempat kebijakan penempatan diterapkan dengan urutan berikut:

      1. VM

      2. Pemesanan

      3. Template instance

    3. Hapus kebijakan penempatan seperti yang dijelaskan di bagian ini.

Untuk menghapus kebijakan penempatan, pilih salah satu opsi berikut:

gcloud

Untuk menghapus kebijakan penempatan, gunakan perintah gcloud compute resource-policies delete.

gcloud compute resource-policies delete POLICY_NAME \
    --region=REGION

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan penempatan yang ada.

  • REGION: region tempat kebijakan penempatan berada.

REST

Untuk menghapus kebijakan penempatan, buat permintaan DELETE ke metode resourcePolicies.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME

Ganti kode berikut:

  • PROJECT_ID: ID project tempat kebijakan penempatan berada.

  • REGION: region tempat kebijakan penempatan berada.

  • POLICY_NAME: nama kebijakan penempatan yang ada.

Apa langkah selanjutnya?