Eseguire il backup dei blob di Azure in un account di archiviazione usando interfaccia della riga di comando di Azure

Questo articolo descrive come eseguire il backup di BLOB di Azure usando l'interfaccia della riga di comando di Azure. È ora possibile eseguire backup operativi e con insieme di credenziali per proteggere i BLOB in blocchi negli account di archiviazione usando Backup di Azure. È anche possibile configurare il backup usando l'API REST.

Per informazioni sulla disponibilità delle aree BLOB di Azure, sugli scenari supportati e sulle limitazioni, vedere la matrice di supporto.

Prima di iniziare

Prima di iniziare, vedere la matrice dei prerequisiti e del supporto .

Per configurare la protezione automatica per contenitori presenti e futuri, installa l'estensione interfaccia della riga di comando di Azure dataprotection versione 1.10.0 o successiva.

Crea un archivio di backup

Il backup vault è un'entità di archiviazione in Azure che archivia i dati di backup per vari nuovi carichi di lavoro supportati da Backup di Azure, ad esempio i server Database di Azure per PostgreSQL, i BLOB in un account di archiviazione e i dischi di Azure. Le cassaforti di backup semplificano l'organizzazione dei dati di backup, riducendo al minimo gli oneri di gestione. Gli archivi di backup si basano sul modello Azure Resource Manager di Azure, che offre funzionalità avanzate per proteggere i dati di backup.

Prima di creare un insieme di credenziali di Backup, scegliere la ridondanza di archiviazione dei dati all'interno dell'insieme di credenziali. Procedere quindi con la creazione dell'insieme di credenziali di Backup con la ridondanza di archiviazione e il percorso. In questo articolo, creeremo una cassetta di backup TestBkpVault, nell'area westus, nel gruppo di risorse testBkpVaultRG. Usare il comando az dataprotection vault create per creare un vault di backup. Ulteriori informazioni sulla creazione di un archivio di 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": "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"
}

Importante

Anche se la ridondanza dell'archivio di backup dell'insieme di credenziali risulterà visibile, la ridondanza non si applica al backup operativo dei BLOB perché il backup è di natura locale e nessun dato viene archiviato nell'insieme di credenziali di Backup. Qui il Backup vault è l'entità di gestione usata per gestire la protezione dei BLOB a blocchi nei tuoi account di archiviazione.

Dopo aver creato un insieme di credenziali, creiamo un criterio di backup per proteggere i BLOB di Azure in un account di archiviazione.

Creare un criterio di backup

È possibile creare un criterio di backup per il backup operativo e il backup archiviato per i BLOB di Azure usando interfaccia della riga di comando di Azure.

Scegliere un livello di backup:

Prima di creare i criteri e configurare i backup per i BLOB di Azure, vedere i prerequisiti.

Per informazioni sui componenti interni di un criterio di backup per il backup del database dei BLOB di Azure, recuperare il modello di criteri usando il comando az dataprotection backup-policy get-default-policy-template. Questo comando restituisce un modello di criteri predefinito per un determinato tipo di origine dati. Usare questo modello di criterio per creare un nuovo criterio.

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

Il modello di criteri è costituito solo da un ciclo di vita (che determina quando eliminare/copiare/spostare il backup). Poiché il backup operativo per i BLOB è di natura continua, non è necessaria una pianificazione per eseguire i backup.

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

Nota

Periodi di ripristino lunghi possono comportare l'incremento del tempo necessario al completamento delle operazioni di ripristino. Inoltre, il tempo impiegato per ripristinare un set di dati si basa sul numero di operazioni di scrittura ed eliminazione eseguite durante il periodo di ripristino. Ad esempio, un account con un milione di oggetti e con 3.000 oggetti aggiunti e 1.000 oggetti eliminati al giorno richiederà circa due ore per il ripristino a un punto corrispondente a 30 giorni nel passato.

Non è consigliabile definire un periodo di conservazione e un ripristino superiore a 90 giorni nel passato per un account con questa frequenza di modifica.

Dopo che il file JSON dei criteri ha tutti i valori necessari, procedere con la creazione di un nuovo criterio dall'oggetto criteri usando il comando 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"
  }

Configurare il backup

Una volta creati l'insieme di credenziali e il criterio, ci sono due punti critici da considerare per proteggere tutti i BLOB di Azure all'interno di un account di archiviazione.

  • Entità chiave
  • Autorizzazioni

Entità chiave

  • Account di archiviazione contenente i BLOB da proteggere: recuperare l'ID di Azure Resource Manager dell'account di archiviazione che contiene i BLOB da proteggere. Verrà usato come identificatore dell'account di archiviazione. Verrà usato un esempio di account di archiviazione denominato CLITestSA, sotto il gruppo di risorse blobrg, in una sottoscrizione diversa ubicata nell'area del Sud-est asiatico.

    "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"
    
  • Backup vault: Il Backup vault richiede autorizzazioni sull’account di archiviazione per abilitare i backup nei BLOB presenti nell'account di archiviazione. L'identità gestita assegnata dal sistema del vault viene utilizzata per assegnare tali autorizzazioni.

Assegnare autorizzazioni

È necessario assegnare alcune autorizzazioni tramite Azure RBAC al vault creato (rappresentato dall'MSI del vault) e al relativo account di archiviazione. Queste operazioni possono essere eseguite tramite il portale o PowerShell. Altre informazioni su tutte le autorizzazioni correlate.

Prepara la richiesta per configurare il backup dei blob

Dopo aver impostato tutte le autorizzazioni pertinenti, configurare il backup eseguendo i comandi seguenti:

  1. Preparare la richiesta usando l'insieme di credenziali, i criteri e l'account di archiviazione pertinenti usando il comando 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. Inviare la richiesta usando il comando 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"
      }
    

Importante

Dopo che un account di archiviazione è stato configurato per il backup dei blob, alcune funzionalità, come il feed di modifiche e il blocco di eliminazione, subiscono modifiche. Altre informazioni.

Aggiornare un'istanza di backup

Dopo aver configurato il backup, puoi modificare la policy associata con un'istanza di backup. Per i backup vaulted, puoi anche modificare i container selezionati per il backup o scegliere di proteggere automaticamente i container fino al limite supportato. Selezionare la protezione automatica per tutti i contenitori presenti e futuri è permanente, e non puoi tornare alle opzioni di selezione del contenitore precedenti.

Per aggiornare l'istanza di backup, eseguire il comando seguente:

  1. Verificare se l'istanza di backup è pronta per la configurazione del backup usando il comando az dataprotection backup-instance validate-for-backup . Il comando ha esito negativo se l'istanza di backup non è pronta.
  2. Modificare i criteri di backup usati per eseguire il backup dei BLOB di Azure usando az dataprotection backup-instance update. Specificare l'elemento di backup pertinente e i nuovi criteri di backup.

Passaggi successivi

Ripristinare i BLOB di Azure usando l'interfaccia della riga di comando di Azure.

Ripristino dei BLOB di Azure con Backup di Azure usando il portale di Azure, Azure PowerShell, l'API REST.