Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A biztonsági mentési szabályzat szabályozza a PostgreSQL-adatbázis biztonsági mentéseinek megőrzését és ütemezését az Azure Database for PostgreSQL-ben. Az Azure Database for PostgreSQL hosszú távú adatmegőrzést biztosít az adatbázis biztonsági másolataihoz, és támogatja a napi biztonsági mentést.
Egy meglévő biztonsági mentési szabályzatot újra felhasználhat a PostgreSQL-adatbázisok biztonsági mentéseinek tárolóba való konfigurálásához, vagy létrehozhat egy biztonsági mentési szabályzatot egy Azure Recovery Services-tárolóhoz az Azure Backuphoz készült Data Protection REST API használatával. Ebben a cikkben biztonsági mentési szabályzatot hoz létre.
A PostgreSQL biztonsági mentési szabályzatai
Míg a lemezes biztonsági mentés naponta több biztonsági mentést is biztosít, a blobok biztonsági mentése pedig folyamatos biztonsági mentés eseményindító nélkül, a PostgreSQL biztonsági mentése archív védelmet nyújt. Az elsőként a tárolóba küldött biztonsági mentési adatok egy meghatározott szabály vagy életciklus alapján áthelyezhetők az archív szintre.
Ebben a kontextusban a következő hierarchia segíthet megérteni a PostgreSQL biztonsági mentési házirend-objektumát:
- Szabályzatszabály
- Biztonsági mentési szabály
- Biztonsági mentési paraméter
- Biztonsági mentés típusa (ebben az esetben teljes adatbázis biztonsági mentése)
- Kezdeti adattár (ahol a biztonsági másolatok eredetileg érkeznek)
- Eseményindító (a biztonsági mentés aktiválása)
- Időbeosztás
- Alapértelmezett címkézési feltételek (alapértelmezett címke, amely az összes ütemezett biztonsági mentést az adatmegőrzési szabályhoz kapcsolja)
- Biztonsági mentési paraméter
- Alapértelmezett adatmegőrzési szabály (a kezdeti adattárban alapértelmezés szerint az összes biztonsági mentésre alkalmazott szabály)
- Biztonsági mentési szabály
A szabályzatobjektum határozza meg, hogy milyen típusú biztonsági mentések aktiválódnak, hogyan aktiválódnak (ütemezés szerint), mivel vannak megjelölve, hová kerülnek (adattár), és hogy milyen életciklussal rendelkeznek adataik egy adattárban.
A PostgreSQL alapértelmezett PowerShell-objektuma azt mondja, hogy minden héten teljes biztonsági mentést kell indítania. A biztonsági másolatok elérik a tárolót, ahol három hónapig vannak tárolva.
Ha hozzá szeretné adni az archív szintet a szabályzathoz, el kell döntenie, hogy mikor kerülnek át az adatok a tárolóból az archívumba, mennyi ideig maradnak az adatok az archívumban, és hogy az ütemezett biztonsági másolatok közül melyik legyen archiválható. Hozzá kell adnia egy adatmegőrzési szabályt, amely meghatározza a tárolóadatbankból származó biztonsági mentési adatok életciklusát az archív adatbankban. Az adatmegőrzési szabály azt is meghatározza, hogy a biztonsági mentési adatok mennyi ideig maradnak az archív adattárban. Ezután fel kell vennie egy címkét, amely az ütemezett biztonsági másolatokat archiválásra jogosultként jelöli meg.
A létrejött PowerShell objektum a következő:
- Szabályzatszabály
- Biztonsági mentési szabály
- Biztonsági mentési paraméter
- Biztonsági mentés típusa (ebben az esetben teljes adatbázis biztonsági mentése)
- Kezdeti adattár (ahol a biztonsági másolatok kezdetben helyet kapnak)
- Eseményindító (a biztonsági mentés aktiválása)
- Időbeosztás
- Alapértelmezett címkézési feltételek (alapértelmezett címke, amely az összes ütemezett biztonsági mentést az adatmegőrzési szabályhoz kapcsolja)
- Új címkézési feltételek az azonos nevű új adatmegőrzési szabályhoz
- Biztonsági mentési paraméter
- Alapértelmezett adatmegőrzési szabály (a kezdeti adattárban alapértelmezés szerint az összes biztonsági mentésre alkalmazott szabály)
- Új adatmegőrzési szabály
- Életciklus
- Forrás adattár
- A forrásadattárban történő törlés időtartama
- Másolás a céladattárba
- Életciklus
- Biztonsági mentési szabály
Hozzon létre egy irányelvet.
Important
Jelenleg egy meglévő irányelv frissítése vagy módosítása nem támogatott. Ehelyett hozzon létre egy új szabályzatot a szükséges részletekkel, és rendelje hozzá a megfelelő biztonsági mentési példányhoz.
Biztonsági mentési szabályzat létrehozásához használja a következő PUT műveletet:
PUT https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{policyName}?api-version=2021-01-01
Az URI biztosítja a {policyName} és {vaultName} értékeket. A kérelem törzse további információkat tartalmaz.
Hozd létre a kérés törzsét
A PostgreSQL biztonsági mentési szabályzatának létrehozásához a kérelem törzsének a következő összetevőkre van szüksége:
| Name | Kötelező | Típus | Leírás |
|---|---|---|---|
properties |
true |
BaseBackupPolicy: BackupPolicy |
BaseBackupPolicyResource tulajdonságok |
A kérelem törzsében található definíciók teljes listájáért tekintse meg a REST API biztonsági mentési szabályzatait.
Példakérés törzse
A szabályzat azt mondja:
- Az eseményindító heti biztonsági mentésre van ütemezve a kiválasztott kezdési időpontban (idő +
P1W). - Az adattár egy archívumtároló, mert a biztonsági másolatok közvetlenül az archívumba kerülnek.
- A biztonsági másolatok három hónapig (
P3M) megmaradnak a tárolóban.
{
"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"
}
]
}
Important
Az időformátumok csak DateTime támogatják.
Time nem támogatott. A nap időpontja a biztonsági mentés kezdési idejét jelzi, nem pedig a befejezési időpontot.
Frissítse az előző JSON-t két módosítással:
- Készítsen biztonsági másolatot a hét több napján.
- Adjon hozzá egy archív adattárat a PostgreSQL-adatbázisok biztonsági mentéseinek hosszú távú megőrzéséhez.
Az alábbi példa a heti biztonsági mentést minden hét vasárnapjára, szerdára és péntekére módosítja. Az ütemezési dátumtömb a dátumokat említi, és az adott dátumok hét napjait a hét napjainak tekinti. Azt is meg kell adnia, hogy ezek az ütemezések hetente ismétlődjenek. Tehát az ütemezési időköz 1 és az intervallum típusa Weekly.
Ütemezett eseményindító
"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"
}
Ha hozzá szeretné adni az archív védelmet, módosítania kell a szabályzat JSON-t.
Megőrzési életciklus
Az előző JSON az alapértelmezett adatmegőrzési szabály szerinti kezdeti adattár életciklusával rendelkezik. Ebben a helyzetben a szabály azt mondja, hogy három hónap után töröljük a biztonsági mentési adatokat. Adjon hozzá egy új adatmegőrzési szabályt, amely meghatározza, hogy az adatok mikor kerülnek át az archív adattárba. Vagyis a biztonsági mentési adatok először az archív adattárba lesznek másolva, majd törlődnek a tárolóadattárból.
Emellett a szabálynak meg kell határoznia azokat az időtartamokat is, amelyekkel az adatok megmaradnak az archív adattárban. Nevezzük el ezt az új szabályt Monthly. Meghatározza, hogy a biztonsági másolatokat 6 hónapig meg kell őrizni a tárolóadattárban, majd át kell másolni az archív adattárba. Ezután törölje a tárolóadattárban lévő biztonsági másolatokat, és őrizze meg az adatokat 24 hónapig az archív adattárban. Végül törölje az adatokat az archív adattárból.
"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"
}
Címkézési feltételek
Minden alkalommal, amikor megőrzési szabályt ad hozzá, hozzá kell adnia egy megfelelő címkét a Trigger szabályzat tulajdonságához. Az alábbi példa egy új címkét hoz létre, a kritériumokkal (amely a hónap első sikeres biztonsági mentése), pontosan ugyanazzal a névvel, mint a megfelelően alkalmazandó megőrzési szabály.
Ebben a példában a címkefeltételnek a következő nevet kell adni Monthly:
{
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"objectType": "ScheduleBasedBackupCriteria"
}
],
"isDefault": false,
"tagInfo": {
"tagName": "Monthly"
},
"taggingPriority": 15
}
Az összes módosítás belefoglalása után a szabályzat JSON-ja a következőképpen jelenik meg:
{
"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"
}
]
}
A szabályzatok létrehozásával kapcsolatos további részletekért lásd : Biztonsági mentési szabályzat létrehozása.
A válasz ellenőrzése
A biztonsági mentési szabályzat létrehozása vagy frissítése szinkron művelet. A művelet sikeres végrehajtása után a következő állapotválaszt adja vissza a válasz törzsében található szabályzattartalommal.
| Name | Típus | Leírás |
|---|---|---|
200 OK |
BaseBackupPolicyResource |
A művelet befejeződött. |
Példa válasz
{
"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"
}
Kapcsolódó tartalom
- Azure-lemezek biztonsági mentése a Data Protection REST API használatával.
- Azure Backup Data Protection REST API.
- Azure REST API-referencia.
- Nyomon követheti a biztonsági mentési és visszaállítási feladatokat a REST API használatával az Azure Backupban.
- Azure Database for PostgreSQL-kiszolgáló kezelése az Azure Portal használatával.