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.

Důležité

Podpora zálohování a obnovení objektů blob Azure prostřednictvím rozhraní příkazového řádku je ve verzi Preview a k dispozici jako rozšíření ve verzi Az 2.15.0 a novějších verzích. Rozšíření se automaticky nainstaluje při spuštění příkazů az dataprotection . Přečtěte si další informace o rozšířeních.

V tomto článku se naučíte:

  • Než začnete

  • Vytvoření trezoru služby Backup

  • Vytvoření zásady zálohování

  • Konfigurace zálohování objektu blob Azure

  • Spuštění úlohy zálohování na vyžádání

Informace o dostupnosti, podporovaných scénářích a omezeních v oblastech objektů blob Azure najdete v matici podpory.

Než začnete

Než začnete, projděte si požadavky a matici podpory .

Vytvoření trezoru služby Backup

Trezor záloh je entita úložiště v Azure, která ukládá zálohovaná data pro různé novější úlohy, které Azure Backup podporují, 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žii na správu. Trezory záloh jsou založené na modelu Azure Resource Manager Azure, který poskytuje rozšíř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 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. Pomocí příkazu az dataprotection vault create vytvořte trezor služby Backup. Přečtěte si další informace o vytvoř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ž se zobrazí redundance úložiště zálohování trezoru, tato redundance se nevztahuje na provozní zálohování objektů blob. Důvodem je to, že zálohování je místní povahy a v trezoru služby Backup se neukládají žádná data. V této části je trezor služby Backup entitou správy, 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ásady zálohování

Důležité

Před vytvořením zásad a konfigurací záloh pro objekty blob Azure si přečtěte tuto část .

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 vytvořte 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ý rozhoduje o tom, kdy se má záloha odstranit, zkopírovat nebo přesunout). Vzhledem k tomu, že provozní zálohování objektů blob je ze své podstaty průběžné, nepotřebujete k provádění zálohování plán.

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

Poznámka

Obnovení po dlouhou dobu může vést k tomu, že operace obnovení budou trvat déle. Doba potřebná k obnovení sady dat závisí také na počtu operací zápisu a odstranění provedených během období obnovení. Například účet s milionem objektů s 3 000 objekty přidanými za den a 1 000 odstraněnými objekty za den bude k obnovení do bodu 30 dnů v minulosti potřebovat přibližně dvě hodiny.

Pro účet s touto mírou změn nedoporučujeme dobu uchovávání a obnovení delší než 90 dnů v minulosti.

Jakmile má json zásady 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 vzít v úvahu dva důležité body, které je potřeba zvážit při ochraně všech objektů blob Azure v rámci účtu úložiště.

Zahrnuté klíčové entity

Účet úložiště obsahující objekty blob, které se mají chránit

Načtěte ID azure Resource Manager účtu úložiště, který obsahuje objekty blob, které se mají chránit. Bude sloužit jako identifikátor účtu úložiště. Použijeme příklad účtu úložiště s názvem CLITestSA v části blobrg skupiny prostředků v jiném předplatném, které je přítomné v oblasti jihovýchodní Asie.

"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"

Trezor služby Backup

Trezor služby Backup vyžaduje oprávnění k účtu úložiště, aby bylo možné zálohovat objekty blob, které jsou v účtu úložiště. Pro přiřazení takových oprávnění se používá spravovaná identita trezoru přiřazená systémem.

Přiřazení oprávnění

K trezoru (reprezentované msi trezoru) a příslušnému účtu úložiště musíte prostřednictvím RBAC přiřadit několik oprávnění. Můžete je 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

Po nastavení všech příslušných oprávnění se konfigurace zálohování provede ve 2 krocích. Nejprve připravíme příslušný požadavek pomocí příslušného účtu trezoru, zásady a účtu úložiště pomocí příkazu az dataprotection backup-instance initialize . Potom odešleme žádost o ochranu disku pomocí příkazu az dataprotection backup-instance create .

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