Zálohování objektů blob Azure v účtu úložiště pomocí Azure CLI

Tento článek popisuje, jak zálohovat objekty blob Azure pomocí Azure CLI. Teď můžete provádět provozní a trezorované zálohy, které chrání objekty blob bloku v účtech úložiště pomocí služby Azure Backup.

Informace o dostupnosti oblastí Azure Blobs, podporovaných scénářích a omezeních najdete v matici podpory.

Než začnete

Než začnete, podívejte se na požadavky a matici podpory.

Vytvoření trezoru služby Backup

Trezor služby Backup je entita úložiště v Azure, která ukládá zálohovaná data pro různé novější úlohy, které Azure Backup podporuje, jako jsou servery Azure Database for PostgreSQL, a objekty blob v účtu úložiště a disky Azure. Trezory záloh usnadňují uspořádání zálohovaných dat a zároveň minimalizují režijní náklady na správu. Trezory záloh jsou založené na modelu Azure Resource Manageru v Azure, který poskytuje vylepšené možnosti, které pomáhají zabezpečit zálohovaná data.

Před vytvořením trezoru služby Backup zvolte redundanci úložiště dat v rámci trezoru. Pak pokračujte vytvořením trezoru služby Backup s danou redundancí úložiště a umístěním. V tomto článku vytvoříme trezor záloh TestBkpVault v oblasti westus v rámci skupiny prostředků testBkpVaultRG. K vytvoření trezoru služby Backup použijte příkaz az dataprotection vault create. Přečtěte si další informace o vytváření trezoru služby Backup.

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": "2ca1d5f7-38b3-4b61-aa45-8147d7e0edbc",
    "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"
}

Důležité

I když uvidíte redundanci úložiště zálohování trezoru, redundance se nevztahuje na provozní zálohování objektů blob. Důvodem je to, že zálohování je místní a v trezoru služby Backup se neukládají žádná data. Trezor služby Backup je entita pro správu, která vám pomůže spravovat ochranu objektů blob bloku v účtech úložiště.

Po vytvoření trezoru vytvoříme zásadu zálohování pro ochranu objektů blob Azure v účtu úložiště.

Vytvoření zásad zálohování

Pomocí Azure CLI můžete vytvořit zásady zálohování pro provozní zálohování a trezorované zálohování objektů blob Azure.

Zvolte úroveň zálohování:

Než vytvoříte zásadu a nakonfigurujete zálohy pro objekty blob Azure, prohlédnou si požadavky.

Pokud chcete porozumět vnitřním komponentám zásad zálohování pro zálohování objektů blob Azure, načtěte šablonu zásad pomocí příkazu az dataprotection backup-policy get-default-policy-template . Tento příkaz vrátí výchozí šablonu zásad pro daný typ zdroje dat. Pomocí této šablony zásad můžete vytvořit novou zásadu.

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"
    }
  ]
}

Šablona zásad se skládá pouze z životního cyklu (který se rozhodne, kdy se má záloha odstranit, zkopírovat nebo přesunout). Vzhledem k tomu, že provozní zálohování objektů blob je v podstatě průběžné, nepotřebujete k provádění záloh plán.

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

Poznámka:

Obnovení v průběhu dlouhých dob může vést k tomu, že dokončení operací obnovení trvá déle. Doba potřebná k obnovení sady dat je také založena na počtu operací zápisu a odstranění provedených během období obnovení. Například účet s jedním milionem objektů s 3 000 přidanými objekty za den a 1 000 odstraněných objektů za den bude vyžadovat obnovení do bodu 30 dnů v minulosti přibližně dvě hodiny.

Pro účet s touto mírou změn nedoporučujeme dobu uchovávání a obnovení za posledních 90 dnů.

Jakmile json zásady obsahuje všechny požadované hodnoty, pokračujte vytvořením nové zásady z objektu zásad pomocí příkazu 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"
  }

Konfigurace zálohování

Po vytvoření trezoru a zásad je potřeba zvážit ochranu všech objektů blob Azure v rámci účtu úložiště ve dvou kritických bodech.

  • Klíčové entity
  • Oprávnění

Klíčové entity

  • Účet úložiště obsahující objekty blob, které se mají chránit: Načtěte ID Azure Resource Manageru účtu úložiště, který obsahuje objekty blob, které se mají chránit. Bude sloužit jako identifikátor účtu úložiště. V jiném předplatném, které se nachází v oblasti Jihovýchodní Asie, použijeme příklad účtu úložiště s názvem CLITestSA v objektu blobrg skupiny prostředků.

    "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"
    
  • Trezor záloh: Trezor služby Backup vyžaduje oprávnění k účtu úložiště, aby bylo možné zálohovat objekty blob, které jsou přítomné v rámci účtu úložiště. Spravovaná identita trezoru přiřazená systémem se používá k přiřazení těchto oprávnění.

Přiřazení uživatelských oprávnění

K vytvořenému trezoru (reprezentovaným MSI trezoru) a příslušnému účtu úložiště je potřeba přiřadit několik oprávnění prostřednictvím Azure RBAC. Ty je možné provést prostřednictvím portálu nebo PowerShellu. Přečtěte si další informace o všech souvisejících oprávněních.

Příprava požadavku na konfiguraci zálohování objektů blob

Jakmile nastavíte všechna příslušná oprávnění, nakonfigurujte zálohování spuštěním následujících příkazů:

  1. Připravte relevantní požadavek pomocí příslušného trezoru, zásad a účtu úložiště pomocí příkazu 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. Odešlete požadavek pomocí příkazu 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"
      }
    

Důležité

Jakmile je účet úložiště nakonfigurovaný pro zálohování objektů blob, ovlivní to několik funkcí, jako je kanál změn a zámek odstranění. Další informace.

Další kroky

Obnovení objektů blob Azure pomocí Azure CLI