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 makale, Azure CLI kullanarak PostgreSQL için Azure Veritabanı - Esnek Sunucusu'nun nasıl yedekleneceğini açıklar.
Önkoşullar
PostgreSQL için Azure Veritabanı - Esnek Sunucuyu yedeklemeden önce, PostgreSQL için Azure Veritabanı - Esnek Sunucular yedeklemek için desteklenensenaryoları ve sınırlamaları gözden geçirin.
Backup kasası oluşturma
Yedekleme kasası, Azure'daki bir depolama varlığıdır. Bu, Azure Backup'ın desteklediği yeni iş yükleri için yedekleme verilerini depolar. Örneğin PostgreSQL için Azure Veritabanı : Esnek sunucular, depolama hesabındaki bloblar ve Azure Diskler. Yedekleme kasaları, yedekleme verilerinizi düzenlemeye yardımcı olurken yönetim ek yükünü en aza indirir. Yedekleme kasaları, yedekleme verilerinin güvenliğini sağlamaya yardımcı olmak için gelişmiş özellikler sağlayan Azure Resource Manager modelini temel alır.
Backup kasası oluşturmadan önce kasadaki verilerin depolama yedekliliğini seçin. Ardından bu depolama yedekliliği ve konumuyla Backup kasasını oluşturmaya devam edin.
Bu makalede, TestBkpVaultkaynak grubunun altında westusbölgesinde testBkpVaultRGbir Backup kasası oluşturalım. Backup kasası oluşturmak için az dataprotection vault create komutunu kullanın. Backup kasası oluşturma hakkında daha fazla bilgi edinin.
az dataprotection backup-vault create -g testBkpVaultRG --vault-name TestBkpVault -l westus --type SystemAssigned --storage-settings datastore-type="VaultStore" type="LocallyRedundant"
{
"eTag": null,
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault",
"identity": {
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"type": "SystemAssigned"
},
"location": "westus",
"name": "TestBkpVault",
"properties": {
"provisioningState": "Succeeded",
"storageSettings": [
{
"datastoreType": "VaultStore",
"type": "LocallyRedundant"
}
]
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"tags": null,
"type": "Microsoft.DataProtection/backupVaults"
}
Yedeklemeyi yapılandırma
Veritabanı için korumayı yapılandırmadan önce, bir Yedekleme ilkesi oluşturduğunuzdan emin olun. Kasa ve ilke oluşturulduktan sonra, aşağıdaki adımları izleyerek PostgreSQL için Azure Veritabanı - Esnek Sunucuyu koruyun:
- Korunacak PostgreSQL - Esnek Sunucunun ARM Kimliğini alın
- Backup kasasına erişim izni verme
- Yedekleme yapılandırma isteğini hazırlama
Korunacak PostgreSQL - Esnek Sunucunun ARM Kimliğini alın
Korumak için PostgreSQL – Esnek Sunucunun Azure Resource Manager Kimliğini (ARM Kimliği) getirin. Bu kimlik, veritabanının tanımlayıcısı olarak görev alır. Farklı bir abonelik altında empdb11 kaynak grubunda bulunan PostgreSQL - Esnek Sunucu testposgresqlaltında ossrg adlı bir veritabanı örneği kullanalım.
Aşağıdaki örnekte bash kullanılır.
ossId="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/ossrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/archive-postgresql-ccy/databases/empdb11"
Backup kasasına erişim izni verme
Yedekleme kasasının PostgreSQL – Esnek Sunucu'ya bağlanması ve ardından anahtar kasasında bulunan anahtarlar aracılığıyla veritabanına erişmesi gerekir. Bu nedenle PostgreSQL – Esnek sunucuya ve anahtar kasasına erişim gerektirir. Yedekleme kasasının Yönetilen Hizmet Kimliğine (MSI) erişim izni verin.
PostgreSQL – Esnek Sunucu ve veritabanının anahtarlarını depolayan Azure Key kasasında, Yedekleme kasasının Managed-Service Kimliği (MSI) için gerekli olan izinlerini inceleyin.
Yedekleme yapılandırma isteğini hazırlama
Tüm ilgili izinler ayarlandıktan sonra aşağıdaki komutları çalıştırarak yedeklemeyi yapılandırın:
az dataprotection backup-instance initializekomutunu kullanarak ilgili kasayı, ilkeyi, PostgreSQL – Esnek sunucu veritabanını kullanarak ilgili isteği hazırlayın.az dataprotection backup-instance initialize --datasource-id $ossId --datasource-type AzureDatabaseForPostgreSQLFlexibleServer -l <vault-location> --policy-id <policy_arm_id> --secret-store-type AzureKeyVault --secret-store-uri $keyURI > OSSBkpInstance.JSONveritabanını korumak için
az dataprotection backup-instance createkomutunu kullanarak isteği gönderin.az dataprotection backup-instance create --resource-group testBkpVaultRG --vault-name TestBkpVault TestBkpvault --backup-instance .\OSSBkpInstance.JSON
İsteğe bağlı yedekleme çalıştırma
Yedeklemeyi tetiklerken bir bekletme kuralı belirtin. İlkedeki bekletme kurallarını görüntülemek için bekletme kuralları için ilkesi JSON dosyasına gidin. Aşağıdaki örnekte, Varsayılan ve Aylık adlarıyla iki bekletme kuralı vardır. İsteğe bağlı yedekleme için aylık kuralı kullanalım.
az dataprotection backup-policy show -g ossdemorg --vault-name ossdemovault-1 --subscription e3d2d341-4ddb-4c5d-9121-69b7e719485e --name osspol5
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-69b7e719485e/resourceGroups/ossdemorg/providers/Microsoft.DataProtection/backupVaults/ossdemovault-1/backupPolicies/osspol5",
"name": "osspol5",
"properties": {
"datasourceTypes": [
" Microsoft.DBforPostgreSQL/flexibleServers/databases"
],
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Full",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupWeekly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2020-04-04T20:00:00+00:00/P1W",
"R/2020-04-01T20:00:00+00:00/P1W"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"daysOfMonth": null,
"daysOfTheWeek": null,
"monthsOfYear": null,
"objectType": "ScheduleBasedBackupCriteria",
"scheduleTimes": null,
"weeksOfTheMonth": null
}
],
"isDefault": false,
"tagInfo": {
"eTag": null,
"id": "Monthly_",
"tagName": "Monthly"
},
"taggingPriority": 15
},
{
"criteria": null,
"isDefault": true,
"tagInfo": {
"eTag": null,
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
]
}
},
{
"isDefault": false,
"lifecycles": [
{
"deleteAfter": {
"duration": "P10Y",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Monthly",
"objectType": "AzureRetentionRule"
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P1Y",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
}
]
},
"resourceGroup": "ossdemorg",
"systemData": null,
"type": "Microsoft.DataProtection/backupVaults/backupPolicies"
}
İsteğe bağlı yedekleme tetikleme için az dataprotection backup-instance adhoc-backup komutunu kullanın.
az dataprotection backup-instance adhoc-backup --name "ossrg-empdb11" --rule-name "Monthly" --resource-group testBkpVaultRG --vault-name TestBkpVault
İşleri takip et
az dataprotection job list komutunu kullanarak tüm işleri izleyin. Tüm işleri listeleyebilir ve belirli bir iş ayrıntısı getirebilirsiniz.
Tüm Backup kasalarında tüm işleri izlemek için Az.ResourceGraph'ı da kullanabilirsiniz. İlgili işleri yedekleme kasalarından getirmek için az dataprotection job list-from-resourcegraph komutunu kullanın.
az dataprotection job list-from-resourcegraph --datasource-type AzureDatabaseForPostgreSQLFlexibleServer --status Completed
Sonraki adımlar
- Azure CLIkullanarak PostgreSQL için Azure Veritabanı - Esnek Sunucuyu geri yükleyin.