Eseguire il backup di Azure Managed Disks usando Azure PowerShell

Questo articolo illustra come eseguire il backup di Azure Managed Disk usando Azure PowerShell.

In questo articolo si apprenderà come:

  • Creare un insieme di credenziali di backup

  • Creare un criterio di backup

  • Configurare un backup di un disco di Azure

  • Eseguire un processo di backup su richiesta

Per informazioni sulla disponibilità dell'area di backup del disco di Azure, gli scenari e le limitazioni supportati, vedere la matrice di supporto.

Creare un insieme di credenziali di backup

Un insieme di credenziali di backup è un'entità di archiviazione in Azure che contiene dati di backup per vari carichi di lavoro più recenti che Backup di Azure supporta, ad esempio server Database di Azure per PostgreSQL e dischi di Azure. Gli insiemi di credenziali di backup semplificano l'organizzazione dei dati di backup, riducendo al minimo il carico di gestione. Gli insiemi di credenziali di backup si basano sul modello di 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 dell'archiviazione dei dati all'interno dell'insieme di credenziali. Procedere quindi per creare l'insieme di credenziali di backup con tale ridondanza dell'archiviazione e la posizione. In questo articolo verrà creato un insieme di credenziali di backup "TestBkpVault" nell'area "westus" nel gruppo di risorse "testBkpVaultRG". Usare il comando New-AzDataProtectionBackupVault per creare un insieme di credenziali di backup. Altre informazioni sulla creazione di un insieme di credenziali di backup.

$storageSetting = New-AzDataProtectionBackupVaultStorageSettingObject -Type LocallyRedundant/GeoRedundant -DataStoreType VaultStore
New-AzDataProtectionBackupVault -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Location westus -StorageSetting $storageSetting
$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault
$TestBKPVault | fl
ETag                :
Id                  : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault
Identity            : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.DppIdentityDetails
IdentityPrincipalId :
IdentityTenantId    :
IdentityType        :
Location            : westus
Name                : TestBkpVault
ProvisioningState   : Succeeded
StorageSetting      : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.StorageSetting}
SystemData          : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SystemData
Tag                 : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.DppTrackedResourceTags
Type                : Microsoft.DataProtection/backupVaults

Dopo la creazione dell'insieme di credenziali, verrà creato un criterio di backup per proteggere i dischi di Azure.

Creare criteri di backup

Per comprendere i componenti interni di un criterio di backup per il backup del disco di Azure, recuperare il modello di criterio usando il comando Get-AzDataProtectionPolicyTemplate. Questo comando restituisce un modello di criterio predefinito per un determinato tipo di origine dati. Usare questo modello di criterio per creare un nuovo criterio.

$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureDisk
$policyDefn | fl


DatasourceType : {Microsoft.Compute/disks}
ObjectType     : BackupPolicy
PolicyRule     : {BackupHourly, Default}

$policyDefn.PolicyRule | fl


BackupParameter           : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType       : DataStoreInfoBase
DataStoreType             : OperationalStore
Name                      : BackupHourly
ObjectType                : AzureBackupRule
Trigger                   : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext
TriggerObjectType         : ScheduleBasedTriggerContext

IsDefault  : True
Lifecycle  : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle}
Name       : Default
ObjectType : AzureRetentionRule

Il modello di criteri è costituito da un trigger (che determina quali attiva il backup) e un ciclo di vita (che decide quando eliminare/copiare/spostare il backup). Nel backup del disco di Azure il valore predefinito per il trigger è un trigger orario pianificato per ogni 4 ore (PT4H) e per conservare ogni backup per 7 giorni.

 $policyDefn.PolicyRule[0].Trigger | fl


ObjectType                    : ScheduleBasedTriggerContext
ScheduleRepeatingTimeInterval : {R/2020-04-05T13:00:00+00:00/PT4H}
TaggingCriterion              : {Default}
$policyDefn.PolicyRule[1].Lifecycle | fl


DeleteAfterDuration        : P7D
DeleteAfterObjectType      : AbsoluteDeleteOption
SourceDataStoreObjectType  : DataStoreInfoBase
SourceDataStoreType        : OperationalStore
TargetDataStoreCopySetting :

Il backup di dischi di Azure offre più backup al giorno. Se sono necessari backup più frequenti, scegliere la frequenza di backup oraria con la possibilità di eseguire backup con intervalli di ogni 4, 6, 8 o 12 ore. I backup vengono pianificati in base all'intervallo di Tempo selezionato. Ad esempio, se si seleziona Ogni 4 ore, i backup vengono eseguiti approssimativamente nell'intervallo di ogni 4 ore in modo che i backup vengano distribuiti equamente nel giorno. Se un backup una volta al giorno è sufficiente, scegliere la frequenza di backup giornaliera . Nella frequenza di backup giornaliera è possibile specificare l'ora del giorno in cui vengono eseguiti i backup. Tenere presente che l'ora del giorno indica l'ora di inizio e non l'ora di completamento del backup. Il tempo necessario per completare l'operazione di backup dipende da vari fattori, tra cui le dimensioni del disco e la frequenza di varianza tra i backup consecutivi. Tuttavia, il backup del disco di Azure è un backup senza agente che usa snapshot incrementali, che non influisce sulle prestazioni dell'applicazione di produzione.

Nota

Anche se l'insieme di credenziali selezionato potrebbe avere l'impostazione di ridondanza globale, attualmente Backup dischi di Azure supporta solo l'archivio dati snapshot. Tutti i backup vengono archiviati in un gruppo di risorse nella sottoscrizione e non vengono copiati nell'archivio dell'insieme di credenziali di backup.

Per altre informazioni dettagliate sulla creazione dei criteri, vedere il documento dei criteri di Backup dischi di Azure .

Se si vuole modificare la frequenza oraria o il periodo di conservazione, usare i comandi Edit-AzDataProtectionPolicyTriggerClientObject e/o Edit-AzDataProtectionPolicyRetentionRuleClientObject . Dopo che l'oggetto criteri ha tutti i valori desiderati, procedere per creare un nuovo criterio dall'oggetto criteri usando New-AzDataProtectionBackupPolicy.

New-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name diskBkpPolicy -Policy $policyDefn

Name                   Type
----                   ----
diskBkpPolicy       Microsoft.DataProtection/backupVaults/backupPolicies

$diskBkpPol = Get-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "diskBkpPolicy"

Configurare il backup

Dopo aver creato l'insieme di credenziali e i criteri, sono presenti 3 punti critici che l'utente deve considerare per proteggere un disco di Azure.

Entità chiave coinvolte

Disco da proteggere

Recuperare l'ID ARM del disco da proteggere. Questo funzionerà come identificatore del disco. Verrà usato un esempio di disco denominato "PSTestDisk" in un gruppo di risorse "diskrg" in una sottoscrizione diversa.

$DiskId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/PSTestDisk"

Gruppo di risorse snapshot

Gli snapshot del disco vengono archiviati in un gruppo di risorse all'interno della sottoscrizione. Come linea guida, è consigliabile creare un gruppo di risorse dedicato come archivio dati snapshot da usare dal servizio Backup di Azure. La presenza di un gruppo di risorse dedicato consente di limitare le autorizzazioni di accesso nel gruppo di risorse, offrendo sicurezza e facilità di gestione dei dati di backup. Si noti l'ID arm per il gruppo di risorse in cui si desidera inserire gli snapshot del disco

$snapshotrg = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/snapshotrg"

Insieme di credenziali per il backup

Gli insiemi di credenziali di backup richiedono autorizzazioni sul disco e sul gruppo di risorse snapshot per poter attivare snapshot e gestire il ciclo di vita. L'identità gestita assegnata dal sistema dell'insieme di credenziali viene usata per assegnare tali autorizzazioni. Usare il comando Update-AzRecoveryServicesVault per abilitare l'identità gestita assegnata dal sistema per l'insieme di credenziali dei servizi di ripristino.

Assegnare le autorizzazioni

L'utente deve assegnare poche autorizzazioni tramite controllo degli accessi in base al ruolo dell'insieme di credenziali (rappresentato dall'identità del servizio gestito dell'insieme di credenziali) e il disco e/o il disco RG. Queste operazioni possono essere eseguite tramite il portale o PowerShell.

L'insieme di credenziali di backup usa l'identità gestita per accedere ad altre risorse di Azure. Per configurare il backup dei dischi gestiti, l'identità gestita dell'insieme di credenziali di backup richiede un set di autorizzazioni per i dischi di origine e i gruppi di risorse, in cui vengono creati e gestiti gli snapshot.

Un'identità gestita assegnata dal sistema è limitata a una per risorsa ed è associata al ciclo di vita di questa risorsa. È possibile concedere autorizzazioni all'identità gestita usando il controllo degli accessi in base al ruolo di Azure. Un'identità gestita è un'entità servizio di un tipo speciale che è possibile usare solo con le risorse di Azure. Vedere altre informazioni sulle identità gestite.

Per configurare il backup dei dischi gestiti, verificare i prerequisiti seguenti:

  • Assegnare il ruolo Lettore backup disco all'identità gestita dell'insieme di credenziali di backup nel disco di origine che deve essere eseguito il backup.

    1. Passare al disco che deve essere eseguito il backup.

    2. Passare a Controllo di accesso (IAM) e selezionare Aggiungi assegnazioni di ruolo.

    3. Nel riquadro di contesto destro selezionare Lettore backup disco nell'elenco a discesa Ruolo .

    4. Selezionare l'identità gestita dell'insieme di credenziali di backup e fare clic su Salva.

      Suggerimento

      Digitare il nome dell'insieme di credenziali di backup per selezionare l'identità gestita dell'insieme di credenziali.

    Screenshot showing the process to assign the Disk Backup Reader role to Backup vault’s managed identity on the Source disk that needs to be backed up.

  • Assegnare il ruolo Collaboratore snapshot disco all'identità gestita dell'insieme di credenziali di backup nel gruppo di risorse, in cui i backup vengono creati e gestiti dal servizio Backup di Azure. Gli snapshot del disco vengono archiviati in un gruppo di risorse all'interno della sottoscrizione. Per consentire Backup di Azure servizio di creare, archiviare e gestire snapshot, è necessario fornire le autorizzazioni per l'insieme di credenziali di backup.

    1. Passare al gruppo di risorse. Ad esempio, il gruppo di risorse è SnapshotRG, che si trova nella stessa sottoscrizione del disco da eseguire il backup.

    2. Passare a Controllo di accesso (IAM) e selezionare Aggiungi assegnazioni di ruolo.

    3. Nel riquadro di contesto destro selezionare Collaboratore snapshot disco nell'elenco a discesa Ruolo .

    4. Selezionare l'identità gestita dell'insieme di credenziali di backup e fare clic su Salva.

      Suggerimento

      Digitare il nome dell'insieme di credenziali di backup per selezionare l'identità gestita dell'insieme di credenziali.

    Screenshot showing the process to assign the Disk Snapshot Contributor role to the Backup vault’s managed identity on the resource group.

  • Verificare che l'identità gestita dell'insieme di credenziali di backup disponga del set corretto di assegnazioni di ruolo nel disco di origine e nel gruppo di risorse che funge da archivio dati snapshot.

    1. Passare all'insieme di credenziali di backup ->Identity e selezionare Assegnazioni di ruolo di Azure.

      Screenshot showing the selection of Azure role assignments.

    2. Verificare che il ruolo, il nome della risorsa e il tipo di risorsa siano corretti.

      Screenshot showing the verification of role, resource name, and resource type.

Nota

Anche se le assegnazioni di ruolo vengono riflesse correttamente nel portale, potrebbe richiedere circa 15 - 30 minuti per l'autorizzazione da applicare sull'identità gestita dell'insieme di credenziali di backup.

Preparare la richiesta

Dopo aver impostato tutte le autorizzazioni pertinenti, la configurazione del backup viene eseguita in 2 passaggi. Prima di tutto, si prepara la richiesta pertinente usando il gruppo di risorse di insieme di credenziali, criteri, disco e snapshot pertinenti usando il comando Initialize-AzDataProtectionBackupInstance . Invia quindi la richiesta per proteggere il disco usando il comando New-AzDataProtectionBackupInstance .

$instance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureDisk -DatasourceLocation $TestBkpvault.Location -PolicyId $diskBkpPol[0].Id -DatasourceId $DiskId 
$instance.Property.PolicyInfo.PolicyParameter.DataStoreParametersList[0].ResourceGroupId = $snapshotrg
New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $instance

Name                                                       Type                                                  BackupInstanceName
----                                                       ----                                                  ------------------
diskrg-PSTestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166 Microsoft.DataProtection/backupVaults/backupInstances diskrg-PSTestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166

Eseguire un backup su richiesta

Recuperare l'istanza di backup pertinente in cui l'utente desidera attivare un backup usando Get-AzDataProtectionBackupInstance

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "BackupInstanceName"

È possibile specificare una regola di conservazione durante l'attivazione del backup. Per visualizzare le regole di conservazione nei criteri, passare all'oggetto criteri per le regole di conservazione. Nell'esempio seguente viene visualizzata la regola con il nome 'default' e verrà usata tale regola per il backup su richiesta

$policyDefn.PolicyRule | fl


BackupParameter           : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType       : DataStoreInfoBase
DataStoreType             : OperationalStore
Name                      : BackupHourly
ObjectType                : AzureBackupRule
Trigger                   : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext
TriggerObjectType         : ScheduleBasedTriggerContext

IsDefault  : True
Lifecycle  : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle}
Name       : Default
ObjectType : AzureRetentionRule

Attivare un backup su richiesta usando il comando Backup-AzDataProtectionBackupInstanceAdhoc .

$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name
Backup-AzDataProtectionBackupInstanceAdhoc -BackupInstanceName $AllInstances[0].Name -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupRuleOptionRuleName "Default"

Rilevamento dei processi

Tenere traccia di tutti i processi usando il comando Get-AzDataProtectionJob . È possibile elencare tutti i processi e recuperare un particolare dettaglio del processo.

È anche possibile usare Az.ResourceGraph per tenere traccia di tutti i processi in tutti gli insiemi di credenziali di backup. Usare il comando Search-AzDataProtectionJobInAzGraph per ottenere il processo pertinente che può essere in qualsiasi insieme di credenziali di backup.

  $job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureDisk -Operation OnDemandBackup

Passaggi successivi