Mengotomatiskan perlindungan instance Compute Engine baru

Halaman ini memberikan ringkasan menyeluruh tentang cara mengotomatiskan pencadangan untuk instance Compute Engine Anda 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 informasi yang lebih mendetail, lihat Compute Engine.

Prasyarat untuk mengotomatiskan pencadangan

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

Setelah menyiapkan Layanan Pencadangan dan DR serta membuat template rencana pencadangan, Anda kini siap 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.

Mengelola Tag Perlindungan Dinamis

Untuk membuat, memperbarui, dan menghapus Tag Perlindungan Dinamis, Anda harus memiliki salah satu peran berikut:

  • 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 peran Layanan Pencadangan dan DR lebih lanjut.

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 paket cadangan 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 ini untuk membuat Nilai Tag Perlindungan Dinamis yang dapat digunakan dengan instance Compute Engine Anda:

  1. Di konsol pengelolaan, 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 Profil yang sesuai untuk dikaitkan dengan Nilai Tag ini.

  6. Klik Save. 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 untuk mengotomatiskan perlindungan:

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

  2. Buka halaman Tag di konsol Google Cloud.

    Buka halaman Tag

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

  4. Klik Create.

  5. Di kotak Tag key, masukkan backupdr-dynamicprotect sebagai kunci tag. Ini adalah langkah wajib untuk memastikan 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 Tag value, masukkan nama tampilan nilai tag Anda. Ini akan menjadi bagian dari nama tag Anda dengan namespace.

  2. Di kotak Tag value description, 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.

Sebelum memulai, aktifkan izin yang sesuai untuk peran Anda guna memastikan Anda memiliki salah satu peran berikut:

  • Admin Backup and DR

  • Pengguna Pencadangan Backup and DR

  • Pengguna Backup and DR V2

  • Editor Project

  • Pemilik Project

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

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

    Buka halaman VM instances

  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 tambahkan tag yang Anda inginkan untuk instance.
  5. Pilih kunci backupdr-dynamicprotect: dan Nilai Tag yang sesuai yang dipetakan ke Template dan Profil yang Anda tetapkan di konsol Google Cloud.

  6. 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 konsol Google Cloud, buka halaman Instance VM.

    Buka halaman VM instances

  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 Save.

  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 Dynamic Protection 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 tugas Perlindungan Dinamis terjadwal dijalankan pada pukul 04.00 atau 16.00 waktu setempat agar dapat diterapkan, 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 Instance VM.

    Buka halaman VM instances

  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 Save.

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 secara on demand 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. Dapatkan 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 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 beban kerja 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 Pengelola Resource untuk memberi tag pada resource di tingkat project atau yang lebih tinggi untuk memastikan perlindungan diwariskan ke semua resource Anda. Pelajari Warisan Tag lebih lanjut.

Memigrasikan perlindungan manual ke Perlindungan Dinamis

Jika ingin memigrasikan resource yang sudah dilindungi untuk menggunakan perlindungan dinamis menggunakan Tag, Anda harus mengaktifkan tanda migrasi di project. Setelah Anda mengaktifkan migrasi, setiap instance yang dilindungi secara manual kini dapat menggunakan perlindungan dinamis. Menambahkan tag dan resource akan 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 tombol Aktifkan migrasi ke perlindungan berbasis tag ke status AKTIF
  2. Konfirmasi dialog Aktifkan Migrasi. 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 tombol Aktifkan migrasi ke perlindungan berbasis tag ke status NONAKTIF.
  2. Konfirmasi dialog Nonaktifkan Migrasi. Tindakan ini 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 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 hasil terbaik, pertimbangkan hal berikut:

  • Meningkatkan periode pencadangan. Periode 6 hingga 10 jam dapat membantu memastikan bahwa semua tugas berjalan hingga selesai.

  • Pertimbangkan jenis peralatan Anda sebelum menyiapkan tag. Untuk hasil terbaik, pastikan semua instance Compute Engine yang diberi tag berada di appliance pencadangan/pemulihan yang berjalan pada jenis appliance Standard untuk VM Compute Engine atau database SAP HANA.

  • 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 ditransfer. Untuk mengubah jenis perlindungan kembali ke perlindungan berbasis tag, Anda dapat menghapus rencana cadangan perlindungan yang ditransfer dan memicu tugas perlindungan dinamis sesuai permintaan atau menunggu eksekusi terjadwal berikutnya sehingga aplikasi ditetapkan perlindungan berbasis tag lagi.

  • VM yang di-mount 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 menerapkannya ke binding tag VM baru yang mirip dengan VM sumber.