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.
Zásady zálohování řídí uchovávání a plán záloh databází PostgreSQL ve službě Azure Database for PostgreSQL. Azure Database for PostgreSQL nabízí dlouhodobé uchovávání záloh databáze a podporuje zálohování za den.
Existující zásady zálohování můžete opakovaně použít ke konfiguraci záloh pro databáze PostgreSQL do trezoru nebo můžete vytvořit zásady zálohování pro trezor služby Azure Recovery Services pomocí rozhraní REST API služby Data Protection pro Azure Backup. V tomto článku vytvoříte zásadu zálohování.
Principy zásad zálohování PostgreSQL
Zatímco zálohování disků nabízí více záloh za den a zálohování objektů blob je průběžné zálohování bez triggeru, zálohování PostgreSQL nabízí ochranu archivu. Zálohovaná data, která se poprvé odešlou do trezoru, je možné přesunout do archivní úrovně v souladu s definovaným pravidlem nebo životním cyklem.
V tomto kontextu vám následující hierarchie může pomoct pochopit objekt zásad zálohování pro PostgreSQL:
- Pravidlo zásad
- Pravidlo zálohování
- Parametr zálohování
- Typ zálohování (v tomto případě úplné zálohování databáze)
- Počáteční úložiště dat (kde zálohy na začátku přistane)
- Aktivační událost (jak se aktivuje zálohování)
- Schedule
- Výchozí kritéria označování (výchozí značka, která provází všechny naplánované zálohy s pravidlem uchovávání informací)
- Parametr zálohování
- Výchozí pravidlo uchovávání informací (pravidlo použité pro všechny zálohy ve výchozím nastavení v počátečním úložišti dat)
- Pravidlo zálohování
Objekt zásady definuje, jaké typy záloh se aktivují, jak se aktivují (prostřednictvím plánu), co jsou označené, kde se nacházejí (úložiště dat) a životní cyklus dat v úložišti dat.
Výchozí objekt PowerShellu pro PostgreSQL říká, že se má aktivovat úplné zálohování každý týden. Zálohy se dostanou do trezoru, kde jsou uložené tři měsíce.
Pokud chcete do zásad přidat archivní úroveň, musíte se rozhodnout, kdy se data přesunou z trezoru do archivu, jak dlouho budou data v archivu a která z plánovaných záloh by se měla označit jako archivovatelná. Musíte přidat pravidlo uchovávání, které definuje životní cyklus zálohovaných dat z úložiště dat trezoru do archivního úložiště dat. Pravidlo uchovávání informací také definuje, jak dlouho budou zálohovaná data zůstat v archivačním úložišti dat. Pak musíte přidat značku, která označí naplánované zálohy jako způsobilé k archivaci.
Výsledný objekt PowerShellu je následující:
- Pravidlo zásad
- Pravidlo zálohování
- Parametr zálohování
- Typ zálohování (v tomto případě úplné zálohování databáze)
- Počáteční úložiště dat (kde zálohy na začátku přistane)
- Aktivační událost (jak se aktivuje zálohování)
- Schedule
- Výchozí kritéria označování (výchozí značka, která provází všechny naplánované zálohy s pravidlem uchovávání informací)
- Nová kritéria označování pro nové pravidlo uchovávání informací se stejným názvem
- Parametr zálohování
- Výchozí pravidlo uchovávání informací (pravidlo použité pro všechny zálohy ve výchozím nastavení v počátečním úložišti dat)
- Nové pravidlo uchovávání informací
- Životní cyklus
- Úložiště zdrojových dat
- Časové období pro odstranění ve zdrojovém úložišti dat
- Kopírování do cílového úložiště dat
- Životní cyklus
- Pravidlo zálohování
Vytvořte zásadu
Důležité
Aktualizace nebo úprava existujících zásad se v současné době nepodporuje. Místo toho vytvořte novou zásadu s požadovanými podrobnostmi a přiřaďte ji příslušné instanci zálohování.
K vytvoření zásady zálohování použijte následující PUT operaci:
PUT https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{policyName}?api-version=2021-01-01
Identifikátor URI poskytuje {policyName} hodnoty a {vaultName} hodnoty. Text požadavku poskytuje další informace.
Vytvoření textu požadavku
Pokud chcete vytvořit zásadu pro zálohování PostgreSQL, tělo požadavku potřebuje následující komponenty:
| Název | Požadováno | Typ | Popis |
|---|---|---|---|
properties |
true |
BaseBackupPolicy: BackupPolicy |
BaseBackupPolicyResource vlastnosti |
Úplný seznam definic v textu požadavku najdete v zásadách zálohování rozhraní REST API.
Příklad textu požadavku
Zásada říká:
- Aktivační událost je naplánovaná pro týdenní zálohování ve zvoleném čase spuštění (čas +
P1W). - Úložiště dat je úložiště trezoru, protože zálohy se přímo přenášejí do trezoru.
- Zálohy se uchovávají v trezoru po dobu tří měsíců (
P3M).
{
"datasourceTypes": [
"Microsoft.DBforPostgreSQL/servers/databases"
],
"name": "OssPolicy1",
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Full",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupWeekly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T06:30:00+00:00/P1W"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"isDefault": true,
"tagInfo": {
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
]
}
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P3M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
}
]
}
Důležité
Formáty času podporují pouze DateTime.
Time není podporováno. Čas dne označuje čas zahájení zálohování, nikoli koncový čas.
Pojďme aktualizovat předchozí JSON o dvě změny:
- Přidejte zálohy na několik dnů v týdnu.
- Přidejte archivní úložiště dat pro dlouhodobé uchovávání záloh databáze PostgreSQL.
Následující příklad upraví týdenní zálohování na neděli, středu a pátek každého týdne. Pole kalendářních dat plánu uvádí kalendářní data a dny v týdnu se zabývají jako dny v týdnu. Musíte také určit, že by se tyto plány měly opakovat každý týden. Takže interval plánu je 1 a typ intervalu je Weekly.
Naplánovaná aktivační událost
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T22:00:00+00:00/P1W",
"R/2021-08-18T22:00:00+00:00/P1W",
"R/2021-08-20T22:00:00+00:00/P1W"
],
"timeZone": "UTC"
}
Pokud chcete přidat archivní ochranu, musíte upravit JSON zásad.
Životní cyklus uchování
Předchozí JSON má životní cyklus pro počáteční úložiště dat v rámci výchozího pravidla uchovávání informací. V tomto scénáři pravidlo říká, že po třech měsících odstraní zálohovaná data. Měli byste přidat nové pravidlo uchovávání informací, které definuje, kdy se data přesunou do archivu úložiště dat. To znamená, že zálohovaná data se nejprve zkopírují do archivu úložiště dat a pak se odstraní v úložišti dat trezoru.
Pravidlo by také mělo definovat doby trvání uchovávání dat v archivačním úložišti dat. Pojďme toto nové pravidlo Monthlypojmenovat . Definuje, že zálohy by se měly uchovávat v úložišti dat trezoru po dobu 6 měsíců a pak se zkopírují do archivovaného úložiště dat. Potom odstraňte zálohy v úložišti dat trezoru a uchovávejte data po dobu 24 měsíců v archivačním úložišti dat. Nakonec odstraňte data v archivačním úložišti dat.
"lifecycles": [
{
"deleteAfter": {
"duration": "P3M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
},
{
"isDefault": false,
"lifecycles": [
{
"deleteAfter": {
"duration": "P6M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": {
"copyAfter": {
"objectType": "CopyOnExpiryOption"
},
"dataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
}
}
},
{
"deleteAfter": {
"duration": "P24M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": null
}
],
"name": "Monthly",
"objectType": "AzureRetentionRule"
}
Kritéria označování
Pokaždé, když přidáte pravidlo uchovávání informací, musíte do vlastnosti zásady přidat odpovídající značku Trigger . Následující příklad vytvoří novou značku spolu s kritérii (což je první úspěšná záloha měsíce) s přesně stejným názvem jako odpovídající pravidlo uchovávání informací, které se má použít.
V tomto příkladu by měla být kritéria značky pojmenována Monthly:
{
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"objectType": "ScheduleBasedBackupCriteria"
}
],
"isDefault": false,
"tagInfo": {
"tagName": "Monthly"
},
"taggingPriority": 15
}
Po zahrnutí všech změn se json zásady zobrazí takto:
{
"datasourceTypes": [
"Microsoft.DBforPostgreSQL/servers/databases"
],
"name": "OssPolicy1",
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Full",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupWeekly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T22:00:00+00:00/P1W",
"R/2021-08-18T22:00:00+00:00/P1W",
"R/2021-08-20T22:00:00+00:00/P1W"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"isDefault": true,
"tagInfo": {
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
},
{
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"objectType": "ScheduleBasedBackupCriteria"
}
],
"isDefault": false,
"tagInfo": {
"tagName": "Monthly"
},
"taggingPriority": 15
}
]
}
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P3M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
},
{
"isDefault": false,
"lifecycles": [
{
"deleteAfter": {
"duration": "P6M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": {
"copyAfter": {
"objectType": "CopyOnExpiryOption"
},
"dataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
}
}
},
{
"deleteAfter": {
"duration": "P24M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": null
}
],
"name": "Monthly",
"objectType": "AzureRetentionRule"
}
]
}
Další podrobnosti o vytváření zásad najdete v tématu Vytvoření zásady zálohování.
Kontrola odpovědi
Vytvoření nebo aktualizace zásad zálohování je synchronní operace. Po úspěšném dokončení operace vrátí následující odpověď na stav s obsahem zásady v textu odpovědi.
| Název | Typ | Popis |
|---|---|---|
200 OK |
BaseBackupPolicyResource |
Operace je dokončena. |
Příklad odpovědi
{
"properties": {
"policyRules": [
{
"backupParameters": {
"backupType": "Full",
"objectType": "AzureBackupParams"
},
"trigger": {
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T22:00:00+00:00/P1W",
"R/2021-08-18T22:00:00+00:00/P1W",
"R/2021-08-20T22:00:00+00:00/P1W"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"tagInfo": {
"tagName": "Monthly",
"id": "Monthly_"
},
"taggingPriority": 15,
"isDefault": false,
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"objectType": "ScheduleBasedBackupCriteria"
}
]
},
{
"tagInfo": {
"tagName": "Default",
"id": "Default_"
},
"taggingPriority": 99,
"isDefault": true
}
],
"objectType": "ScheduleBasedTriggerContext"
},
"dataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupWeekly",
"objectType": "AzureBackupRule"
},
{
"lifecycles": [
{
"deleteAfter": {
"objectType": "AbsoluteDeleteOption",
"duration": "P6M"
},
"targetDataStoreCopySettings": [
{
"dataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
},
"copyAfter": {
"objectType": "CopyOnExpiryOption"
}
}
],
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
}
},
{
"deleteAfter": {
"objectType": "AbsoluteDeleteOption",
"duration": "P24M"
},
"targetDataStoreCopySettings": [],
"sourceDataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
}
}
],
"isDefault": false,
"name": "Monthly",
"objectType": "AzureRetentionRule"
},
{
"lifecycles": [
{
"deleteAfter": {
"objectType": "AbsoluteDeleteOption",
"duration": "P3M"
},
"targetDataStoreCopySettings": [],
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
}
}
],
"isDefault": true,
"name": "Default",
"objectType": "AzureRetentionRule"
}
],
"datasourceTypes": [
"Microsoft.DBforPostgreSQL/servers/databases"
],
"objectType": "BackupPolicy"
},
"id": "/subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/DebRG1/providers/Microsoft.DataProtection/backupVaults/DebBackupVault/backupPolicies/OssPolicy1",
"name": "OssPolicy1",
"type": "Microsoft.DataProtection/backupVaults/backupPolicies"
}
Související obsah
- Zálohujte disky Azure pomocí rozhraní REST API služby Data Protection.
- Rozhraní REST API služby Azure Backup Data Protection
- Referenční informace k rozhraní Azure REST API
- Pomocí rozhraní REST API ve službě Azure Backup můžete sledovat úlohy zálohování a obnovení.
- Správa serveru Azure Database for PostgreSQL pomocí webu Azure Portal