Panduan ini menjelaskan cara membuat dan mengelola tag untuk resource Compute Engine. Tag adalah pasangan nilai kunci yang dapat dilampirkan ke resource Google Cloud . 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 binding tag 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.
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan
kode atau sampel 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 Google Cloud untuk mengakses layanan Google Cloud dan API, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
- 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.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat dan mengelola tag untuk resource Compute Engine, minta administrator untuk memberi Anda peran IAM berikut pada organisasi atau project Anda:
-
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) -
Untuk membuat dan mengelola tag:
Peran Administrator Tag (
roles/resourcemanager.tagAdmin) -
Untuk mengelola tag yang ada:
Peran Pengguna tag (
roles/resourcemanager.tagUser)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat dan mengelola tag untuk resource Compute Engine. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat dan mengelola tag untuk resource Compute Engine:
-
Lihat tag:
-
resourcemanager.tagKeys.get -
resourcemanager.tagKeys.list -
resourcemanager.tagValues.list -
resourcemanager.tagValues.get -
compute.instances.listTagBindings -
compute.instances.listEffectiveTags -
resourcemanager.projects.get
-
-
Buat tag:
-
resourcemanager.tagKeys.create -
resourcemanager.tagValues.create -
resourcemanager.tagKeys.setIamPolicy -
resourcemanager.tagValues.setIamPolicy
-
-
Mengelola tag:
-
resourcemanager.tagKeys.update -
resourcemanager.tagValues.update -
resourcemanager.tagKeys.delete -
resourcemanager.tagValues.delete -
resourcemanager.tagKeys.getIamPolicy -
resourcemanager.tagValues.getIamPolicy -
resourcemanager.tagKeys.setIamPolicy -
resourcemanager.tagValues.setIamPolicy
-
-
Menambahkan atau menghapus tag untuk instance komputasi:
-
compute.instances.createTagBinding -
compute.instances.deleteTagBinding -
resourcemanager.tagValueBindings.create -
resourcemanager.tagValueBindings.delete
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Resource yang didukung
Compute Engine mendukung pemberian tag untuk resource berikut:
Hanya setelah pembuatan resource:
- Grup instance terkelola (MIG)
- Health check
Selama dan setelah pembuatan resource:
- Instance virtual machine (VM)
- Disk
- Gambar
- Snapshot
- Jaringan VPC
- Subnetwork VPC
- Aturan firewall VPC
- Rute VPC
- Cloud Router
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-langkahnya mungkin berbeda. Misalnya, langkah-langkah berikut akan melampirkan tag ke VM:
Di konsol Google Cloud , buka halaman VM instances.
Pilih project Anda, lalu klik Lanjutkan.
Di kolom Nama, klik nama VM yang ingin Anda tambahi tag.
Dari halaman detail Instance VM, selesaikan langkah-langkah berikut:
- Klik Edit.
- Di bagian Informasi dasar, klik Kelola tag, lalu tambahkan tag yang Anda inginkan untuk instance.
- 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=FULL_RESOURCE_NAME
Ganti kode berikut:
LOCATION_NAME: adalah zona tempat instance berada. Untuk resource global, hilangkan flag--location.TAGVALUE_ID: ID numerik nilai tagFULL_RESOURCE_NAME: nama resource lengkap resource target; dalam contoh ini, nama resource lengkap instance VM://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
Ganti kode berikut:
PROJECT_NUMBER: ID numerik project Anda yang berisi resource targetZONE: zona yang berisi instanceINSTANCE_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": "FULL_RESOURCE_NAME",
"tagValue": "tagValue/TAGVALUE_ID"
}
{
"parent": "FULL_RESOURCE_NAME",
"tagValueNamespacedName": TAGVALUE_NAMESPACED_NAME
}Ganti kode berikut:
LOCATION_NAME: lokasi resource zonal atau regional. Untuk instance VM, tentukan zona. Untuk resource global, hapus parameterLOCATION_NAME-FULL_RESOURCE_NAME: nama resource lengkap resource target; dalam contoh ini, nama resource lengkap instance VM://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
Ganti kode berikut:
PROJECT_NUMBER: ID numerik project Anda yang berisi resource targetZONE: zona yang berisi instanceINSTANCE_ID: ID instance VM
TAGVALUE_ID: ID permanen nilai tag yang dilampirkan—misalnya:4567890123TAGVALUE_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-langkahnya mungkin berbeda. Langkah-langkah berikut ditujukan untuk VM:
Di konsol Google Cloud , buka halaman VM instances.
Pilih project Anda, lalu klik Continue.
Klik Create instance. Halaman Create an instance akan muncul dan menampilkan panel Machine configuration.
Di menu navigasi, klik Lanjutan. Di panel Advanced yang muncul, lakukan hal berikut:
- Luaskan bagian Kelola tag dan label.
- Klik Tambahkan tag.
- Di panel Tag yang terbuka, ikuti petunjuk untuk menambahkan tag ke instance.
- Klik Simpan.
Tentukan opsi konfigurasi lainnya untuk instance Anda. Untuk mengetahui informasi selengkapnya, lihat Opsi konfigurasi selama pembuatan instance.
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_IDGanti kode berikut:
INSTANCE_NAME: nama instance VM AndaZONE: zona yang berisi instance VMTAGKEY_ID: ID numerik nomor kunci tagTAGVALUE_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 AndaTAGKEY_ID: ID numerik nomor kunci tagTAGVALUE_ID: ID numerik permanen nilai tag yang dilampirkan—misalnya:4567890123
Menggunakan tag dengan aturan firewall
Untuk mengaktifkan traffic jaringan ke instance Compute Engine tertentu secara aman, Anda dapat menerapkan tag jaringan atau tag aman ke instance tersebut. Kemudian, Anda dapat membuat aturan firewall yang menargetkan tag tersebut. Hal ini berguna untuk mengelola akses ke instance Anda dalam skala besar.
Misalnya, asumsikan Anda memiliki instance compute yang menjalankan server web, dan Anda membuat aplikasi web baru yang harus dapat diakses oleh publik di port HTTP standar (80). Anda dapat menggunakan tag jaringan atau tag aman untuk menerapkan aturan firewall yang memberikan akses HTTP hanya ke instance compute tempat server web berjalan.
Untuk mengetahui petunjuk cara membuat tag untuk digunakan dalam kebijakan firewall, lihat artikel berikut:
- Untuk menggunakan tag jaringan dengan aturan firewall VPC, lihat Menambahkan tag jaringan.
- Untuk menggunakan tag aman dengan kebijakan firewall hierarkis, kebijakan firewall jaringan global dan regional, atau untuk digunakan dengan sumber yang terhubung menggunakan Peering Jaringan VPC, lihat Membuat dan mengelola tag aman.
Untuk mengetahui informasi tentang apakah akan menggunakan akun layanan atau tag jaringan untuk menentukan target dan sumber untuk aturan masuk jaringan, lihat Memfilter menurut akun layanan versus tag jaringan.
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 instance VM:
Di konsol Google Cloud , buka halaman VM instances.
Pilih project Anda, lalu klik Lanjutkan.
Di kolom Nama, klik nama instance yang ingin Anda hapus tagnya.
Dari halaman detail Instance VM, selesaikan langkah-langkah berikut:
- Klik Edit.
- Untuk tag pengelola resource, di bagian Informasi dasar, klik Kelola Tag. Hapus tag yang Anda inginkan untuk instance. Anda hanya dapat menghapus tag yang ditambahkan langsung ke instance.
- Untuk tag jaringan, di bagian Networking, hapus tag dari daftar Network tags.
- Klik Simpan.
gcloud
Untuk melepaskan tag dari instance komputasi, gunakan
perintah resource-manager tags bindings delete:
gcloud resource-manager tags bindings delete \
--location=LOCATION_NAME \
--tag-value=tagValues/TAGVALUE_ID \
--parent=FULL_RESOURCE_NAME
Ganti kode berikut:
LOCATION_NAME: adalah zona tempat instance berada. Untuk resource global, hilangkan flag--location=LOCATION_NAME \TAGVALUE_ID: ID numerik nilai tagFULL_RESOURCE_NAME: nama resource lengkap resource target; dalam contoh ini, nama resource lengkap instance://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
Ganti kode berikut:
PROJECT_NUMBER: ID numerik project Anda yang berisi resource targetZONE: zona yang berisi instanceINSTANCE_ID: ID instance
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 instance komputasi,
gunakan metode tagBindings.delete
dengan endpoint regional tempat resource Anda berada.
DELETE https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME}
Ganti kode berikut:
LOCATION_NAME: lokasi resource zonal atau regional. Untuk instance, tentukan zona. Untuk resource global, hapus parameterLOCATION_NAME-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 instance VM:
Di konsol Google Cloud , buka halaman VM instances.
Pilih project Anda, lalu klik Lanjutkan.
Di kolom Nama, klik nama instance yang ingin Anda lihat tagnya.
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=FULL_RESOURCE_NAME
Ganti kode berikut:
LOCATION_NAME: adalah zona tempat instance berada. Untuk resource global, hilangkan flag--location=LOCATION_NAME \FULL_RESOURCE_NAME: nama resource lengkap resource target; dalam contoh ini, nama resource lengkap instance://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
Ganti kode berikut:
PROJECT_NUMBER: ID numerik project Anda yang berisi resource targetZONE: zona yang berisi instanceINSTANCE_ID: ID instance
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": "FULL_RESOURCE_NAME"
}
Ganti kode berikut:
LOCATION_NAME: lokasi resource zonal atau regional. Untuk instance, tentukan zona. Untuk resource global, hapus parameterLOCATION_NAME-FULL_RESOURCE_NAME: nama resource lengkap resource target; dalam contoh ini, nama resource lengkap instance://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
Ganti kode berikut:
PROJECT_NUMBER: ID numerik project Anda yang berisi resource targetZONE: zona yang berisi instanceINSTANCE_ID: ID instance