Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come eseguire il backup del database PostgreSQL di Azure usando Azure PowerShell.
In questo articolo vengono illustrate le operazioni seguenti:
Creare un insieme di credenziali per il backup
Creare un criterio di backup
Configurare un backup di un Database di Azure per PostgreSQL - Server flessibile
Eseguire un processo di backup su richiesta
Per informazioni su Database di Azure per PostgreSQL - scenari e limitazioni supportati dal server flessibile, vedere la matrice di supporto.
Creare un insieme di credenziali per il backup
L'insieme di credenziali di Backup è un'entità di archiviazione in Azure che consente di archiviare i dati di backup per i nuovi carichi di lavoro supportati da Backup di Azure, Ad esempio, Database di Azure per PostgreSQL: server flessibili, BLOB in un account di archiviazione e Dischi di Azure. Gli insiemi di credenziali di Backup semplificano l'organizzazione dei dati di backup, riducendo al minimo il sovraccarico 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 di tale insieme. Procedere quindi con la creazione dell'insieme di credenziali di Backup con la ridondanza di archiviazione e il percorso.
In questo articolo viene 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/00001111-aaaa-2222-bbbb-3333cccc4444/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 l'insieme di credenziali, creare un criterio di backup per proteggere i database del server flessibile di Azure PostgreSQL.
Creare un criterio di backup
Informazioni sui criteri di backup dei server flessibili di PostgreSQL
Si esaminerà ora l'oggetto criteri di backup per il server flessibile PostgreSQL.
- PolicyRule
- BackupRule
- BackupParameter
- BackupType (backup completo del server in questo caso)
- Archivio dati iniziale (posizione iniziale dei backup)
- Trigger (modalità di attivazione del backup)
- In base alla pianificazione
- Criteri di assegnazione di tag predefiniti (un 'tag' predefinito per tutti i backup pianificati. Questo tag collega i backup alla regola di conservazione)
- BackupParameter
- Regola di conservazione predefinita (regola applicata a tutti i backup, per impostazione predefinita, nell'archivio dati iniziale)
- BackupRule
Questo oggetto definisce quindi i tipi di backup che vengono attivati, il modo in cui vengono attivati (tramite una pianificazione), gli elementi con cui vengono contrassegnati, dove vengono inseriti (un archivio dati) e il ciclo di vita dei dati di backup in un archivio dati. L'oggetto predefinito per PostgreSQL : il server flessibile indica di attivare un backup completo ogni settimana e raggiungono l'insieme di credenziali, dove vengono archiviati per tre mesi.
Recupero del modello di criteri
Per comprendere i componenti interni di un criterio di backup per il backup del database del server flessibile di Azure PostgreSQL, 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 AzureDatabaseForPGFlexServer
$policyDefn | fl
DatasourceType : {Microsoft.DBforPostgreSQL/flexibleServers/databases}
ObjectType : BackupPolicy
PolicyRule : {BackupWeekly, Default}
$policyDefn.PolicyRule | fl
BackupParameter : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210701.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType : DataStoreInfoBase
DataStoreType : VaultStore
Name : BackupWeekly
ObjectType : AzureBackupRule
Trigger : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210701.ScheduleBasedTriggerCo
ntext
TriggerObjectType : ScheduleBasedTriggerContext
IsDefault : True
Lifecycle : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210701.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). In Azure PostgreSQL - Backup flessibile del database del server, il valore predefinito per il trigger è un trigger settimanale pianificato (un backup ogni sette giorni) e per conservare ogni backup per tre mesi.
$policyDefn.PolicyRule[0].Trigger | fl
ObjectType : ScheduleBasedTriggerContext
ScheduleRepeatingTimeInterval : {R/2021-08-22T02:00:00+00:00/P1W}
ScheduleTimeZone : UTC
TaggingCriterion : {Default}
$policyDefn.PolicyRule[1].Lifecycle | fl
DeleteAfterDuration : P3M
DeleteAfterObjectType : AbsoluteDeleteOption
SourceDataStoreObjectType : DataStoreInfoBase
SourceDataStoreType : VaultStore
TargetDataStoreCopySetting : {}
Modificare il modello di criteri
Modificare la pianificazione
Il modello di criteri predefinito prevede un backup una volta alla settimana. È possibile modificare la pianificazione del backup in modo che venga eseguita più giorni alla settimana. Per modificare la pianificazione, usare il comando Edit-AzDataProtectionPolicyTriggerClientObject.
Nell'esempio seguente il backup settimanale viene modificato in modo che venga eseguito ogni domenica, mercoledì e venerdì di ogni settimana. La matrice di date di pianificazione indica le date e i giorni della settimana associati a tali date vengono considerati giorni della settimana. È anche necessario indicare che queste pianificazioni devono essere ripetute ogni settimana. Pertanto, l'intervallo di pianificazione è "1" e il tipo di intervallo è "Settimanale".
$schDates = @(
(
(Get-Date -Year 2021 -Month 08 -Day 15 -Hour 22 -Minute 0 -Second 0)
),
(
(Get-Date -Year 2021 -Month 08 -Day 18 -Hour 22 -Minute 0 -Second 0)
),
(
(Get-Date -Year 2021 -Month 08 -Day 20 -Hour 22 -Minute 0 -Second 0)
)
)
$trigger = New-AzDataProtectionPolicyTriggerScheduleClientObject -ScheduleDays $schDates -IntervalType Weekly -IntervalCount 1
Edit-AzDataProtectionPolicyTriggerClientObject -Schedule $trigger -Policy $policyDefn
Aggiungere una nuova regola di conservazione
Il modello predefinito ha un ciclo di vita per l'archivio dati iniziale nella regola di conservazione predefinita. In questo scenario, la regola specifica di eliminare i dati di backup dopo tre mesi. Usare il comando New-AzDataProtectionRetentionLifeCycleClientObject per creare nuovi cicli di vita e usare il comando Edit-AzDataProtectionPolicyRetentionRuleClientObject per associarli alle nuove regole o alle regole esistenti.
Nell'esempio seguente viene creata una nuova regola di conservazione denominata Monthly in cui il primo backup riuscito di ogni mese deve essere conservato nell'insieme di credenziali per sei mesi.
$VaultLifeCycle = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 6
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $policyDefn -Name Monthly -LifeCycles $VaultLifeCycle -IsDefault $false
Aggiungere un tag e i criteri pertinenti
Dopo aver creato una regola di conservazione, è necessario creare un tag corrispondente nella proprietà Trigger dei criteri di backup. Usare il comando New-AzDataProtectionPolicyTagCriteriaClientObject per creare nuovi criteri di assegnazione di tag e usare il comando Edit-AzDataProtectionPolicyTagClientObject per aggiornare il tag esistente o creare un nuovo tag.
Nell'esempio seguente viene creato un nuovo tag insieme ai criteri (ovvero il primo backup del mese con esito positivo) applicando lo stesso nome della regola di conservazione corrispondente.
In questo esempio, i criteri di tag devono essere denominati Monthly.
$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -AbsoluteCriteria FirstOfMonth
Edit-AzDataProtectionPolicyTagClientObject -Policy $policyDefn -Name Monthly -Criteria $tagCriteria
Se la pianificazione è di più backup alla settimana (ogni domenica, mercoledì, giovedì, come specificato nell'esempio) e si desidera archiviare i backup di domenica e venerdì, i criteri di assegnazione di tag possono essere modificati come segue:
$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -DaysOfWeek @("Sunday", "Friday")
Edit-AzDataProtectionPolicyTagClientObject -Policy $policyDefn -Name Monthly -Criteria $tagCriteria
Creare un nuovo criterio di backup del server PostgreSQL - flessibile
Dopo aver modificato il modello in base ai requisiti, usare il comando New-AzDataProtectionBackupPolicy per creare un criterio usando il modello modificato.
$polOss = New-AzDataProtectionBackupPolicy -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Name "TestOSSPolicy" -Policy $policyDefn
Configurare il backup
Dopo aver creato l'insieme di credenziali e i criteri, per proteggere un database PostgreSQL di Azure è necessario considerare tre punti critici.
Entità chiave coinvolte
PostgreSQL: server flessibile da proteggere
Recuperare l'ID di Azure Resource Manager (ID Di Azure Resource Manager) di PostgreSQL: server flessibile da proteggere. Questo ID funge da identificatore del server di database. Viene usato un esempio di testpgflex del server flessibile PostgreSQL, presente nel gruppo di risorse ossrg in una sottoscrizione diversa.
$ossId = "/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/ossrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testpgflex
#### Backup vault
You need to connect the Backup vault to the PostgreSQL - flexbile server. Access is granted to the Backup vault's MSI.
See the [permissions] (/backup-azure-database-postgresql-flex-overview.md#permissions-for-backup) you should grant to the Managed System Identity (MSI) of the Backup Vault on the PostgreSQL - flexible server.
### Prepare the request
Once all the relevant permissions are set, the configuration of the backup is performed in two steps.
1. We prepare the relevant request by using the relevant vault, policy, PostgreSQL - flexible server using the [Initialize-AzDataProtectionBackupInstance](/powershell/module/az.dataprotection/initialize-azdataprotectionbackupinstance) command.
1. We submit the request to protect the database server using the [New-AzDataProtectionBackupInstance](/powershell/module/az.dataprotection/new-azdataprotectionbackupinstance) command.
```azurepowershell
$instance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureDatabaseForPostgreSQLFlexibleServer -DatasourceLocation $TestBkpvault.Location -PolicyId $polOss[0].Id -DatasourceId $ossId ConvertTo-Json -InputObject $instance -Depth 4
New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $instance
Name Type BackupInstanceName
---- ---- ------------------
ossrg-testpgflex Microsoft.DataProtection/backupVaults/backupInstances ossrg-testpgflex
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 aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e -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 predefinito. Questa regola viene usata per il backup su richiesta.
$ossPol.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
Per attivare un backup su richiesta, usare 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"
Tenere traccia dei processi
Tenere traccia di tutti i processi usando il comando Get-AzDataProtectionJob. È possibile elencare tutti i processi e recuperare un dettaglio specifico del 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 i processi pertinenti presenti in qualsiasi insieme di credenziali di backup.
$job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureDatabaseForPGFlexServer -Operation OnDemandBackup