Mengganti, meniadakan, atau menghapus kebijakan penempatan

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

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

  • Mengganti kebijakan penempatan di instance virtual machine (VM) untuk memindahkan VM ke posisi yang berbeda relatif terhadap VM lain.

  • Meniadakan kebijakan penempatan di VM jika Anda tidak lagi tertarik dengan posisinya relatif terhadap VM lain.

  • Menghapus kebijakan penempatan jika Anda tidak lagi memerlukannya.

Sebelum memulai

  • Tinjau batasan untuk kebijakan penempatan.
  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses Cloud de Confiance by S3NS layanan 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:

    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

Agar mendapatkan izin yang diperlukan untuk mengganti, meniadakan, atau menghapus kebijakan penempatan, minta administrator untuk memberi Anda peran IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) pada project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran yang telah ditentukan ini berisi izin yang diperlukan untuk mengganti, meniadakan, atau menghapus kebijakan penempatan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

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

  • Untuk mengganti atau meniadakan kebijakan penempatan di VM: compute.instances.update pada project
  • Untuk menghapus kebijakan penempatan: compute.resourcePolicies.delete pada project

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

Mengganti kebijakan penempatan di VM

Sebelum mengganti kebijakan penempatan spread di VM dengan kebijakan penempatan compact 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 gcloud compute instances export perintah.

    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 memulainya ulang, gunakan perintah gcloud compute instances update-from-file dengan flag --most-disruptive-allowed-action yang 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 memulainya ulang, buat permintaan PUT ke instances.update metode. 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 update 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 mengupdate properti VM, lihat Mengupdate properti VM.

Meniadakan kebijakan penempatan di VM

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

Meniadakan kebijakan penempatan di VM tidak memengaruhi lokasi fisiknya. Namun, jika VM melakukan migrasi langsung, Compute Engine mungkin akan memindahkan VM ke lokasi fisik yang berbeda.

Untuk meniadakan 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: Hapus kebijakan penempatan dari 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?