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ů:
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
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.