Mengotomatiskan perlindungan instance Compute Engine baru

Halaman ini menjelaskan cara mengotomatiskan pencadangan untuk instance Compute Engine menggunakan Tag.

Mengonfigurasi pencadangan untuk instance Compute Engine baru

Instance Compute Engine adalah VM yang dihosting di Google Cloud. Setiap instance menyimpan data di Persistent Disk yang terpasang ke instance. Anda dapat membuat instance atau membuat grup instance terkelola menggunakan konsol Google Cloud , Google Cloud CLI, atau Compute Engine API.

Untuk mengetahui informasi yang lebih mendetail, lihat Compute Engine.

Prasyarat untuk mengotomatiskan pencadangan

Sebelum Anda mulai mengotomatiskan pencadangan instance Compute Engine, baca prosedur berikut untuk bersiap melakukan pencadangan:

Setelah menyiapkan Layanan Pencadangan dan DR serta membuat template rencana pencadangan, Anda dapat mengotomatiskan perlindungan instance Compute Engine dengan menerapkan template rencana pencadangan ke instance menggunakan Tag.

Izin

Untuk membuat, memperbarui, dan menghapus definisi Tag untuk resource Compute Engine, Anda memerlukan peran Tag Administrator. Untuk mengetahui informasi selengkapnya tentang peran tagUser, lihat Izin yang diperlukan.

Untuk menggunakan pemberian tag dinamis guna mencadangkan instance Compute Engine, Anda harus memberikan peran IAM Backup and DR Compute Engine Operator (roles/backupdr.computeEngineOperator) kepada agen layanan vault cadangan dalam project Compute Engine.

Mengelola Tag Perlindungan Dinamis

Untuk membuat, memperbarui, dan menghapus Tag Perlindungan Dinamis, Anda harus memiliki izin yang sesuai untuk peran Anda guna memastikan Anda memiliki salah satu peran berikut yang ditetapkan:

  • Admin Backup and DR

  • Pengguna Pencadangan Backup and DR

  • Pengguna Backup and DR V2

  • Editor Project

  • Pemilik Project

  • peran khusus yang mencakup izin berikut:

Izin yang diperlukan

  • backupdr.managementServers.listDynamicProtection
  • backupdr.managementServers.getDynamicProtection
  • backupdr.managementServers.createDynamicProtection
  • backupdr.managementServers.deleteDynamicProtection
  • compute.instances.listEffectiveTags

Pelajari lebih lanjut peran Layanan Pencadangan dan Pemulihan dari Bencana.

Menerapkan template rencana pencadangan menggunakan Tag secara otomatis

Bagian ini membantu Anda mengotomatiskan penerapan rencana pencadangan ke instance Compute Engine menggunakan Tag. Pertama, buat pemetaan rencana pencadangan ke Tag di konsol pengelolaan. Kemudian, Anda membuat Tag melalui Identity and Access Management (IAM) menggunakan nilai yang sama yang ditetapkan di konsol pengelolaan.

Membuat nilai Tag Perlindungan Dinamis

Gunakan petunjuk berikut untuk membuat nilai Tag Perlindungan Dinamis yang dapat digunakan dengan instance Compute Engine Anda:

  1. Di konsol pengelolaan Backup and DR, klik menu drop-down Backup Plans, lalu pilih Dynamic Protection Tags.

  2. Klik Buat Tag Perlindungan Dinamis.

  3. Masukkan Nilai Tag unik yang mengikuti persyaratan penamaan ini.

  4. Dari daftar Jenis aplikasi, pilih Compute Engine.

  5. Pilih Template dan Profile yang sesuai untuk dikaitkan dengan Nilai Tag ini.

  6. Klik Simpan. Nilai Tag Perlindungan Dinamis dibuat.

Membuat Tag Perlindungan Dinamis

Gunakan petunjuk ini untuk membuat Tag Perlindungan Dinamis yang akan dilampirkan ke instance Compute Engine Anda guna mengotomatiskan perlindungan:

  1. Untuk membuat, memperbarui, dan menghapus definisi tag, Anda memerlukan peran Tag Administrator, atau peran lain yang mencakup izin tertentu.

  2. Buka halaman Tags di konsol Google Cloud .

    Buka halaman Tag

  3. Dari Pemilih cakupan di bagian atas halaman, pilih organisasi atau project tempat Anda ingin membuat kunci tag.

  4. Klik Create.

  5. Di kotak Kunci tag, masukkan backupdr-dynamicprotect sebagai kunci tag. Langkah ini wajib dilakukan agar otomatisasi berhasil. Perhatikan kesalahan ejaan dan pastikan untuk menyertakan tanda hubung.

  6. Opsional: Di kotak Deskripsi kunci tag, masukkan deskripsi kunci tag Anda.

  7. Klik Tambahkan nilai dan masukkan setiap Nilai tag yang baru saja Anda buat.

  1. Di kotak Nilai tag, masukkan nama tampilan nilai tag Anda. Nama ini akan menjadi bagian dari nama dengan namespace tag Anda.

  2. Di kotak Deskripsi nilai tag, masukkan deskripsi Template dan Profil yang terkait dengan Nilai tag ini.

  3. Setelah selesai menambahkan Nilai tag, klik Buat kunci tag.

Menambahkan Tag Perlindungan Dinamis ke resource

Setelah Anda membuat Nilai Tag Perlindungan Dinamis dan menautkannya ke Tag Perlindungan Dinamis, langkah berikutnya adalah menetapkan Tag ke instance Compute Engine. Perlindungan berbasis tag tidak berfungsi jika instance Anda dilindungi dalam grup logis. Hapus grup logis dan coba gunakan perlindungan dinamis.

Tag Perlindungan Dinamis Anda dapat dilampirkan ke instance Compute Engine menggunakan petunjuk berikut:

  1. Di Google Cloud konsol, buka halaman Compute Engine > VM instances.

    Buka instance VM

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

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

    1. Klik Edit.
    2. Di bagian Dasar, klik Kelola Tag, lalu tambahkan tag yang Anda inginkan untuk instance.
  4. Pilih kunci backupdr-dynamicprotect: dan Nilai Tag yang sesuai yang dipetakan ke Template dan Profil yang Anda tetapkan di konsol Google Cloud .

  5. Klik Simpan.

Menambahkan tag ke resource selama pembuatan resource

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

Konsol

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

    Buka instance VM

  2. Pilih project Anda, lalu klik Continue.

  3. Klik Create instance.

  4. Klik Kelola Tag dan Label.

  5. Klik Tambahkan Tag.

  6. Ikuti petunjuk di panel samping untuk memilih backupdr-dynamicprotect yang akan ditambahkan ke instance.

  7. Klik Simpan.

  8. Selesaikan langkah-langkah lain di bagian Membuat dan memulai instance VM untuk menyelesaikan pembuatan instance.

gcloud

Untuk menggunakan Google Cloud CLI atau API, ikuti dokumentasi SDK untuk melakukan hal berikut:

Terraform

Gunakan template Terraform berikut untuk mulai menggunakan Tag Perlindungan Dinamis. Template ini mengasumsikan bahwa Anda belum membuat kunci tag Perlindungan Dinamis di konsol Google Cloud dan akan menyiapkannya untuk Anda. Template ini membuat instance Compute Engine baru dan mengikatnya ke tag perlindungan dinamis. Anda dapat menunggu hingga tugas Perlindungan Dinamis terjadwal berjalan pada pukul 04.00 atau 16.00 waktu setempat agar berlaku, atau Anda dapat menjalankan tugas Perlindungan Dinamis sesuai permintaan dengan mengikuti langkah-langkah di Menjalankan Perlindungan Otomatis Manual.

variable "project_id" {
  description = "The ID of the existing Google Cloud project"
  type        = string
}

variable "region" {
  description = "The Google Cloud region where demo-instance should be created"
  type        = string
}

variable "zone" {
  description = "The Google Cloud zone where demo-instance should be created"
  type        = string
}

provider "google" {
  project = var.project_id
  region = var.region
  zone  = var.zone
}

data "google_project" "project" {
  project_id = var.project_id
}

# Reference: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/tags_tag_key
resource "google_tags_tag_key" "key" {
  parent = "projects/${var.project_id}"
  short_name = "backupdr-dynamicprotect"
  description = "Tag key for Dynamic Protection."
}

# Reference: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/tags_tag_value
resource "google_tags_tag_value" "value" {
  parent = "tagKeys/${google_tags_tag_key.key.name}"
  short_name = "backupdr-gold" # This value should be present in the "Management Console UI" > "Backup Plans" > "Dynamic Protection Tags"
  description = "Tag value for gold plan."
}

# Reference: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_instance
# Ensure not to define tag in "resource_manager_tags" block while creating VM instance. It'll destroy the VM
# when tag value is changed/removed later. Instead define a separate tag binding using "google_tags_tag_binding"
# or "google_tags_location_tag_binding" resource. It'll modify just tag binding and VM instance won't be affected.

resource "google_compute_instance" "vm_instance" {
  name         = "demo-instance"
  machine_type = "e2-micro"
  zone         = var.zone

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }

  network_interface {
    network = "default"

    access_config {
      // Ephemeral public IP
    }
  }
}

# Reference: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/google_tags_location_tag_binding
resource "google_tags_location_tag_binding" "binding" {
    parent    = "//compute.googleapis.com/projects/${data.google_project.project.number}/zones/${var.zone}/instances/${google_compute_instance.vm_instance.instance_id}"
    tag_value = "tagValues/${google_tags_tag_value.value.name}"
    location  = var.zone
}

# Reference for Tag bindings at project/org level: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/tags_tag_binding

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

  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:

  5. Klik Edit.

  6. Di bagian Dasar, klik Kelola Tag, lalu hapus backupdr-dynamicprotect untuk instance.

  7. Klik Simpan.

gcloud

Untuk menggunakan Google Cloud CLI, ikuti dokumentasi untuk menggunakan Google Cloud CLI untuk melepaskan Tag dari resource.

Menjalankan Perlindungan Otomatis Manual

Meskipun mesin perlindungan berjalan setiap hari pada pukul 04.00 dan 16.00 waktu setempat, Anda juga dapat menjalankan mesin Perlindungan Dinamis sesuai permintaan menggunakan langkah-langkah perintah berikut:

  1. Tetapkan endpoint konsol pengelolaan dengan memasukkan nilai yang dimulai dengan 'https://bmc-' dan diakhiri dengan '.com'. Contoh, https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com

    export MC_ENDPOINT="MC_ENDPOINT_edited_value"
    
  2. Buat token pembawa:

    echo "Generating a new bearer token..."
    export BEARER_TOKEN=$(gcloud auth print-access-token)
    echo "Bearer token generated: BEARER_TOKEN=$BEARER_TOKEN"
    
  3. Mendapatkan ID sesi baru:

    echo "Generating a new session id..."
    export SESSION_RESPONSE=$(curl -XPOST -H "Authorization: Bearer $BEARER_TOKEN" -d {} "$MC_ENDPOINT/actifio/session" 2>&-)
    export SESSION_ID=$(echo $SESSION_RESPONSE | jq -r '.session_id')
    
    if [ -z ${SESSION_ID} ]
      then echo "Issue with generating a new session id. Response: $SESSION_RESPONSE";
      return 1;
    fi
    
    echo "Session id generated: SESSION_ID=$SESSION_ID"
    

    Setelah menetapkan endpoint, membuat token pembawa, dan mendapatkan ID sesi, Anda dapat memicu tugas perlindungan dinamis selama satu jam hingga ID sesi berakhir.

  4. Memicu tugas perlindungan dinamis

    Tugas perlindungan dinamis memperbarui semua instance Compute Engine dengan tag saat ini, dan menetapkan paket pencadangan berdasarkan tag. Tugas yang dipicu dapat memerlukan waktu beberapa menit, bergantung pada jumlah perubahan yang menunggu keputusan untuk workload Anda.

    echo "Triggering dynamic protection job.."
    
    curl -H "Authorization: Bearer $BEARER_TOKEN" -H "backupdr-management-session: Actifio $SESSION_ID" -H "Content-Type: application/json" -XPOST -d '{}' "$MC_ENDPOINT/actifio/dynamicprotection/job/gceinstance"
    
    echo "Dynamic protection job triggered."
    

Menggunakan Perlindungan Dinamis dengan Pengelola Resource

Anda dapat menggunakan tag perlindungan dinamis dengan Resource Manager, sehingga mengotomatiskan perlindungan instance Compute Engine Anda di tingkat organisasi yang lebih tinggi. Gunakan Resource Manager untuk memberi tag pada resource di tingkat project atau yang lebih tinggi untuk memastikan perlindungan diwariskan di semua resource Anda. Pelajari lebih lanjut Pewarisan Tag.

Memigrasikan perlindungan manual ke Perlindungan Dinamis

Jika Anda ingin memigrasikan resource yang sudah dilindungi untuk menggunakan perlindungan dinamis menggunakan Tag, Anda harus mengaktifkan tanda migrasi di project Anda. Setelah Anda mengaktifkan migrasi, semua instance yang dilindungi secara manual kini dapat menggunakan perlindungan dinamis. Menambahkan tag dan resource secara otomatis melindungi berdasarkan tag dan menghapus perlindungan manual yang ada.

Bash

Jalankan perintah berikut.

  1. Tetapkan endpoint konsol pengelolaan dengan memasukkan nilai yang dimulai dengan 'https://bmc-' dan diakhiri dengan '.com'. Contoh, https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com

     #!/bin/bash
    
     export MC_ENDPOINT="MC_ENDPOINT_edited_value"
    
    
  2. Aktifkan migrasi.

    curl -H "Authorization: Bearer $BEARER_TOKEN" -H "backupdr-management-session: Actifio $SESSION_ID" -H "Content-Type: application/json" -XPATCH -d '{ "enableMigrationToTagBasedProtection":"true"}' "$MC_ENDPOINT/actifio/dynamicprotection/jobconfig"
    

Konsol pengelolaan

Untuk mengaktifkan migrasi instance Compute Engine yang dilindungi secara manual ke perlindungan berbasis tag, ikuti langkah-langkah berikut:

  1. Alihkan Aktifkan migrasi ke perlindungan berbasis tag ke status AKTIF
  2. Konfirmasi dialog Aktifkan Migrasi. Instance Compute Engine yang dilindungi secara manual akan dilindungi ulang menggunakan tag yang ditentukan di VM.

Untuk menonaktifkan migrasi instance Compute Engine yang dilindungi secara manual ke perlindungan berbasis tag, ikuti langkah-langkah berikut:

  1. Alihkan Aktifkan migrasi ke perlindungan berbasis tag ke status NONAKTIF.
  2. Konfirmasi dialog Nonaktifkan Migrasi. Tindakan ini akan menonaktifkan migrasi instance Compute Engine yang dilindungi secara manual ke perlindungan berbasis tag.

Peristiwa dan notifikasi

Setelah mesin perlindungan dinamis berjalan, Anda dapat meninjau progres dari peristiwa pemantauan. Konsol pengelolaan menerima notifikasi ringkasan setelah melakukan tindakan perlindungan dinamis. Notifikasi error dikirim jika tindakan pengguna diperlukan.

Praktik terbaik

Perlindungan dinamis dapat meningkatkan jumlah tugas pencadangan yang berjalan dan jumlah penyimpanan yang digunakan. Untuk hasil terbaik, pertimbangkan hal berikut:

  • Perpanjang periode pencadangan. Periode 6 hingga 10 jam biasanya memungkinkan semua tugas berjalan hingga selesai.

  • VM yang dipulihkan akan membawa tag perlindungan yang sama dengan VM sumber beserta rencana pencadangan yang sama, tetapi jenis perlindungan akan berubah dari perlindungan berbasis tag menjadi perlindungan yang dimulai pengguna. Resource akan terus dilindungi menggunakan paket pencadangan yang dialihkan. Untuk mengubah jenis perlindungan kembali ke perlindungan berbasis tag, Anda dapat menghapus rencana cadangan perlindungan yang dipertahankan dan memicu tugas perlindungan dinamis sesuai permintaan atau menunggu eksekusi terjadwal berikutnya sehingga aplikasi diberi perlindungan berbasis tag lagi.

  • VM yang di-mount di host yang ada atau host yang baru dibuat tidak akan memiliki tag perlindungan yang sama dengan VM sumber, sehingga tidak akan dilindungi secara otomatis setelah operasi pemasangan. Jika VM yang baru dipasang perlu dilindungi, Anda dapat menerapkan pengikatan tag ke VM baru yang serupa dengan VM sumber.