Menambahkan tag jaringan

Tag adalah string karakter yang ditambahkan ke kolom tag dalam resource, seperti instance virtual machine (VM) Compute Engine atau template instance. Tag bukanlah resource terpisah, jadi Anda tidak dapat membuatnya secara terpisah. Semua resource dengan string tersebut dianggap memiliki tag tersebut. Tag memungkinkan Anda membuat aturan firewall dan rute yang berlaku untuk instance VM tertentu.

Anda dapat menetapkan tag jaringan ke VM baru pada waktu pembuatan, atau mengedit kumpulan tag yang ditetapkan kapan saja nanti. Anda dapat mengedit tag jaringan tanpa menghentikan VM.

Spesifikasi

Tag jaringan yang Anda tetapkan ke instance berlaku untuk semua antarmuka jaringan instance. Tag jaringan hanya berlaku untuk jaringan VPC yang dikaitkan langsung dengan antarmuka jaringan instance. Hal ini berlaku bahkan untuk Peering Jaringan VPC, karena jaringan yang di-peering tetap menjadi jaringan yang berbeda. Dengan demikian, tag jaringan masih hanya berguna di jaringan tempat antarmuka jaringan instance dikaitkan.

Tag jaringan harus dimulai dengan huruf kecil dan dapat berisi huruf kecil, angka, dan tanda hubung. Tag harus diakhiri dengan huruf kecil atau angka.

Izin

Peran IAM berikut diperlukan untuk tugas yang dibahas di halaman ini. Untuk mengetahui detail selengkapnya, baca Peran IAM Compute Engine.

Tugas Peran yang Diperlukan
Menetapkan tag jaringan ke instance baru saat dibuat Pemilik atau editor project atau Admin Instance
Menambahkan atau menghapus tag jaringan untuk instance yang ada
Menambahkan, menghapus, atau mengedit aturan firewall Pemilik atau editor project atau Security Admin

Batas

Batasan berikut berlaku untuk tag jaringan:

Batas Nilai Deskripsi
Jumlah maksimum tag per VM 64 Semua tag untuk VM harus unik. Anda dapat menetapkan hingga 64 tag berbeda per VM.
Jumlah karakter maksimum untuk setiap tag 63
Karakter yang dapat diterima untuk tag huruf kecil, angka, tanda pisah Selain itu:
• Tag harus dimulai dengan huruf kecil.
• Tag harus diakhiri dengan angka atau huruf kecil.

Aturan dan rute firewall

Tag jaringan memungkinkan Anda menerapkan aturan firewall dan rute ke instance atau kumpulan instance tertentu:

  • Anda membuat aturan firewall yang berlaku untuk instance tertentu menggunakan tag target dan tag sumber.

  • Anda membuat rute yang berlaku untuk instance tertentu menggunakan tag.

Target untuk aturan firewall

Setiap aturan firewall di Google Cloud harus memiliki target yang menentukan instance tempat aturan tersebut diterapkan. Target defaultnya adalah semua instance dalam jaringan, tetapi Anda dapat menentukan instance sebagai target menggunakan tag target atau akun layanan target.

Tag target menentukan VM Google Cloud tempat aturan diterapkan. Aturan ini diterapkan ke jaringan VPC tertentu. Parameter ini dapat diterapkan ke alamat IP internal utama yang terkait dengan antarmuka jaringan dari instance apa pun yang dikaitkan dengan jaringan VPC tersebut yang memiliki tag jaringan yang cocok.

Aturan firewall masuk dan keluar memiliki target:

  • Aturan ingress berlaku untuk traffic yang memasuki jaringan VPC Anda. Untuk aturan masuk, targetnya adalah VM tujuan di Google Cloud.

  • Aturan masuk berlaku untuk traffic yang keluar dari jaringan VPC Anda. Untuk aturan keluar, targetnya adalah VM sumber di Google Cloud.

Pertimbangkan aturan firewall masuk yang mengizinkan traffic pada port TCP 80 dari sumber mana pun. Aturan tersebut memiliki tag target http-server. Aturan ini hanya akan berlaku untuk instance yang memiliki tag jaringan http-server, yang berarti bahwa traffic masuk pada port 80 akan diizinkan ke instance tersebut.

Filter sumber untuk aturan firewall masuk

Saat membuat aturan firewall masuk, Anda harus menentukan sumber. Anda dapat menentukannya menggunakan rentang alamat IP internal atau eksternal, atau dengan merujuk ke instance tertentu. Tentukan instance menggunakan tag sumber atau akun layanan sumber.

Tag sumber untuk aturan firewall masuk yang diterapkan pada jaringan VPC menentukan sumber traffic yang berasal dari alamat IP internal utama yang terkait dengan antarmuka jaringan yang dikaitkan dengan jaringan tersebut untuk instance apa pun yang memiliki tag jaringan yang cocok.

Anda dapat menggunakan kombinasi rentang IP dan tag sumber, atau kombinasi rentang IP dan akun layanan sumber. Anda tidak dapat menggunakan tag jaringan dan akun layanan dalam aturan yang sama. Untuk mengetahui informasi selengkapnya tentang tag sumber dan akun layanan, lihat memfilter berdasarkan akun layanan vs. tag jaringan.

Pertimbangan

Saat menggunakan aturan firewall masuk dengan tag sumber, Anda mungkin melihat penundaan penerapan. Penundaan ini biasanya berlangsung selama beberapa detik, tetapi terkadang juga dapat berlangsung beberapa menit. Jika Anda melakukan perubahan berikut, aturan firewall masuk dapat memerlukan waktu untuk diterapkan ke atau dihapus dari instance terkait:

  • Memulai atau menghentikan instance yang memiliki tag yang terkait dengan tag sumber aturan
  • Memulai instance yang memiliki tag yang terkait dengan tag target aturan
  • Menambahkan atau menghapus tag dari instance jika tag digunakan di kolom sumber atau target pada suatu aturan
  • Menambahkan atau menghapus tag sumber atau target dari aturan

Penundaan dalam penerapan ini hanya berlaku untuk aturan masuk yang menggunakan tag sumber. Semua aturan firewall lainnya akan langsung berlaku pada instance. Misalnya, aturan masuk yang menggunakan rentang alamat IP sumber dan tag target tidak memiliki penundaan penerapan.

Interaksi dengan rute statis

Saat membuat rute statis, Anda menentukan jaringan VPC. Kemudian, Anda dapat menentukan tag sehingga rute hanya berlaku untuk traffic yang dikirim dari VM dengan tag jaringan yang cocok dalam jaringan VPC yang ditetapkan.

Menambahkan, melihat, dan menghapus tag

Anda dapat menentukan tag jaringan saat membuat instance VM. Anda juga dapat menambahkan tag ke dan menghapus tag dari VM yang ada.

Menambahkan tag saat membuat VM

Konsol

  1. Buka halaman VM instances.
    Buka halaman VM instances
  2. Klik Create instance.
  3. Klik Management, security, disks, networking, sole tenancy untuk membuka bagian tersebut.
  4. Klik tab Networking.
  5. Di kolom Network tags, tentukan satu atau beberapa tag, yang dipisahkan dengan koma.
  6. Isi kolom lainnya untuk VM.
  7. Klik Create.

gcloud

Untuk menetapkan tag baru ke instance, gunakan perintah gcloud berikut.

gcloud compute instances create INSTANCE_NAME \
    --zone ZONE \
    --tags TAGS \
    ...other parameters as needed.

Ganti kode berikut:

  • INSTANCE_NAME: nama instance.
  • ZONE: zona instance.
  • TAGS: daftar tag yang dipisahkan koma.

Lihat dokumentasi gcloud untuk mengetahui informasi selengkapnya.

Terraform

Anda dapat menggunakan resource Terraform untuk membuat instance VM yang memiliki tag jaringan.

resource "google_compute_instance" "default" {
  project      = var.project_id # Replace this with your project ID in quotes
  zone         = "southamerica-east1-b"
  name         = "backend-instance"
  machine_type = "e2-medium"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }
  network_interface {
    network = "default"
  }
  tags = ["health-check", "ssh"]
}

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

Menambahkan tag ke VM yang ada

Konsol

  1. Buka halaman VM instances.
    Buka halaman VM instances
  2. Klik nama instance.
  3. Di halaman VM instance details, klik Edit.
  4. Di bagian Network tags, tentukan satu atau beberapa tag, yang dipisahkan dengan koma.
  5. Klik Save.

gcloud

Untuk menetapkan tag baru ke instance, gunakan perintah gcloud berikut.

gcloud compute instances add-tags INSTANCE_NAME \
    --zone ZONE \
    --tags TAGS

Ganti kode berikut:

  • INSTANCE_NAME: nama instance.
  • ZONE: zona instance.
  • TAGS: daftar tag yang dipisahkan koma.

Lihat dokumentasi gcloud untuk mengetahui informasi selengkapnya.

Melihat tag

Konsol

  1. Buka halaman VM instances.
    Buka halaman VM instances
  2. Lihat tag di kolom Network tag.

    Jika diperlukan, klik Column display options untuk menambahkan kolom Network tags.

  3. Untuk melihat instance dengan tag tertentu, di filter, pilih properti Network tags dan masukkan tag yang ingin Anda filter.

gcloud

Untuk melihat daftar instance beserta tag-nya, jalankan perintah ini:

gcloud compute instances list --format='table(name,status,tags.list())'

Untuk melihat daftar instance dengan tag tertentu, jalankan perintah ini:

gcloud compute instances list --filter='tags:TAG_EXPRESSION'

Ganti kode berikut:

  • TAG_EXPRESSION: ekspresi yang ingin Anda filter. Misalnya, tag1, tag1 OR tag2, tag1 AND tag2. Lihat filter topik gcloud untuk mengetahui informasi selengkapnya tentang memfilter output.

Menghapus tag

Konsol

  1. Buka halaman VM instances.
    Buka halaman VM instances
  2. Klik nama instance.
  3. Di halaman VM instance details, klik Edit.
  4. Di bagian Network tags, hapus tag dengan mengklik hapus (X).
  5. Klik Save.

gcloud

Untuk menghapus tag dari instance, gunakan perintah gcloud berikut.

gcloud compute instances remove-tags INSTANCE_NAME \
    --zone ZONE \
    --tags TAGS

Ganti kode berikut:

  • INSTANCE_NAME: nama instance.
  • ZONE: zona instance.
  • TAGS: daftar tag yang dipisahkan koma.

Lihat dokumentasi gcloud untuk mengetahui informasi selengkapnya.

Permintaan API langsung

Anda dapat menetapkan tag jaringan yang terkait dengan instance dengan membuat permintaan API langsung. Tidak seperti menggunakan Konsol Google Cloud atau perintah gcloud, memperbarui tag melalui permintaan API langsung tidak mempertahankan tag yang sudah ada. Pastikan Anda menentukan kumpulan lengkap tag yang harus dikaitkan dengan instance setiap kali Anda memperbarui tag dengan cara ini.

Untuk memperbarui tag menggunakan permintaan API langsung:

  1. Menentukan sidik jari terbaru yang terkait dengan tag. Sidik jari digunakan untuk mencegah konflik dari permintaan API secara bersamaan. Proses pembaruan tag jaringan untuk instance mirip seperti memperbarui metadata instance.

    Menjalankan permintaan GET ke instance; misalnya:

    GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance
    

    Cari properti tags.fingerprint dalam respons:

    200 OK
    {
    ...
    "tags": {
     "items": [
     "http-server",
     "db-client"
     ],
     "fingerprint": "MW8EqhxILtc="
    },
    ...
    }
    

    Anda juga dapat menggunakan perintah gcloud untuk mendapatkan fingerprint, sebagaimana ditunjukkan dalam contoh berikut:

    gcloud compute instances describe INSTANCE_NAME \
       --zone ZONE \
       --format="get(tags.fingerprint)"
  2. Buat permintaan POST ke metode instance().setTags. Isi permintaan harus berisi semua tag yang harus dikaitkan dengan instance beserta nilai fingerprint.

    Contoh permintaan:

    POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/setTags
    {
     "items": [
      "http-server",
      "db-client",
      "allow-internet-access"
      ],
     "fingerprint": "MW8EqhxILtc="
    }
    

    Contoh respons:

    200 OK
    {
          "kind": "compute#operation",
          "id": "9251830049681941507",
          "name": "operation-1442414898862-51fde63aa57b1-422323e0-c439fb04",
          "zone": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f",
          "operationType": "setTags",
          "targetLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance",
          "targetId": "4392196237934605253",
          "status": "PENDING",
          "user": "user@example.com",
          "progress": 0,
    ...
    }
    

Langkah berikutnya