Mengotomatiskan perlindungan instance Compute Engine di konsol pengelolaan appliance

Halaman ini menjelaskan cara mengotomatiskan pencadangan untuk instance Compute Engine menggunakan Tag di konsol pengelolaan appliance.

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 terlampir ke instance. Anda dapat membuat instance atau membuat grup instance terkelola menggunakan Google Cloud konsol, Google Cloud CLI, atau Compute Engine API.

Untuk mengetahui informasi yang lebih mendetail, lihat Compute Engine.

Prasyarat untuk mengotomatiskan pencadangan

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

Setelah menyiapkan Backup and DR Service dan 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 Identity and Access Management (IAM) Operator Compute Engine Backup and DR (roles/backupdr.computeEngineOperator) kepada agen layanan appliance pencadangan/pemulihan 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 Backup and DR Service.

Menerapkan template rencana pencadangan menggunakan Tag secara otomatis

Bagian ini membantu Anda mengotomatiskan penerapan rencana pencadangan ke instance Compute Engine menggunakan Tag. Pertama, Anda membuat pemetaan rencana pencadangan ke Tag di konsol pengelolaan appliance. Kemudian Anda membuat Tag melalui IAM menggunakan nilai yang sama yang ditetapkan di konsol pengelolaan appliance.

Membuat nilai Tag Perlindungan Dinamis

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

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

  2. Klik Create Dynamic Protection Tag.

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

  4. Dari daftar Application type, pilih Compute Engine.

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

  6. Klik Save. Nilai Tag Perlindungan Dinamis akan 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 Google Cloud konsol.

    Membuka halaman Tag

  3. Dari Scope picker di bagian atas halaman, pilih organisasi atau project yang akan digunakan untuk membuat kunci tag.

  4. Klik Create.

  5. Di kotak Tag key, 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 Tag key description, masukkan deskripsi kunci tag Anda.

  7. Klik Add value , lalu masukkan setiap nilai Tag yang baru saja Anda buat.

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

  2. Di kotak Tag value description, masukkan deskripsi Template dan Profil yang terkait dengan nilai Tag ini.

  3. Setelah selesai menambahkan nilai Tag, klik Create tag key.

Menambahkan Tag Perlindungan Dinamis ke resource

Setelah 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 ini:

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

    Buka instance VM

  2. Di kolom Name, klik nama VM yang akan ditambahi tag.

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

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

  5. Klik Save.

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 Google Cloud konsol, 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 Add Tags.

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

  7. Klik Save.

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

gcloud

Untuk menggunakan gcloud 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 Google Cloud konsol dan akan menyiapkannya untuk Anda. Template ini membuat instance Compute Engine baru dan mengikatnya ke tag perlindungan dinamis. Anda dapat menunggu tugas perlindungan dinamis terjadwal berjalan pada pukul 04.15 atau 16.15 waktu setempat agar berlaku, atau Anda dapat menjalankan tugas perlindungan dinamis sesuai permintaan dengan mengikuti langkah-langkah di bagian 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 Google Cloud konsol, 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 Basic , klik Manage Tags , lalu hapus backupdr-dynamicprotect untuk instance.

  7. Klik Save.

gcloud

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

Menjalankan Perlindungan Otomatis Manual

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

  1. Tetapkan endpoint konsol pengelolaan appliance dengan memasukkan nilai yang dimulai dengan 'https://bmc-' dan diakhiri dengan '.com'. Misalnya, 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. Dapatkan ID sesi baru:

    echo "Generating a new session id..."
    export SESSION_RESPONSE=$(curl -XPOST -H "Authorization: Bearer $BEARER_TOKEN" -H "Content-Type: application/json" -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 masa berlakunya.

  4. Memicu tugas perlindungan dinamis

    Tugas perlindungan dinamis memperbarui semua instance Compute Engine dengan tag saat ini, dan menetapkan rencana pencadangan berdasarkan tag. Tugas yang dipicu dapat memerlukan waktu beberapa menit, bergantung pada jumlah perubahan yang tertunda 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 Resource Manager

Anda dapat menggunakan tag perlindungan dinamis dengan Resource Manager, yang 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 guna memastikan perlindungan diwarisi di semua resource Anda. Pelajari lebih lanjut tentang Warisan label.

Memigrasikan perlindungan manual ke Perlindungan Dinamis

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

Sebelum memulai, ikuti langkah-langkah di bagian Menjalankan Perlindungan Otomatis Manual untuk menyiapkan sesi.

Bash

Jalankan perintah berikut.

  1. Tetapkan endpoint konsol pengelolaan appliance dengan memasukkan nilai yang dimulai dengan 'https://bmc-' dan diakhiri dengan '.com'. Misalnya, 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 appliance

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

  1. Alihkan Enable migration to tag based protection ke status ON
  2. Konfirmasi dialog Enable Migration. Instance Compute Engine yang dilindungi secara manual akan dilindungi kembali 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 Enable migration to tag based protection ke status OFF.
  2. Konfirmasi dialog Disable Migration. 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 monitor. Konsol pengelolaan appliance menerima notifikasi ringkasan setelah melakukan tindakan perlindungan dinamis. Notifikasi error akan dikirim jika tindakan pengguna diperlukan.

Praktik terbaik

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

  • Tingkatkan jendela pencadangan. Jendela 6 hingga 10 jam biasanya dapat 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 rencana pencadangan yang dibawa. Untuk mengubah jenis perlindungan kembali ke perlindungan berbasis tag, Anda dapat menghapus rencana pencadangan perlindungan yang dibawa dan memicu tugas perlindungan dinamis sesuai permintaan atau menunggu eksekusi terjadwal berikutnya sehingga aplikasi ditetapkan kembali ke perlindungan berbasis tag.

  • VM yang dipasang di host yang ada atau host yang baru dibuat tidak akan membawa 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 binding tag ke VM baru yang mirip dengan VM sumber.