Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak zálohovat flexibilní server Azure Database for PostgreSQL pomocí Azure CLI.
Požadavky
Před zálohováním flexibilního serveru Azure Database for PostgreSQL si projděte podporované scénáře a omezení zálohování flexibilních serverů Azure Database for PostgreSQL.
Vytvořte úložiště zálohování
Trezor záloh je úložná entita v Azure. Tím se ukládají zálohovaná data pro nové úlohy, které Azure Backup podporuje. Například Azure Database for PostgreSQL – Flexibilní servery, objekty blob v účtu úložiště a disky Azure. Trezory záloh pomáhají uspořádat zálohovaná data a současně minimalizovat režijní náklady na správu. Trezory záloh jsou založené na modelu Azure Resource Manageru v Azure, který poskytuje vylepšené možnosti, které pomáhají zabezpečit zálohovaná data.
Než vytvoříte trezor služby Backup, zvolte redundanci úložiště dat v trezoru. Pokračujte vytvořením úložiště záloh s danou redundancí úložiště a umístěním.
V tomto článku vytvoříme úložiště záloh TestBkpVault v oblasti westus ve skupině prostředků testBkpVaultRG. Pomocí příkazu az dataprotection vault create vytvořte úložiště záloh. Přečtěte si další informace o vytváření úložiště záloh.
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"
}
Konfigurace zálohování
Před konfigurací ochrany databáze se ujistěte, že vytvoříte zásadu zálohování. Po vytvoření trezoru a zásad chraňte flexibilní server Azure Database for PostgreSQL pomocí následujícího postupu:
- Získat ARM ID serveru PostgreSQL - Flexible Server, který se má ochránit
- Udělení přístupu k trezoru služby Backup
- Příprava žádosti o konfiguraci zálohování
Získat ARM ID serveru PostgreSQL - Flexible Server, který se má ochránit
Načtěte ID Azure Resource Manageru (ID ARM) flexibilního serveru PostgreSQL, který má být chráněn. Toto ID slouží jako identifikátor databáze. Pojďme použít příklad databáze pojmenované empdb11, která je pod flexibilním serverem PostgreSQL testposgresql a nachází se ve skupině prostředků ossrg v jiném předplatném.
Následující příklad používá Bash.
ossId="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/ossrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/archive-postgresql-ccy/databases/empdb11"
Udělení přístupu k trezoru služby Backup
Trezor služby Backup se musí připojit k flexibilnímu serveru PostgreSQL a pak přistupovat k databázi prostřednictvím klíčů, které jsou přítomné v trezoru klíčů. Proto vyžaduje přístup k flexibilnímu serveru PostgreSQL a trezoru klíčů. Udělte přístup k identitě Managed-Service (MSI) trezoru Backup.
Zkontrolujte oprávnění požadovaná pro identitu Managed-Service trezoru služby Backup (MSI) na flexibilním serveru PostgreSQL a trezoru klíčů Azure, který ukládá klíče do databáze.
Příprava žádosti o konfiguraci zálohování
Jakmile nastavíte všechna příslušná oprávnění, nakonfigurujte zálohování spuštěním následujících příkazů:
Připravte příslušný požadavek pomocí příslušného trezoru, zásady a flexibilní databáze serveru PostgreSQL příkazem
az dataprotection backup-instance initialize.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.JSONOdešlete žádost o ochranu databáze pomocí
az dataprotection backup-instance createpříkazu.az dataprotection backup-instance create --resource-group testBkpVaultRG --vault-name TestBkpVault TestBkpvault --backup-instance .\OSSBkpInstance.JSON
Proveďte zálohování na vyžádání
Zadejte pravidlo uchovávání informací při aktivaci zálohování. Pokud chcete zobrazit pravidla uchovávání informací v zásadách, přejděte do souboru JSON zásad pro pravidla uchovávání informací. V následujícím příkladu existují dvě pravidla uchovávání informací s názvy Výchozí a Měsíční. Pojďme použít měsíční pravidlo pro zálohování na vyžádání.
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"
}
K aktivaci zálohování na vyžádání použijte az dataprotection backup-instance adhoc-backup příkaz.
az dataprotection backup-instance adhoc-backup --name "ossrg-empdb11" --rule-name "Monthly" --resource-group testBkpVaultRG --vault-name TestBkpVault
Sledování práce
Pomocí příkazu můžete sledovat všechny úlohy az dataprotection job list . Můžete zobrazit seznam všech úloh a načíst konkrétní podrobnosti úlohy.
Ke sledování všech úloh napříč všemi trezory služby Backup můžete použít také Az.ResourceGraph. Pomocí příkazu az dataprotection job list-from-resourcegraph načtěte relevantní úlohy, které se nacházejí napříč trezory služby Backup.
az dataprotection job list-from-resourcegraph --datasource-type AzureDatabaseForPostgreSQLFlexibleServer --status Completed