Mengelola tag untuk resource


Panduan ini menjelaskan cara membuat dan mengelola tag untuk resource Compute Engine. Tag adalah pasangan nilai kunci yang dapat dilampirkan ke Google Cloud resource. Tag digunakan untuk beberapa tujuan, termasuk:

  • Kebijakan izinkan atau tolak bersyarat berdasarkan apakah resource memiliki tag tertentu.
  • Tentukan sumber dan target dalam kebijakan firewall jaringan global dan kebijakan firewall jaringan regional.
  • Mengatur resource dengan cara yang logis.

Setelah membuat tag dan memberikan akses yang sesuai ke tag dan resource, Anda dapat melampirkan tag tersebut sebagai pasangan nilai kunci. Anda dapat menyertakan dengan tepat satu nilai ke resource untuk kunci tertentu. Misalnya, jika melampirkan tag environment: development, Anda tidak dapat melampirkan tag environment: production atau environment: test. Setiap resource dapat melampirkan maksimum 50 pasangan nilai kunci.

Untuk melampirkan tag ke resource, Anda harus membuat resource TagBinding yang menautkan nilai tag ke resource Google Cloud . Untuk mengetahui informasi selengkapnya tentang tag dan cara kerjanya, tinjau dokumen Ringkasan tag.

Sebelum memulai

  • Baca Ringkasan tag di dokumentasi Resource Manager.
  • Baca artikel Membuat dan mengelola tag di dokumentasi Resource Manager.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses yang digunakan untuk memverifikasi identitas Anda untuk mengakses Google Cloud layanan dan API. Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

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

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

      1. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      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.

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Izin

Agar dapat mengelola tag untuk resource Compute Engine, pengguna dan akun layanan harus diberi peran tagUser. Untuk mengetahui informasi selengkapnya tentang peran tagUser, lihat Izin yang diperlukan.

Resource yang didukung

Compute Engine mendukung pemberian tag untuk resource berikut:

  • Hanya setelah pembuatan resource:

    • Grup instance terkelola (MIG)
    • Gambar
    • Snapshot
    • Sebagian besar resource jaringan seperti resource jaringan, subnetwork, firewall, dan pemeriksaan kondisi.
  • Selama dan setelah pembuatan resource: Instance dan disk virtual machine (VM)

Menambahkan tag ke resource

Anda dapat melampirkan tag yang ada ke resource tertentu. Setelah resource dibuat, lampirkan tag ke resource tersebut menggunakan petunjuk berikut.

Konsol

Bergantung pada jenis resource, langkah-langkah persisnya mungkin berbeda. Misalnya, langkah-langkah berikut akan melampirkan tag ke VM:

  1. Di konsol Google Cloud , buka halaman VM instances.

    Buka instance VM

  2. Pilih project Anda, lalu klik Lanjutkan.

  3. Di kolom Nama, klik nama VM yang ingin Anda tambahi tag.

  4. Dari halaman detail Instance VM, selesaikan langkah-langkah berikut:

    1. Klik Edit.
    2. Di bagian Informasi dasar, klik Kelola Tag, lalu tambahkan tag yang Anda inginkan untuk instance.
    3. Klik Simpan.

gcloud

Untuk mengetahui informasi tentang cara menggunakan flag ini, baca Melampirkan tag ke resource dalam dokumentasi Resource Manager.

Misalnya, perintah berikut akan melampirkan tag ke VM:

gcloud resource-manager tags bindings create \
    --location LOCATION_NAME \
    --tag-value=tagValues/TAGVALUE_ID \
    --parent=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Ganti kode berikut:

  • LOCATION_NAME: region yang berisi target resource; dalam contoh ini, region instance VM
  • TAGVALUE_ID: ID numerik nilai tag
  • PROJECT_NUMBER: ID numerik project Anda yang berisi resource target
  • ZONE: zona yang berisi resource target; dalam contoh ini, zona instance VM
  • VM_ID: ID instance VM

REST

Untuk melampirkan tag ke resource, Anda harus terlebih dahulu membuat representasi JSON binding tag yang menyertakan ID permanen atau nama dengan namespace dari nilai tag dan ID permanen resource tersebut. Untuk mengetahui informasi selengkapnya tentang format binding tag, lihat referensi tagBindings.

Untuk melampirkan tag ke resource zona, seperti instance VM, gunakan metode tagBindings.create dengan endpoint regional tempat resource Anda berada. Contoh:

POST https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/tagBindings

Isi permintaan dapat berupa salah satu dari dua opsi berikut:

{
  "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID",
  "tagValue": "tagValue/TAGVALUE_ID"
}
{
  "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID",
  "tagValueNamespacedName": TAGVALUE_NAMESPACED_NAME
}

Ganti kode berikut:

  • LOCATION_NAME: region yang berisi resource target; dalam contoh ini, region instance VM
  • PROJECT_NUMBER: ID numerik project Anda yang berisi resource target
  • ZONE: zona yang berisi resource target; dalam contoh ini, zona instance VM
  • VM_ID: ID instance VM
  • TAGVALUE_ID: ID permanen nilai tag yang dilampirkan—misalnya: 4567890123
  • TAGVALUE_NAMESPACED_NAME: nama namespace nilai tag yang dilampirkan dan memiliki format: parentNamespace/tagKeyShortName/tagValueShortName

Menambahkan tag ke resource selama pembuatan resource

Dalam skenario tertentu, Anda dapat memberi tag pada resource selama pembuatan resource, bukan setelah resource dibuat.

Konsol

Bergantung pada jenis resource, langkah-langkah persisnya mungkin berbeda. Langkah-langkah berikut ditujukan untuk VM:

  1. Di konsol Google Cloud , buka halaman VM instances.

    Buka instance VM

  2. Pilih project Anda, lalu klik Continue.

  3. Klik Create instance. Halaman Create an instance akan muncul dan menampilkan panel Machine configuration.

  4. Di menu navigasi, klik Lanjutan. Di panel Advanced yang muncul, lakukan hal berikut:

    1. Luaskan bagian Kelola Tag dan Label.
    2. Klik Tambahkan Tag.
    3. Di panel Tags yang terbuka, ikuti petunjuk untuk menambahkan tag ke instance.
    4. Klik Simpan.
  5. Tentukan opsi konfigurasi lainnya untuk instance Anda. Untuk mengetahui informasi selengkapnya, lihat Opsi konfigurasi selama pembuatan instance.

  6. Untuk membuat dan memulai VM, klik Create.

gcloud

Untuk melampirkan tag ke resource selama pembuatan resource, tambahkan flag --resource-manager-tags dengan perintah create masing-masing. Misalnya, untuk melampirkan tag ke VM, gunakan perintah berikut:

  gcloud compute instances create INSTANCE_NAME \
      --zone=ZONE \
      --resource-manager-tags=tagKeys/TAGKEY_ID=tagValues/TAGVALUE_ID

Ganti kode berikut:

  • INSTANCE_NAME: nama instance VM Anda
  • ZONE: zona yang berisi instance VM
  • TAGKEY_ID: ID numerik nomor kunci tag
  • TAGVALUE_ID: ID numerik permanen nilai tag yang dilampirkan—misalnya: 4567890123

Tentukan beberapa tag dengan memisahkan tag menggunakan koma, misalnya, TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2.

REST

Buat permintaan POST ke URL berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances

Sertakan isi JSON permintaan berikut:

{
  "name": INSTANCE_NAME,
  "params": {
    "resourceManagerTags": {
      "tagKeys/TAGKEY_ID": "tagValues/TAGVALUE_ID",
    },
  }
  // other fields omitted
}

Ganti kode berikut:

  • INSTANCE_NAME: nama instance VM Anda
  • TAGKEY_ID: ID numerik nomor kunci tag
  • TAGVALUE_ID: ID numerik permanen nilai tag yang dilampirkan—misalnya: 4567890123

Melepaskan tag dari resource

Anda dapat melepaskan tag dari resource dengan menghapus resource binding tag.

Untuk meninjau petunjuk cara melepaskan tag, lihat Melepaskan tag dari resource dalam dokumentasi Resource Manager.

Konsol

Tergantung jenis resource, langkah-langkahnya mungkin sedikit berbeda. Misalnya, langkah-langkah berikut melepaskan tag dari VM:

  1. Di konsol Google Cloud , buka halaman VM instances.

    Buka instance VM

  2. Pilih project Anda, lalu klik Lanjutkan.

  3. Di kolom Nama, klik nama VM yang ingin Anda tambahi tag.

  4. Dari halaman detail Instance VM, selesaikan langkah-langkah berikut:

    1. Klik Edit.
    2. Di bagian Dasar, klik Kelola Tag, lalu hapus tag yang Anda inginkan untuk instance.
    3. Klik Simpan.

gcloud

Contoh berikut melepaskan tag dari VM menggunakan gcloud CLI:

gcloud resource-manager tags bindings delete \
    --location LOCATION_NAME \
    --tag-value=tagValues/TAGVALUE_ID \
    --parent //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Ganti kode berikut:

  • LOCATION_NAME: zona resource target, seperti us-central1-a
  • TAGVALUE_ID: ID numerik Kunci tag
  • PROJECT_NUMBER: ID numerik project Anda yang berisi resource target
  • ZONE: nama zona seperti us-central1-a
  • VM_ID: ID numerik instance VM

Untuk mengupdate atau mengganti binding tag yang ada ke yang lain, lepaskan binding tag lama dan lampirkan yang baru.

REST

Untuk menghapus binding tag yang terpasang ke resource, seperti VM, gunakan metode tagBindings.delete dengan endpoint regional tempat resource Anda berada.

DELETE https://LOCATION-cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME}

Ganti kode berikut:

  • LOCATION: endpoint regional untuk resource Anda—misalnya, us-central1
  • TAGBINDINGS_NAME: ID permanen TagBinding; misalnya: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F1234567890/tagValues/567890123456

Melihat tag yang dilampirkan ke resource

Untuk meninjau petunjuk mendetail mengenai cara mencantumkan tag, lihat Mencantumkan semua tag yang dilampirkan ke resource dalam dokumentasi Resource Manager.

Konsol

Tergantung jenis resource, langkah-langkahnya mungkin sedikit berbeda. Misalnya, langkah-langkah berikut menunjukkan cara melihat tag untuk VM:

  1. Di konsol Google Cloud , buka halaman VM instances.

    Buka instance VM

  2. Pilih project Anda, lalu klik Lanjutkan.

  3. Di kolom Nama, klik nama VM yang ingin Anda lihat tagnya.

  4. Dari halaman detail instance VM, cari tag di bagian Tag.

gcloud

Untuk mendapatkan daftar binding tag yang langsung dilampirkan ke resource, gunakan perintah gcloud resource-manager tags bindings list. Jika menambahkan flag --effective, Anda juga akan menampilkan daftar tag yang diwarisi oleh resource ini. Contoh:

gcloud resource-manager tags bindings list \
    --location=LOCATION_NAME \
    --parent //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Ganti kode berikut:

  • LOCATION_NAME: zona resource target, seperti us-central1-a
  • PROJECT_NUMBER: ID numerik project Anda yang berisi resource target
  • ZONE: nama zona seperti us-central1-a
  • VM_ID: ID numerik instance VM

Jika menambahkan flag --effective ke perintah tags bindings list, Anda juga akan menampilkan daftar semua tag yang diwarisi oleh resource ini.

Outputnya mirip dengan hal berikut ini:

namespacedTagKey: 961309089256/environment
namespacedTagValue: 961309089256/environment/production
tagKey: tagKeys/417628178507
tagValue: tagValues/247197504380
inherited: true

Jika semua tag yang dievaluasi pada resource dilampirkan langsung, kolom inherited akan bernilai salah dan akan dihilangkan.

REST

Untuk menampilkan daftar binding tag yang dilampirkan ke resource regional, seperti instance Compute Engine, gunakan metode tagBindings.list dengan endpoint regional tempat resource Anda berada. Contoh:

GET https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/tagBindings

{
    "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID"
}

Ganti kode berikut:

  • LOCATION_NAME: region menjadi resource target, misalnya us-central1
  • PROJECT_NUMBER: ID numerik project Anda yang berisi resource target
  • ZONE: nama zona seperti us-central1-a
  • VM_ID: ID numerik instance VM

Langkah berikutnya