Создание политик резервного копирования служб восстановления Azure с помощью REST API

В этой статье описывается создание политик для резервного копирования виртуальной машины Azure, базы данных SQL в виртуальной машине Azure, базы данных SAP HANA в виртуальной машине Azure и файлов Azure.

Дополнительные сведения о создании или изменении политики резервного копирования для хранилища служб восстановления Azure с помощью REST API.

Создание или обновление политики в хранилище служб восстановления Azure

Чтобы создать или обновить политику Azure Backup, используйте следующую операцию PUT .

PUT https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}?api-version=2019-05-13

{policyName} и {vaultName} предоставляются в URI. Дополнительные сведения предоставляются в тексте запроса.

Создание текста запроса для политики резервного копирования виртуальных машин Azure

Если вы хотите создать политику резервного копирования виртуальных машин Azure, текст запроса должен иметь следующие компоненты:

Имя Обязательно Тип Описание
свойства Верно ProtectionPolicy:AzureIaaSVMProtectionPolicy Свойства ресурса политики защиты
Теги Объект Теги ресурсов

Полный список определений в тексте запроса см. в статье REST API политики резервного копирования.

Примеры текста запроса

В этом разделе приведен пример текста запроса для создания политик для резервного копирования виртуальной машины Azure, базы данных SQL в виртуальной машине Azure, базы данных SAP HANA в виртуальной машине Azure и файлов Azure.

Выберите источник данных:

Следующий текст запроса определяет стандартную политику резервного копирования для резервных копий виртуальных машин Azure.

Эта политика:

  • Выполняет еженедельное резервное копирование каждый понедельник, среду и четверг в 10:00 утра по тихоокеанскому стандартному времени.
  • Сохраняет резервные копии, сделанные каждый понедельник, среду, четверг в течение одной недели.
  • Сохраняет резервные копии, сделанные в каждую первую среду и третий четверг месяца в течение двух месяцев (переопределяет предыдущие условия хранения, если таковые есть).
  • Сохраняет резервные копии, сделанные в четвертый понедельник и четвертый четверг в феврале и ноябре в течение четырех лет (переопределяет предыдущие условия хранения, если таковые есть).
{
  "properties": {
    "backupManagementType": "AzureIaasVM",
    "timeZone": "Pacific Standard Time",
    "schedulePolicy": {
      "schedulePolicyType": "SimpleSchedulePolicy",
      "scheduleRunFrequency": "Weekly",
      "scheduleRunTimes": [
        "2018-01-24T10:00:00Z"
      ],
      "scheduleRunDays": [
        "Monday",
        "Wednesday",
        "Thursday"
      ]
    },
    "retentionPolicy": {
      "retentionPolicyType": "LongTermRetentionPolicy",
      "weeklySchedule": {
        "daysOfTheWeek": [
          "Monday",
          "Wednesday",
          "Thursday"
        ],
        "retentionTimes": [
          "2018-01-24T10:00:00Z"
        ],
        "retentionDuration": {
          "count": 1,
          "durationType": "Weeks"
        }
      },
      "monthlySchedule": {
        "retentionScheduleFormatType": "Weekly",
        "retentionScheduleWeekly": {
          "daysOfTheWeek": [
            "Wednesday",
            "Thursday"
          ],
          "weeksOfTheMonth": [
            "First",
            "Third"
          ]
        },
        "retentionTimes": [
          "2018-01-24T10:00:00Z"
        ],
        "retentionDuration": {
          "count": 2,
          "durationType": "Months"
        }
      },
      "yearlySchedule": {
        "retentionScheduleFormatType": "Weekly",
        "monthsOfYear": [
          "February",
          "November"
        ],
        "retentionScheduleWeekly": {
          "daysOfTheWeek": [
            "Monday",
            "Thursday"
          ],
          "weeksOfTheMonth": [
            "Fourth"
          ]
        },
        "retentionTimes": [
          "2018-01-24T10:00:00Z"
        ],
        "retentionDuration": {
          "count": 4,
          "durationType": "Years"
        }
      }
    }
  }
}

Следующий текст запроса определяет расширенную политику резервного копирования для резервных копий виртуальных машин Azure, создавая несколько резервных копий в день.

Эта политика:

  • Выполняет резервное копирование каждые 4 часа с 3:30 вечера UTC каждый день
  • Сохраняет моментальную копию восстановления в течение 7 дней
  • Сохраняет ежедневные резервные копии в течение 180 дней
  • Сохраняет резервные копии, сделанные в воскресенье каждую неделю в течение 12 недель
  • Сохраняет резервные копии, сделанные в первое воскресенье каждого месяца в течение 12 месяцев
{
	"properties": {
		"backupManagementType": "AzureIaasVM",
		"policyType": "V2",
		"instantRPDetails": {},
		"schedulePolicy": {
			"schedulePolicyType": "SimpleSchedulePolicyV2",
			"scheduleRunFrequency": "Hourly",
			"hourlySchedule": {
				"interval": 4,
				"scheduleWindowStartTime": "2023-02-06T15:30:00Z",
				"scheduleWindowDuration": 24
			}
		},
		"retentionPolicy": {
			"retentionPolicyType": "LongTermRetentionPolicy",
			"dailySchedule": {
				"retentionTimes": [
					"2023-02-06T15:30:00Z"
				],
				"retentionDuration": {
					"count": 180,
					"durationType": "Days"
				}
			},
			"weeklySchedule": {
				"daysOfTheWeek": [
					"Sunday"
				],
				"retentionTimes": [
					"2023-02-06T15:30:00Z"
				],
				"retentionDuration": {
					"count": 12,
					"durationType": "Weeks"
				}
			},
			"monthlySchedule": {
				"retentionScheduleFormatType": "Weekly",
				"retentionScheduleWeekly": {
					"daysOfTheWeek": [
						"Sunday"
					],
					"weeksOfTheMonth": [
						"First"
					]
				},
				"retentionTimes": [
					"2023-02-06T15:30:00Z"
				],
				"retentionDuration": {
					"count": 12,
					"durationType": "Months"
				}
			}
		},
		"tieringPolicy": {
			"ArchivedRP": {
				"tieringMode": "DoNotTier",
				"duration": 0,
				"durationType": "Invalid"
			}
		},
		"instantRpRetentionRangeInDays": 7,
		"timeZone": "UTC",
		"protectedItemsCount": 0
	}
}

Это важно

Форматы времени для расписания и хранения поддерживают только DateTime. Они не поддерживают формат времени отдельно.

Ответы на создание или обновление политики резервного копирования

Создание и обновление политики резервного копирования — это асинхронная операция. Это означает, что такая операция создает другую операцию, которая должна отслеживаться отдельно.

Она возвращает два ответа: 202 (принято) при создании новой операции, а затем — 200 (ОК) после завершения операции.

Имя Тип Описание
200 OK (Запрос выполнен успешно) Политика защитыResource ХОРОШО
202 Принято Принято

Примеры ответов

После отправки запроса PUT для создания или обновления политики первоначальный ответ — 202 (принято) с заголовком Location или заголовком Azure-Async.

HTTP/1.1 202 Accepted
Pragma: no-cache
Retry-After: 60
Azure-AsyncOperation: https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01
X-Content-Type-Options: nosniff
x-ms-request-id: db785be0-bb20-4598-bc9f-70c9428b170b
x-ms-client-request-id: e1f94eef-9b2d-45c4-85b8-151e12b07d03; e1f94eef-9b2d-45c4-85b8-151e12b07d03
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1199
x-ms-correlation-request-id: db785be0-bb20-4598-bc9f-70c9428b170b
x-ms-routing-request-id: SOUTHINDIA:20180521T073907Z:db785be0-bb20-4598-bc9f-70c9428b170b
Cache-Control: no-cache
Date: Mon, 21 May 2018 07:39:06 GMT
Location: https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2019-05-13
X-Powered-By: ASP.NET

Затем отследите итоговую операцию, используя заголовок location или Azure-AsyncOperation с помощью простой команды GET.

GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2019-05-13

После завершения операции он возвращает код 200 (ОК) с содержанием политики в тексте ответа.

{
  "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupPolicies/testPolicy1",
  "name": "testPolicy1",
  "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
  "properties": {
    "backupManagementType": "AzureIaasVM",
    "schedulePolicy": {
      "schedulePolicyType": "SimpleSchedulePolicy",
      "scheduleRunFrequency": "Weekly",
      "scheduleRunDays": [
        "Monday",
        "Wednesday",
        "Thursday"
      ],
      "scheduleRunTimes": [
        "2018-01-24T10:00:00Z"
      ],
      "scheduleWeeklyFrequency": 0
    },
    "retentionPolicy": {
      "retentionPolicyType": "LongTermRetentionPolicy",
      "weeklySchedule": {
        "daysOfTheWeek": [
          "Monday",
          "Wednesday",
          "Thursday"
        ],
        "retentionTimes": [
          "2018-01-24T10:00:00Z"
        ],
        "retentionDuration": {
          "count": 1,
          "durationType": "Weeks"
        }
      },
      "monthlySchedule": {
        "retentionScheduleFormatType": "Weekly",
        "retentionScheduleWeekly": {
          "daysOfTheWeek": [
            "Wednesday",
            "Thursday"
          ],
          "weeksOfTheMonth": [
            "First",
            "Third"
          ]
        },
        "retentionTimes": [
          "2018-01-24T10:00:00Z"
        ],
        "retentionDuration": {
          "count": 2,
          "durationType": "Months"
        }
      },
      "yearlySchedule": {
        "retentionScheduleFormatType": "Weekly",
        "monthsOfYear": [
          "February",
          "November"
        ],
        "retentionScheduleWeekly": {
          "daysOfTheWeek": [
            "Monday",
            "Thursday"
          ],
          "weeksOfTheMonth": [
            "Fourth"
          ]
        },
        "retentionTimes": [
          "2018-01-24T10:00:00Z"
        ],
        "retentionDuration": {
          "count": 4,
          "durationType": "Years"
        }
      }
    },
    "timeZone": "Pacific Standard Time",
    "protectedItemsCount": 0
  }
}

Если политика уже используется для защиты элемента, любое обновление в политике приведет к изменению защиты всех связанных элементов.

Дальнейшие действия

Включите защиту для незащищенной виртуальной машины Azure.

Дополнительные сведения о REST API Azure Backup см. в следующих документах: