Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta, Azure PowerShell kullanarak PostgreSQL için Azure Veritabanı - Esnek Sunucuyu korumak için bir yedekleme ilkesinin nasıl oluşturulacağı açıklanır.
PostgreSQL için Azure Veritabanı - Esnek Sunucu için Azure Backup ilkesi, yedeklemelerin nasıl ve ne zaman oluşturulduğunu, kurtarma noktaları için saklama süresini ve veri koruma ve kurtarma kurallarını tanımlar. Azure Backup, Azure portal, PowerShell, CLI, Azure Resource Manager, Bicep, Terraform gibi birden çok istemciyi kullanarak Azure PostgreSQL - Esnek Sunucunuzu yedeklemenizi sağlar.
Önkoşullar
PostgreSQL için Azure Veritabanı Esnek Sunucusu için bir yedekleme ilkesi oluşturmadan önce aşağıdaki önkoşulların karşılandığından emin olun:
- PostgreSQL için Azure Veritabanı - Esnek Sunucuları yedeklemek için desteklenen senaryoları ve sınırlamaları gözden geçirin.
- Veritabanının kurtarma noktalarını depolamak için bir Backup kasası oluşturun.
Yedekleme ilkesi oluşturma
PostgreSQL – Esnek Sunucu için bir yedekleme ilkesi oluşturmak için şu adımları izleyin:
- PostgreSQL - Esnek Sunucu yedekleme ilkesini anlama
- İlke şablonunu alma
- İlke şablonunu değiştirme
- İlkeyi oluşturma
PostgreSQL – Esnek Sunucu yedekleme ilkesini anlama
Disk yedekleme günde birden çok yedekleme sunar ve blob yedekleme tetikleyicisi olmayan sürekli bir yedeklemedir. Şimdi PostgreSQL – Esnek Sunucu için yedekleme ilkesi nesnesini anlayalım.
- Politika Kuralı
- BackupRule
- BackupParameter
- BackupType (Bu senaryoda tam veritabanı yedeklemesi)
- İlk Veri Deposu (Yedeklemelerin başlangıçta geldiği yer)
- Tetikleyici (Yedekleme nasıl tetikleniyor)
- Program bazlı
- Varsayılan etiketleme ölçütleri (zamanlanmış tüm yedeklemeler için varsayılan bir 'etiket'. Bu etiket, yedeklemeleri bekletme kuralına bağlar)
- BackupParameter
- Varsayılan Bekletme Kuralı (Varsayılan olarak ilk veri deposundaki tüm yedeklemelere uygulanan bir kural)
- BackupRule
Bu nedenle, bu nesne şunları tanımlar:
- Tetiklenen yedeklemelerin türü
- The way the policy are triggered (via a schedule)
- Yedekleme ilkesine uygulanan etiketler
- Verilerin depolandığı konum (veri deposu)
- Veri deposundaki yedekleme verilerinin yaşam döngüsü
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.
İlke şablonunu alma
Azure PostgreSQL – Esnek sunucu veritabanı yedeklemesi için yedekleme ilkesinin iç bileşenlerini anlamak için Get-AzDataProtectionPolicyTemplate cmdlet'ini kullanarak ilke şablonunu alın. Bu cmdlet, belirli bir veri kaynağı türü için varsayılan ilke şablonunu döndürür. Yeni bir ilke oluşturmak için bu ilke şablonunu kullanın.
$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
İlke şablonu bir tetikleyiciden (yedeklemeyi neyin tetiklediğine karar veren) ve bir yaşam döngüsünden (yedeklemenin ne zaman silineceğine, kopyalanıp taşıneceğine karar veren) oluşur. Azure PostgreSQL – Esnek Sunucu veritabanı yedeklemesinde tetikleyici için varsayılan değer, zamanlanmış haftalık tetikleyicidir (7 günde bir yedekleme) ve her yedeklemeyi üç ay boyunca saklamaktır.
JSON
$policyDefn.PolicyRule[0].Trigger | fl
ObjectType : ScheduleBasedTriggerContext
ScheduleRepeatingTimeInterval : {R/2021-08-22T02:00:00+00:00/P1W}
ScheduleTimeZone : UTC
TaggingCriterion : {Default}
Varsayılan bekletme kuralı yaşam döngüsü::
$policyDefn.PolicyRule[1].Lifecycle | fl
DeleteAfterDuration : P3M
DeleteAfterObjectType : AbsoluteDeleteOption
SourceDataStoreObjectType : DataStoreInfoBase
SourceDataStoreType : VaultStore
TargetDataStoreCopySetting : {}
İlke şablonunu değiştirme
Zamanlamayı değiştirme
Varsayılan ilke şablonu haftada bir yedekleme sunar. Yedekleme zamanlamasını haftada birden çok gün olacak şekilde değiştirebilirsiniz. Zamanlamayı değiştirmek için cmdlet'ini Edit-AzDataProtectionPolicyTriggerClientObject kullanın.
Aşağıdaki örnek, haftalık yedeklemeyi her haftanın Pazar, Çarşamba ve Cuma günleri gerçekleştirilecek şekilde değiştirir. The schedule date array mentions the dates, and the days of the week of those dates are taken as days of the week. Ayrıca, bu zamanlamaların her hafta tekrarlanması gerektiğini belirtin. Bu nedenle, zamanlama aralığı 1 ve aralık türü Haftalık olur.
$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
Yeni bekletme kuralı ekleme
Varsayılan şablon, varsayılan saklama kuralı altında ilk veri deposu için bir yaşam döngüsüne sahiptir. Bu senaryoda, kural yedekleme verilerini üç ay sonra siler. Yeni yaşam döngüleri oluşturmak için New-AzDataProtectionRetentionLifeCycleClientObject cmdlet'ini ve bunları yeni kurallarla veya mevcut kurallarla ilişkilendirmek için Edit-AzDataProtectionPolicyRetentionRuleClientObject cmdlet'ini kullanın.
Aşağıdaki örnek, her ayın ilk başarılı yedeklemesinin altı ay boyunca kasada tutulacağı Aylık adlı yeni bir bekletme kuralı oluşturur.
$VaultLifeCycle = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 6
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $policyDefn -Name Monthly -LifeCycles $VaultLifeCycle -IsDefault $false
Etiket ve ilgili ölçütleri ekleme
Bekletme kuralı oluşturulduktan sonra, yedekleme ilkesinin Trigger özelliğinde karşılık gelen bir etiket oluşturmanız gerekir. Yeni bir etiketleme ölçütü oluşturmak için New-AzDataProtectionPolicyTagCriteriaClientObject cmdlet'ini kullanın ve mevcut etiketi güncelleştirmek veya yeni bir etiket oluşturmak için Edit-AzDataProtectionPolicyTagClientObject cmdlet'ini kullanın.
The following example creates a new tag along with the criteria, the first successful backup of the month. Etiket, uygulanacak ilgili bekletme kuralıyla aynı adı taşır.
Bu örnekte, etiket ölçütleri Aylık olarak adlandırılmalıdır.
$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -AbsoluteCriteria FirstOfMonth
Edit-AzDataProtectionPolicyTagClientObject -Policy $policyDefn -Name Monthly -Criteria $tagCriteria
Zamanlama haftada birden çok yedeklemeyse (örnekte belirtildiği gibi her Pazar, Çarşamba, Perşembe) ve Pazar ve Cuma yedeklemelerini arşivleme istiyorsanız, etiketleme ölçütleri cmdlet'i kullanılarak New-AzDataProtectionPolicyTagCriteriaClientObject aşağıdaki gibi değiştirilebilir.
$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -DaysOfWeek @("Sunday", "Friday")
Edit-AzDataProtectionPolicyTagClientObject -Policy $policyDefn -Name Monthly -Criteria $tagCriteria
İlkeyi oluşturma
Şablon gereksinimlere göre değiştirildikten sonra, değiştirilen şablonu kullanarak bir ilke oluşturmak için New-AzDataProtectionBackupPolicy cmdlet'ini kullanın.
az dataprotection backup-policy create --backup-policy-name FinalOSSPolicy --policy AddedRetentionRuleAndTag.JSON --resource-group testBkpVaultRG --vault-name TestBkpVault