Backup di Managed Disks di Azure con Microsoft Azure PowerShell

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

In questo articolo si apprenderà come:

  • Creare un insieme di credenziali per il backup

  • Creare un criterio di backup

  • Configurare un backup di un disco di Azure

  • Eseguire un processo di backup su richiesta

Per informazioni sulle aree di disponibilità, sugli scenari supportati e sulle limitazioni del backup di dischi di Azure, vedere la matrice di supporto.

Creare un insieme di credenziali per il backup

Un insieme di credenziali di Backup è un'entità di archiviazione in Azure che conserva i dati di backup per vari carichi di lavoro più recenti supportati da Backup di Azure, ad esempio i server di Database di Azure per PostgreSQL e i 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 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 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 aver creato un insieme di credenziali, verrà creato un criterio di backup per proteggere i dischi di Azure.

Creare un criterio di backup

Per informazioni sui componenti interni di un criterio di backup per il backup dei dischi di Azure, recuperare il modello di criteri usando il comando Get-AzDataProtectionPolicyTemplate. 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.

$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 cosa attiva il backup) e un ciclo di vita (che decide quando eliminare/copiare/spostare il backup). Nel backup su 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 il backup con frequenza Oraria con la possibilità di eseguire backup con intervalli di 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 durante il giorno. Se è sufficiente un backup una volta al giorno, scegliere Giornaliero come frequenza di backup. Nella frequenza dei backup giornalieri, è possibile specificare l'ora del giorno in cui vengono effettuati 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 varianza tra i backup consecutivi. Comunque, il backup di dischi di Azure è un backup agentless che usa snapshot incrementali, che non incidono sulle prestazioni dell'applicazione in produzione.

Nota

  • Anche se l'insieme di credenziali selezionato può avere l'impostazione di ridondanza globale, attualmente Backup dei 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 i dischi di Azure appartenenti a SKU HDD Standard, SSD Standard e SSD Premium, è possibile definire la pianificazione del backup con frequenza Oraria (di 1, 2, 4, 6, 8 o 12 ore) e frequenza Giornaliera.
  • Per i dischi di Azure appartenenti agli SKU premium V2 e Ultra Disk, è possibile definire la pianificazione del backup con frequenza Oraria di sole 12 ore e frequenza Giornaliera.

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

Se si desidera modificare la frequenza oraria o il periodo di conservazione, usare i comandi Edit-AzDataProtectionPolicyTriggerClientObject e/o Edit-AzDataProtectionPolicyRetentionRuleClientObject. Quando l’oggetto criteri include tutti i valori desiderati, procedere con la creazione di 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 necessari 3 punti critici da considerare per proteggere un disco di Azure.

Entità chiave coinvolte

Disco da proteggere

Recuperare l'ID ARM del disco da proteggere. Verrà usato 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 dello snapshot

Gli snapshot del disco vengono archiviati in un gruppo di risorse nella sottoscrizione. Come linea guida, è consigliabile creare un gruppo di risorse dedicato come archivio dati snapshot da usare dal servizio Backup di Azure. La disponibilità di un gruppo di risorse dedicato consente di limitare le autorizzazioni di accesso per il gruppo di risorse, offrendo sicurezza e facilità di gestione dei dati di backup. Prendere nota dell'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 gli 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 autorizzazioni

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

L'insieme di credenziali di Backup usa un'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 è legata al ciclo di vita di tale 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 di backup del disco per il backup dell'identità gestita dell'insieme di credenziali nel disco di origine di cui è necessario eseguire il backup.

    1. Passare al disco di cui è necessario eseguire il backup.

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

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

    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 che mostra il processo per assegnare il ruolo lettore di backup del disco all'identità gestita dell'insieme di credenziali di backup nel disco di origine di cui è necessario eseguire il backup.

  • 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 nella sottoscrizione. Per consentire al servizio Backup di Azure di creare, archiviare e gestire gli snapshot, è necessario fornire le autorizzazioni per l'insieme di credenziali di backup.

    1. Passare al gruppo Risorse. Ad esempio, il gruppo di risorse è SnapshotRG, che si trova nella stessa sottoscrizione del disco di cui 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 che mostra il processo per assegnare il ruolo Collaboratore snapshot disco all'identità gestita dell'insieme di credenziali di backup nel gruppo di risorse.

  • 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 a Insieme di credenziali di backup ->Identità e selezionare Assegnazioni di ruolo di Azure.

      Screenshot che mostra la selezione delle assegnazioni di ruolo di Azure.

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

      Screenshot che mostra la verifica del ruolo, del nome della risorsa e del tipo di risorsa.

Nota

Anche se le assegnazioni di ruolo vengono riflesse correttamente nel portale, potrebbero essere necessari circa 15 - 30 minuti affinché l'autorizzazione venga applicata all'identità gestita nell'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 l'insieme di credenziali, i criteri, il disco e il gruppo di risorse snapshot pertinenti usando il comando Initialize-AzDataProtectionBackupInstance. Inviare 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 nome 'default' e verrà usata 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 dettaglio particolare di un processo.

È possibile anche usare Az.ResourceGraph per tenere traccia dei processi in tutti gli insiemi di credenziali di Backup. Usare il comando Search-AzDataProtectionJobInAzGraph per recuperare il processo pertinente, che può trovarsi in qualunque insieme di credenziali di backup.

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

Passaggi successivi