Udostępnij za pomocą


Szybki start: tworzenie zasad tworzenia kopii zapasowych dla usługi Azure Database for PostgreSQL — serwer elastyczny przy użyciu programu Azure PowerShell

W tym przewodniku Szybki start opisano sposób tworzenia zasad tworzenia kopii zapasowych w celu ochrony usługi Azure Database for PostgreSQL — serwer elastyczny przy użyciu programu Azure PowerShell.

Zasady usługi Azure Backup dla usługi Azure Database for PostgreSQL — serwer elastyczny definiuje sposób i czas tworzenia kopii zapasowych, okres przechowywania punktów odzyskiwania oraz reguły ochrony i odzyskiwania danych. Usługa Azure Backup umożliwia wykonywanie kopii zapasowej usługi Azure PostgreSQL — Serwer Elastyczny przy użyciu różnych klientów, takich jak portal Azure, PowerShell, CLI, Azure Resource Manager, Bicep, Terraform itd.

Wymagania wstępne

Przed utworzeniem zasad tworzenia kopii zapasowych dla serwera elastycznego usługi Azure Database for PostgreSQL upewnij się, że zostały spełnione następujące wymagania wstępne:

Tworzenie zasad kopii zapasowych

Aby utworzyć zasady tworzenia kopii zapasowych dla bazy danych PostgreSQL — serwer elastyczny, wykonaj następujące kroki:

  1. Understand PostgreSQL - Flexible Server backup policy
  2. Pobieranie szablonu zasad
  3. Modyfikowanie szablonu zasad
  4. Tworzenie zasad

Omówienie zasad tworzenia kopii zapasowych serwera elastycznego — PostgreSQL

Disk backup offers multiple backups per day, and blob backup is a continuous backup with no trigger. Teraz zapoznajmy się z obiektem zasad tworzenia kopii zapasowych dla bazy danych PostgreSQL — serwer elastyczny.

  • PolicyRule
    • BackupRule
      • Parametr kopii zapasowej
        • BackupType (pełna kopia zapasowa bazy danych w tym scenariuszu)
        • Początkowy magazyn danych (w którym początkowo są wykonywane kopie zapasowe)
        • Wyzwalacz (jak jest wyzwalana kopia zapasowa)
          • Na podstawie harmonogramu
          • Domyślne kryteria tagowania (domyślny "tag" dla wszystkich zaplanowanych kopii zapasowych. Ten tag łączy kopie zapasowe z regułą przechowywania)
    • Domyślna reguła przechowywania (reguła stosowana do wszystkich kopii zapasowych domyślnie w początkowym magazynie danych)

W związku z tym ten obiekt definiuje:

  • Wyzwalany typ kopii zapasowych
  • The way the policy are triggered (via a schedule)
  • Tagi zaimplementowane w zasadach kopii zapasowych
  • Lokalizacja, w której są przechowywane dane (magazyn danych)
  • Cykl życia danych kopii zapasowej w magazynie danych

The default PowerShell object for PostgreSQL – Flexible Server triggers a full backup every week and they reach the vault, where they're stored for three months.

Pobieranie szablonu zasad

Aby zrozumieć szczegółowe składniki polityki tworzenia kopii zapasowych dla elastycznego serwera PostgreSQL dla Azure, pobierz szablon polityki za pomocą polecenia cmdlet Get-AzDataProtectionPolicyTemplate. To polecenie cmdlet zwraca domyślny szablon zasad dla danego typu źródła danych. Użyj tego szablonu zasad, aby utworzyć nowe zasady.

$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

Szablon zasad składa się z wyzwalacza (który decyduje o wyzwalaniu kopii zapasowej) i cyklu życia (który decyduje o tym, kiedy usunąć, skopiować, przenieść kopię zapasową). In Azure PostgreSQL – Flexible Server database backup, the default value for trigger is a scheduled Weekly trigger (one backup every 7 days) and to retain each backup for three months.

JSON
$policyDefn.PolicyRule[0].Trigger | fl

ObjectType                    : ScheduleBasedTriggerContext
ScheduleRepeatingTimeInterval : {R/2021-08-22T02:00:00+00:00/P1W}
ScheduleTimeZone              : UTC
TaggingCriterion              : {Default}

Domyślny cykl życia reguły przechowywania:

$policyDefn.PolicyRule[1].Lifecycle | fl

DeleteAfterDuration        : P3M
DeleteAfterObjectType      : AbsoluteDeleteOption
SourceDataStoreObjectType  : DataStoreInfoBase
SourceDataStoreType        : VaultStore
TargetDataStoreCopySetting : {}

Modyfikowanie szablonu zasad

Modyfikowanie harmonogramu

Domyślny szablon zasad oferuje kopię zapasową raz w tygodniu. Możesz zmodyfikować harmonogram tworzenia kopii zapasowej w ciągu kilku dni w tygodniu. Aby zmodyfikować harmonogram, użyj polecenia Edit-AzDataProtectionPolicyTriggerClientObject cmdlet.

Poniższy przykład modyfikuje cotygodniową kopię zapasową, tak aby była wykonywana w każdą niedzielę, środę i piątek każdego tygodnia. The schedule date array mentions the dates, and the days of the week of those dates are taken as days of the week. Ponadto określ, że te harmonogramy powinny być powtarzane co tydzień. Dlatego interwał harmonogramu wynosi 1 , a typ interwału to Co tydzień.

$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

Dodawanie nowej reguły przechowywania

Domyślny szablon ma cykl życia magazynu danych zgodnie z domyślną regułą przechowywania. W tym scenariuszu reguła usuwa dane kopii zapasowej po trzech miesiącach. Użyj New-AzDataProtectionRetentionLifeCycleClientObject cmdlet, aby utworzyć nowe cykle życia, i użyj Edit-AzDataProtectionPolicyRetentionRuleClientObject cmdlet, aby skojarzyć je z nowymi lub istniejącymi regułami.

The following example creates a new retention rule named Monthly, where the first successful backup of every month should be retained in vault for six months.

$VaultLifeCycle = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 6

Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $policyDefn -Name Monthly -LifeCycles $VaultLifeCycle -IsDefault $false

Dodawanie tagu i odpowiednich kryteriów

Po utworzeniu reguły przechowywania musisz utworzyć odpowiedni tag w właściwości Trigger zasad kopii zapasowej. Użyj polecenia cmdlet New-AzDataProtectionPolicyTagCriteriaClientObject , aby utworzyć nowe kryteria tagowania i użyć polecenia cmdlet Edit-AzDataProtectionPolicyTagClientObject , aby zaktualizować istniejący tag lub utworzyć nowy tag.

The following example creates a new tag along with the criteria, the first successful backup of the month. Tag ma taką samą nazwę jak odpowiednia reguła przechowywania, która ma zostać zastosowana.

W tym przykładzie kryteria tagu powinny mieć nazwę Co miesiąc.

$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -AbsoluteCriteria FirstOfMonth
Edit-AzDataProtectionPolicyTagClientObject -Policy $policyDefn -Name Monthly -Criteria $tagCriteria

Jeśli harmonogram obejmuje wiele kopii zapasowych tygodniowo (w każdą niedzielę, środę, czwartek, jak określono w przykładzie) i chcesz zarchiwizować kopie zapasowe w niedzielę i piątek, kryteria tagowania można zmienić w następujący sposób, używając New-AzDataProtectionPolicyTagCriteriaClientObject polecenia cmdlet .

$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -DaysOfWeek @("Sunday", "Friday")
Edit-AzDataProtectionPolicyTagClientObject -Policy $policyDefn -Name Monthly -Criteria $tagCriteria

Tworzenie zasad

Po zmodyfikowaniu szablonu zgodnie z wymaganiami użyj polecenia cmdlet New-AzDataProtectionBackupPolicy , aby utworzyć zasady przy użyciu zmodyfikowanego szablonu.

az dataprotection backup-policy create --backup-policy-name FinalOSSPolicy --policy AddedRetentionRuleAndTag.JSON --resource-group testBkpVaultRG --vault-name TestBkpVault

Następne kroki

Konfigurowanie kopii zapasowej dla usługi Azure Database for PostgreSQL — serwer elastyczny przy użyciu programu Azure PowerShell.