Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Sicherungsrichtlinie regelt die Aufbewahrung und den Zeitplan für Ihre Sicherungen. Die Azure PostgreSQL-Datenbanksicherung bietet eine langfristige Aufbewahrung und unterstützt eine Sicherung pro Tag.
Sie können eine vorhandene Sicherungsrichtlinie wiederverwenden, um die Sicherung für PostgreSQL-Datenbanken in einem Tresor zu konfigurieren oder eine Sicherungsrichtlinie für einen Azure Recovery Services-Tresor mithilfe der REST-API zu erstellen.
Grundlegendes zur PostgreSQL-Sicherungsrichtlinie
Während die Datenträgersicherung mehrere Sicherungen pro Tag bietet und die Blobsicherung eine kontinuierliche Sicherung ohne Trigger ist, bietet die PostgreSQL-Sicherung Archivschutz. Die Sicherungsdaten, die zuerst an den Tresor gesendet werden, können gemäß einer Regel oder einem Lebenszyklus auf die Archivebene verschoben werden. In diesem Zusammenhang möchten wir das Sicherungsrichtlinienobjekt für PostgreSQL verstehen.
- PolicyRule
- BackupRule
- BackupParameter
- BackupType (In diesem Fall eine vollständige Datenbanksicherung)
- Anfänglicher Datenspeicher (Wo die Sicherungen anfänglich gespeichert werden)
- Trigger (Wie die Sicherung ausgelöst wird)
- Zeitplanbasiert
- Standardtaggingkriterien (Ein Standardtag für alle geplanten Sicherungen – dieses Tag verknüpft die Sicherungen mit der Aufbewahrungsregel)
- BackupParameter
- Standardaufbewahrungsregel (Eine Regel, die standardmäßig auf alle Sicherungen im anfänglichen Datenspeicher angewendet wird)
- BackupRule
Dieses Objekt definiert also, welche Art von Sicherungen ausgelöst werden, wie sie ausgelöst werden (über einen Zeitplan), mit was sie markiert werden, wo sie abgelegt werden (ein Datenspeicher) und den Lebenszyklus der Sicherungsdaten in einem Datenspeicher. Das PowerShell-Standardobjekt für PostgreSQL besagt, dass jede Woche eine vollständige Sicherung ausgelöst wird, die dann in den Tresor gelangt, wo sie drei Monate lang gespeichert wird.
Wenn Sie der Richtlinie die Archivebene hinzufügen möchten, müssen Sie entscheiden, wann die Daten vom Tresor ins Archiv verschoben werden, wie lange die Daten im Archiv bleiben und welche der geplanten Sicherungen als archivierbar gekennzeichnet werden sollen. Daher müssen Sie eine Aufbewahrungsregel hinzufügen, bei der der Lebenszyklus der Sicherungsdaten vom Tresordatenspeicher zum Archivdatenspeicher definiert wird und festgelegt wird, wie lange die Daten im Archivdatenspeicher aufbewahrt werden. Anschließend müssen Sie ein „Tag“ hinzufügen, das die geplanten Sicherungen als zur Archivierung berechtigt markiert. Das resultierende PowerShell-Objekt sieht wie folgt aus:
- PolicyRule
- BackupRule
- BackupParameter
- BackupType (In diesem Fall eine vollständige Datenbanksicherung)
- Anfänglicher Datenspeicher (Wo die Sicherungen anfänglich gespeichert werden)
- Trigger (Wie die Sicherung ausgelöst wird)
- Zeitplanbasiert
- Standardtaggingkriterien (Ein Standardtag für alle geplanten Sicherungen – dieses Tag verknüpft die Sicherungen mit der Aufbewahrungsregel)
- Neue Taggingkriterien für die neue Aufbewahrungsregel mit dem gleichen Namen „X“
- BackupParameter
- Standardaufbewahrungsregel (Eine Regel, die standardmäßig auf alle Sicherungen im anfänglichen Datenspeicher angewendet wird)
- Eine neue Aufbewahrungsregel mit dem Namen „X“
- Lebenszyklus
- Quelldatenspeicher
- Löschen nach einem festgelegten Zeitraum im Quelldatenspeicher
- Kopieren in den Zieldatenspeicher
- Lebenszyklus
- BackupRule
Führen Sie die folgenden Aktionen aus, um eine Richtlinie zum Sichern von PostgreSQL-Datenbanken zu erstellen:
Erstellen einer Richtlinie
Wichtig
Derzeit wird das Aktualisieren oder Ändern einer vorhandenen Richtlinie nicht unterstützt. Alternativ dazu können Sie eine neue Richtlinie mit den erforderlichen Details erstellen und sie der relevanten Sicherungsinstanz zuweisen.
Verwenden Sie den folgenden PUT-Vorgang, um eine Azure Backup-Richtlinie zu erstellen:
PUT https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{policyName}?api-version=2021-01-01
Der {policyName}
und der {vaultName}
werden im URI angegeben. Zusätzliche Informationen werden im Anforderungstext bereitgestellt.
Erstellen des Anforderungstexts
Um beispielsweise eine Richtlinie für die PostgreSQL-Sicherung zu erstellen, benötigt der Anforderungstext die folgenden Komponenten:
Name | Erforderlich | Typ | BESCHREIBUNG |
---|---|---|---|
Eigenschaften | Wahr | BaseBackupPolicy:BackupPolicy | BaseBackupPolicyResource-Eigenschaften |
Eine vollständige Liste der Definitionen im Anforderungstext finden Sie im REST-API-Dokument zur Sicherungsrichtlinie.
Beispiel für Anforderungstext
Die Richtlinie besagt Folgendes:
- Planen Sie eine wöchentliche Sicherung, und wählen Sie die Startzeit aus. (Zeit + P1W)
- Der Datenspeicher ist ein Tresorspeicher, da die Sicherungen direkt in den Tresor übertragen werden.
- Die Sicherungen werden im Tresor für drei Monate (P3M) aufbewahrt.
{
"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"
}
]
}
Wichtig
Die Zeitformate unterstützen nur Datum/Uhrzeit, nur Uhrzeit wird nicht unterstützt. Die Uhrzeit gibt die Startzeit der Sicherung an und nicht die Zeit, zu der die Sicherung abgeschlossen ist.
Wir aktualisieren den obigen JSON-Code mit zwei Änderungen: Sicherungen werden an mehreren Wochentagen durchgeführt und ein Archivdatenspeicher zur Langzeitaufbewahrung von PostgreSQL-Datenbanksicherungen wird hinzugefügt.
Im folgenden Beispiel wird die wöchentliche Sicherung so verändert, dass sie jeden Sonntag, Mittwoch und Freitag jeder Woche durchgeführt wird. Das Datumsarray für den Zeitplan erwähnt die Datumsangaben. Die Wochentage dieser Datumsangaben werden als Wochentage verwendet. Sie müssen auch angeben, dass diese Zeitpläne jede Woche wiederholt werden sollen. Das Zeitplanintervall ist also 1 und der Intervalltyp ist Wöchentlich.
Geplanter Auslöser:
"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"
}
Wenn Sie den Archivschutz hinzufügen möchten, müssen Sie den JSON-Code der Richtlinie wie folgt ändern:
Der obige JSON-Code verfügt über einen Lebenszyklus für den anfänglichen Datenspeicher unter der Standardaufbewahrungsregel. In diesem Szenario besagt die Regel, dass die Sicherungsdaten nach drei Monaten gelöscht werden. Sie sollten eine neue Aufbewahrungsregel hinzufügen, die definiert, wann die Daten in den Archivdatenspeicherverschoben werden. Das heißt, dass Sicherungsdaten zuerst in den Archivdatenspeicher kopiert und dann im Tresordatenspeicher gelöscht werden. Außerdem sollte die Regel die Dauer definieren, um die Daten im Archivdatenspeicher zu speichern. Wir nennen diese neue Regel Monatlich. Sie definiert, dass Sicherungen sechs Monate lang im Tresordatenspeicher aufbewahrt und dann in den Archivdatenspeicher kopiert werden sollen. Löschen Sie dann die Daten im Tresordatenspeicher, und speichern Sie sie 24 Monate lang im Archivdatenspeicher. Löschen Sie anschließend die Daten im Archivdatenspeicher.
Aufbewahrungslebenszyklus:
"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"
}
Jedes Mal, wenn Sie eine Aufbewahrungsregel hinzufügen, müssen Sie ein entsprechendes Etikett in der Triggereigenschaft der Richtlinie einfügen. Im folgenden Beispiel wird ein neues Tag zusammen mit den Kriterien (die erste erfolgreiche Sicherung des Monats) mit dem exakt gleichen Namen erstellt wie die entsprechende Anwendungsregel, die angewendet werden soll.
In diesem Beispiel sollten die Tagkriterien Monatlich heißen.
Taggingkriterien:
{
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"objectType": "ScheduleBasedBackupCriteria"
}
],
"isDefault": false,
"tagInfo": {
"tagName": "Monthly"
},
"taggingPriority": 15
}
Nach dem Einschließen aller Änderungen wird der JSON-Code der Richtlinie wie folgt angezeigt:
{
"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"
}
]
}
Weitere Informationen zur Richtlinienerstellung finden Sie im Dokument zur Sicherungsrichtlinie der PostgreSQL-Datenbank .
Antworten
Die Erstellung/Aktualisierung der Sicherungsrichtlinie ist ein synchroner Vorgang und gibt OK zurück, sobald der Vorgang abgeschlossen ist.
Name | Typ | BESCHREIBUNG |
---|---|---|
200 – OK | BaseBackupPolicyResource | OK |
Beispielantworten
Wenn der Vorgang abgeschlossen ist, wird 200 (OK) mit dem Richtlinieninhalt im Antworttext zurückgegeben.
{
"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"
}
Nächste Schritte
Aktivieren des Schutzes für Azure-Datenträger
Weitere Informationen zu den Azure Backup-REST-APIs finden Sie in den folgenden Artikeln: