Bagikan melalui


Mencadangkan blob Azure di dalam akun penyimpanan menggunakan Azure CLI

Artikel ini menjelaskan cara mencadangkan Azure Blobs menggunakan Azure CLI. Anda sekarang dapat melakukan pencadangan operasional dan vault untuk melindungi blob blok di akun penyimpanan Anda menggunakan Azure Backup. Anda juga dapat mengonfigurasi pencadangan menggunakan REST API.

Untuk informasi mengenai ketersediaan wilayah Azure Blob, skenario yang didukung, dan batasan, lihat matriks dukungan.

Sebelum memulai

Lihat prasyarat dan matriks dukungan sebelum Anda memulai.

Membuat vault Pencadangan

Brankas cadangan adalah entitas penyimpanan di Azure yang menyimpan data cadangan untuk berbagai beban kerja yang lebih baru yang didukung Azure Backup, seperti server Azure Database for PostgreSQL, dan blob di penyimpanan akun, serta Azure Disk. Vault Backup memudahkan untuk mengatur data cadangan Anda, sambil meminimalkan overhead manajemen. Kubah cadangan didasarkan pada model Azure Resource Manager Azure, yang menyediakan kemampuan yang disempurnakan untuk membantu mengamankan data pencadangan.

Sebelum membuat brankas Microsoft Azure Backup, pilih redundansi penyimpanan data dalam brankas tersebut. Kemudian lanjutkan untuk membuat brankas Backup dengan redundansi penyimpanan dan lokasinya. Dalam artikel ini, kita akan membuat brankas Backup TestBkpVault, di wilayah westus, pada bagian grup sumber daya testBkpVaultRG. Gunakan perintah az dataprotection vault create untuk membuat brankas Microsoft Azure Backup. Pelajari selengkapnya tentang membuat kubah Cadangan.

az dataprotection backup-vault create -g testBkpVaultRG --vault-name TestBkpVault -l westus --type SystemAssigned --storage-settings datastore-type="VaultStore" type="LocallyRedundant"

{
  "eTag": null,
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault",
  "identity": {
    "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
    "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "type": "SystemAssigned"
  },
  "location": "westus",
  "name": "TestBkpVault",
  "properties": {
    "provisioningState": "Succeeded",
    "storageSettings": [
      {
        "datastoreType": "VaultStore",
        "type": "LocallyRedundant"
      }
    ]
  },
  "resourceGroup": "testBkpVaultRG",
  "systemData": null,
  "tags": null,
  "type": "Microsoft.DataProtection/backupVaults"
}

Penting

Meskipun Anda akan melihat redundansi penyimpanan Microsoft Azure Backup dari brankas, redundansi tersebut tidak diterapkan ke cadangan operasional blob. Hal ini karena cadangan bersifat lokal dan tidak ada data yang disimpan di brankas Microsoft Azure Backup. Di sini, brankas Microsoft Azure Backup adalah entitas manajemen untuk membantu Anda mengelola perlindungan blob blok di akun penyimpanan Anda.

Setelah membuat brankas, mari kita buat kebijakan Microsoft Azure Backup untuk melindungi Azure Blobs di akun penyimpanan.

Buat kebijakan pencadangan

Anda dapat membuat kebijakan pencadangan untuk pencadangan operasional dan pencadangan vault untuk Azure Blobs menggunakan Azure CLI.

Pilih tingkat cadangan:

Sebelum membuat kebijakan dan mengonfigurasi cadangan untuk Azure Blobs, lihat prasyarat.

Untuk memahami komponen dalam dari kebijakan Microsoft Azure Backup untuk pencadangan Azure Blob, ambil templat kebijakan menggunakan perintah az dataprotection backup-policy get-default-policy-template. Perintah ini mengembalikan templat kebijakan default untuk jenis sumber data tertentu. Gunakan templat kebijakan ini untuk membuat kebijakan baru.

az dataprotection backup-policy get-default-policy-template --datasource-type AzureBlob

{
  "datasourceTypes": [
    "Microsoft.Storage/storageAccounts/blobServices"
  ],
  "name": "BlobPolicy1",
  "objectType": "BackupPolicy",
  "policyRules": [
    {
      "isDefault": true,
      "lifecycles": [
        {
          "deleteAfter": {
            "duration": "P30D",
            "objectType": "AbsoluteDeleteOption"
          },
          "sourceDataStore": {
            "dataStoreType": "OperationalStore",
            "objectType": "DataStoreInfoBase"
          }
        }
      ],
      "name": "Default",
      "objectType": "AzureRetentionRule"
    }
  ]
}

Templat kebijakan hanya berisi siklus hidup (yang menentukan kapan harus menghapus/menyalin/memindahkan cadangan). Karena cadangan blob operasional bersifat terus-menerus, Anda tidak memerlukan jadwal untuk melakukan pencadangan.

"policyRules": [
    {
      "isDefault": true,
      "lifecycles": [
        {
          "deleteAfter": {
            "duration": "P30D",
            "objectType": "AbsoluteDeleteOption"
          },
          "sourceDataStore": {
            "dataStoreType": "OperationalStore",
            "objectType": "DataStoreInfoBase"
          }
        }
      ],
      "name": "Default",
      "objectType": "AzureRetentionRule"
    }
  ]

Catatan

Memulihkan selama durasi panjang dapat menyebabkan operasi pemulihan membutuhkan waktu lebih lama untuk diselesaikan. Selain itu, waktu yang diperlukan untuk memulihkan satu set data didasarkan pada jumlah operasi tulis dan hapus yang dilakukan selama periode pemulihan. Misalnya, akun yang memiliki satu juta objek dengan 3.000 objek ditambahkan per hari dan 1.000 objek yang dihapus per hari akan memerlukan sekitar dua jam untuk dipulihkan ke titik 30 hari di masa lalu.

Kami tidak menyarankan adanya periode retensi dan pemulihan yang lebih dari 90 hari di masa lalu untuk akun dengan tingkat perubahan ini.

Setelah kebijakan JSON memiliki semua nilai yang dibutuhkan, lanjutkan untuk membuat kebijakan baru dari objek kebijakan menggunakan perintah az dataprotection backup-policy create.

az dataprotection backup-policy get-default-policy-template --datasource-type AzureBlob > policy.json
az dataprotection backup-policy create -g testBkpVaultRG --vault-name TestBkpVault -n BlobBackup-Policy --policy policy.json

{
    "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/BlobBackup-Policy",
    "name": "BlobBackup-Policy",
    "properties": {
      "datasourceTypes": [
        "Microsoft.Storage/storageAccounts/blobServices"
      ],
      "objectType": "BackupPolicy",
      "policyRules": [
        {
          "isDefault": true,
          "lifecycles": [
            {
              "deleteAfter": {
                "duration": "P2D",
                "objectType": "AbsoluteDeleteOption"
              },
              "sourceDataStore": {
                "dataStoreType": "OperationalStore",
                "objectType": "DataStoreInfoBase"
              },
              "targetDataStoreCopySettings": []
            }
          ],
          "name": "Default",
          "objectType": "AzureRetentionRule"
        }
      ]
    },
    "resourceGroup": "testBkpVaultRG",
    "systemData": null,
    "type": "Microsoft.DataProtection/backupVaults/backupPolicies"
  }

Konfigurasikan pencadangan

Setelah vault dan kebijakan dibuat, ada dua poin penting yang perlu Anda pertimbangkan untuk melindungi semua Azure Blob dalam akun penyimpanan.

  • Entitas utama
  • Izin

Entitas utama

  • Akun penyimpanan yang berisi blob yang akan dilindungi: Ambil ID Azure Resource Manager dari akun penyimpanan yang berisi blob yang akan dilindungi. ID ini akan berfungsi sebagai pengidentifikasi akun penyimpanan. Kami akan menggunakan contoh akun penyimpanan bernama CLITestSA, di bawah grup sumber daya blobrg, dalam langganan yang berbeda yang ada di wilayah Asia Tenggara.

    "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"
    
  • Brankas cadangan: Brankas Cadangan memerlukan izin pada akun penyimpanan untuk mengaktifkan pencadangan pada blob yang ada dalam akun penyimpanan. Identitas terkelola yang ditetapkan sistem dari brankas digunakan untuk menetapkan izin tersebut.

Tetapkan izin

Anda perlu menetapkan beberapa izin melalui Azure RBAC ke vault yang dibuat (diwakili oleh MSI vault) dan akun penyimpanan yang relevan. Ini dapat dilakukan melalui Portal atau PowerShell. Pelajari selengkapnya tentang semua izin terkait.

Siapkan permintaan untuk mengonfigurasi cadangan blob

Setelah semua izin yang relevan diatur, konfigurasikan cadangan dengan menjalankan perintah berikut:

  1. Siapkan permintaan yang relevan dengan menggunakan vault, kebijakan, akun penyimpanan yang relevan menggunakan perintah az dataprotection backup-instance initialize .

    az dataprotection backup-instance initialize --datasource-type AzureBlob  -l southeastasia --policy-id "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/BlobBackup-Policy" --datasource-id "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA" > backup_instance.json
    
  2. Kirim permintaan menggunakan perintah az dataprotection backup-instance create .

    az dataprotection backup-instance create -g testBkpVaultRG --vault-name TestBkpVault --backup-instance backup_instance.json
    
    {
        "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupInstances/CLITestSA-CLITestSA-c3a2a98c-def8-44db-bd1d-ff6bc86ed036",
        "name": "CLITestSA-CLITestSA-c3a2a98c-def8-44db-bd1d-ff6bc86ed036",
        "properties": {
          "currentProtectionState": "ProtectionConfigured",
          "dataSourceInfo": {
            "datasourceType": "Microsoft.Storage/storageAccounts/blobServices",
            "objectType": "Datasource",
            "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA",
            "resourceLocation": "southeastasia",
            "resourceName": "CLITestSA",
            "resourceType": "Microsoft.Storage/storageAccounts",
            "resourceUri": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"
          },
          "dataSourceSetInfo": null,
          "friendlyName": "CLITestSA",
          "objectType": "BackupInstance",
          "policyInfo": {
            "policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/BlobBackup-Policy",
            "policyParameters": {
              "dataStoreParametersList": [
                {
                  "dataStoreType": "OperationalStore",
                  "objectType": "AzureOperationalStoreParameters",
                  "resourceGroupId": ""
                }
              ]
            },
            "policyVersion": ""
          },
          "protectionErrorDetails": null,
          "protectionStatus": {
            "errorDetails": null,
            "status": "ProtectionConfigured"
          },
          "provisioningState": "Succeeded"
        },
        "resourceGroup": "testBkpVaultRG",
        "systemData": null,
        "type": "Microsoft.DataProtection/backupVaults/backupInstances"
      }
    

Penting

Setelah akun penyimpanan dikonfigurasi untuk cadangan blob, beberapa kemampuan seperti umpan perubahan dan kunci penghapusan terpengaruh. Pelajari selengkapnya.

Memperbarui instans cadangan

Setelah mengonfigurasi cadangan, Anda dapat mengubah kebijakan terkait dengan instans cadangan. Untuk cadangan vault, Anda juga dapat mengubah kontainer yang dipilih untuk cadangan.

Untuk memperbarui instans cadangan, jalankan perintah berikut:

  1. Validasi apakah instans cadangan siap untuk mengonfigurasi cadangan dengan menggunakan perintah az dataprotection backup-instance validate-for-backup . Perintah gagal jika instans cadangan belum siap.
  2. Ubah kebijakan Pencadangan yang digunakan untuk mencadangkan Azure Blobs dengan menggunakan pembaruan instans cadangan perlindungan data az. Tentukan item cadangan yang relevan dan kebijakan pencadangan baru.

Langkah berikutnya

Memulihkan Azure Blob menggunakan Azure CLI