Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве описывается создание политики резервного копирования для защиты базы данных Azure для PostgreSQL — гибкого сервера с помощью Azure CLI.
Политика Резервного копирования Azure для Базы данных Azure для PostgreSQL — гибкий сервер определяет способ и время создания резервных копий, период хранения для точек восстановления и правила защиты и восстановления данных. Azure Backup позволяет создать резервную копию гибкого сервера Azure PostgreSQL с помощью нескольких клиентов, таких как портал Azure, PowerShell, CLI, Azure Resource Manager, Bicep, Terraform и т. д.
Предпосылки
Перед созданием политики резервного копирования для Базы данных Azure для PostgreSQL — гибкий сервер убедитесь, что выполнены следующие предварительные требования:
- Просмотрите поддерживаемые сценарии и ограничения резервного копирования базы данных Azure для PostgreSQL — гибкие серверы.
- Создайте хранилище резервных копий для хранения точек восстановления для базы данных.
Создание политики резервного копирования
Чтобы создать политику резервного копирования, выполните следующие действия.
- Политика резервного копирования гибкого сервера PostgreSQL
- Извлеките шаблон политики
- Изменение шаблона политики
- Создание политики
Политика резервного копирования гибкого сервера PostgreSQL
Дисковое резервное копирование предоставляет возможность нескольких резервных копий в день, тогда как резервное копирование BLOB-объектов является непрерывным процессом без триггера. Теперь рассмотрим объект политики резервного копирования для PostgreSQL — гибкий сервер.
- Правило политики
- BackupRule
- BackupParameter
- BackupType (полная резервная копия базы данных в этом сценарии)
- Начальное хранилище данных (где резервные копии должны находиться изначально)
- Триггер (активация резервной копии)
- По расписанию
- Стандартные условия добавления тегов (тег по умолчанию для всех запланированных операций резервного копирования; этот тег связывает резервные копии с правилом хранения)
- BackupParameter
- Правило хранения по умолчанию (правило, применяемое ко всем резервным копиям по умолчанию в исходном хранилище данных)
- BackupRule
Поэтому этот объект определяет следующее:
- Тип запускаемых резервных копий
- Способ активации политик (по расписанию)
- Теги, реализованные в политике резервного копирования
- Расположение, в котором хранятся данные (хранилище данных)
- Жизненный цикл резервных данных в хранилище данных
Объект PowerShell по умолчанию для PostgreSQL — Гибкий сервер активирует полную резервную копию каждую неделю, и она поступает в хранилище, где хранится в течение трех месяцев.
Извлеките шаблон политики
Чтобы понять внутренние компоненты политики резервного копирования для гибкого сервера базы данных Azure PostgreSQL, получите шаблон политики с помощью команды az dataprotection backup-policy get-default-policy-template. Эта команда возвращает шаблон политики по умолчанию для заданного типа источника данных. Используйте этот шаблон политики для создания новой политики.
az dataprotection backup-policy get-default-policy-template --datasource-type AzureDatabaseForPostgreSQLFlexibleServer
{
"datasourceTypes": [
"Microsoft.DBforPostgreSQL/flexibleServers"
],
"name": "OssFlexiblePolicy1",
"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"
}
]
}
Шаблон политики состоит из триггера (определяет, что активирует резервную копию) и жизненный цикл (решает, когда следует удалять, копировать, перемещать резервную копию). В Azure PostgreSQL — резервное копирование гибкой базы данных сервера, значение по умолчанию для триггера — это запланированный еженедельный триггер (одна резервная копия каждые 7 дней), и каждая резервная копия сохраняется в течение трех месяцев.
Запланированный триггер:
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T06:30:00+00:00/P1W"
],
"timeZone": "UTC"
}
Жизненный цикл правила хранения по умолчанию:
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P3M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
}
Это важно
Расписание резервного копирования соответствует формату длительности ISO 8601. Однако префикс R повторяющегося интервала не поддерживается, так как резервные копии настроены на неограниченное время. Любое значение, указанное с параметром R , будет игнорироваться.
Изменение шаблона политики
Это важно
В Azure PowerShell объекты можно использовать в качестве промежуточных расположений для выполнения всех изменений. В Azure CLI необходимо использовать файлы, так как нет понятия "Объекты". Каждая операция редактирования должна быть перенаправлена в новый файл, где содержимое считывается из входного файла и перенаправляется в выходной файл. Позже вы можете переименовать файл, как требуется, при использовании в скрипте.
Изменение расписания
Шаблон политики по умолчанию предлагает резервное копирование один раз в неделю. Вы можете изменить расписание резервного копирования, чтобы оно выполнялось несколько дней в неделю. Чтобы изменить расписание, используйте az dataprotection backup-policy trigger set команду.
В следующем примере еженедельное резервное копирование изменяется на резервное копирование каждую неделю в воскресенье, среду и пятницу. В массиве дат расписания указаны даты, а дни недели, соответствующие этим датам, принимаются как дни недели. Кроме того, укажите, что эти расписания должны повторяться каждую неделю. Таким образом, интервал расписания — 1, а тип интервала — Weekly (Еженедельно).
az dataprotection backup-policy trigger create-schedule --interval-type Weekly --interval-count 1 --schedule-days 2021-08-15T22:00:00 2021-08-18T22:00:00 2021-08-20T22:00:00
[
"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"
]
az dataprotection backup-policy trigger set --policy .\OSSPolicy.json --schedule 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 > EditedOSSPolicy.json
Добавление нового правила хранения
Шаблон по умолчанию имеет жизненный цикл для исходного хранилища данных в правиле хранения по умолчанию. В этом сценарии правило удаляет данные резервной копии через три месяца. Используйте команду az dataprotection backup-policy retention-rule create-lifecycle, чтобы создать новые жизненные циклы, и команду az dataprotection backup-policy retention-rule set, чтобы связать их с новыми или существующими правилами.
В следующем примере создается новое правило хранения с именем Monthly, где первая успешная резервная копия каждого месяца должна храниться в хранилище в течение шести месяцев.
az dataprotection backup-policy retention-rule create-lifecycle --retention-duration-count 6 --retention-duration-type Months --source-datastore VaultStore > VaultLifeCycle.JSON
az dataprotection backup-policy retention-rule set --lifecycles .\VaultLifeCycle.JSON --name Monthly --policy .\EditedOSSPolicy.json > AddedRetentionRulePolicy.JSON
Добавление тега и соответствующих критериев
После создания правила хранения необходимо создать соответствующий тег в свойстве Trigger политики резервного копирования.
az dataprotection backup-policy tag create-absolute-criteria Используйте команду, чтобы создать новые критерии тегов и использовать az dataprotection backup-policy tag set команду для обновления существующего тега или создания нового тега.
В следующем примере создается новый тег и критерий, определяющий первую успешную резервную копию за месяц. Имя этого тега совпадает с именем правила хранения, которое здесь нужно применить.
В этом примере условия тега должны называться Monthly (Ежемесячно).
az dataprotection backup-policy tag create-absolute-criteria --absolute-criteria FirstOfMonth > tagCriteria.JSON
az dataprotection backup-policy tag set --criteria .\tagCriteria.JSON --name Monthly --policy .\AddedRetentionRulePolicy.JSON > AddedRetentionRuleAndTag.JSON
Например, если расписание состоит из нескольких резервных копий в неделю (каждую воскресенье, среду, четверг, как указано в примере), и вы хотите архивировать резервные копии воскресенье и пятницу, то критерии тегов можно изменить следующим образом, используя az dataprotection backup-policy tag create-generic-criteria команду.
az dataprotection backup-policy tag create-generic-criteria --days-of-week Sunday Friday > tagCriteria.JSON
az dataprotection backup-policy tag set --criteria .\tagCriteria.JSON --name Monthly --policy .\AddedRetentionRulePolicy.JSON > AddedRetentionRuleAndTag.JSON
Создание политики
После изменения шаблона в соответствии с требованиями используйте az dataprotection backup-policy create команду для создания политики с помощью измененного шаблона.
az dataprotection backup-policy create --backup-policy-name FinalOSSPolicy --policy AddedRetentionRuleAndTag.JSON --resource-group testBkpVaultRG --vault-name TestBkpVault