REST API を使って Azure Recovery Services バックアップ ポリシーを作成する
この記事では、Azure VM、Azure VM の SQL データベース、Azure VM の SAP HANA データベース、Azure ファイル共有のバックアップ用のポリシーを作成する方法について説明します。
詳細については、REST API を使った Azure Recovery Services コンテナーのバックアップ ポリシーの作成または変更に関するページを参照してください。
ポリシーを作成または更新する
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 VM バックアップのポリシーを作成する場合は、要求本文に次のコンポーネントが必要です。
名前 | Required | タイプ | 説明 |
---|---|---|---|
properties | True | ProtectionPolicy:AzureIaaSVMProtectionPolicy | ProtectionPolicyResource のプロパティ |
tags | Object | リソース タグ |
要求本文での定義の完全なリストについては、バックアップ ポリシー REST API に関する記事を参照してください。
要求本文の例
このセクションでは、Azure VM、Azure VM の SQL データベース、Azure VM の SAP HANA データベース、Azure ファイル共有のバックアップ用のポリシーを作成するための要求本文の例を示します。
データソースを選びます:
次の要求本文は、Azure VM のバックアップに対する標準的なバックアップ ポリシーを定義します。
このポリシー:
- 毎週のバックアップを、月曜日、水曜日、木曜日の午前 10 時 00 分 (太平洋標準時) に作成します。
- 毎週の月曜日、水曜日、木曜日に作成したバックアップを、1 週間保持します。
- 毎月の第 1 水曜日と第 3 木曜日に作成したバックアップを、2 か月間保持します (前の保持条件が存在する場合は上書きします)。
- 2 月と 11 月の第 4 月曜日と第 4 木曜日に作成したバックアップを、4 年間保持します (前の保持条件が存在する場合は上書きします)。
{
"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"
}
}
}
}
}
次の要求本文は、1 日に複数のバックアップを作成する Azure VM バックアップについて強化されたバックアップ ポリシーを定義します。
このポリシー:
- 毎日午後 3 時 30 分 (UTC) から 4 時間ごとにバックアップを作成します
- インスタント回復スナップショットを 7 日間保持します
- 毎日のバックアップを 180 日間保持します
- 毎週日曜日に作成されたバックアップを 12 週間保持します
- 毎月第 1 日曜日に作成されたバックアップを 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 のみがサポートされます。 Time 形式のみはサポートされません。
Responses
バックアップ ポリシーの作成/更新は、非同期操作です。 つまり、この操作では、個別に追跡する必要がある別の操作が作成されます。
これにより、2 つの応答が返されます。別の操作が作成されたときは 202 (Accepted)。 さらにその操作が完了したときは 200 (OK) です。
Name | 種類 | 説明 |
---|---|---|
200 OK | ProtectionPolicyResource | [OK] |
202 Accepted | 承認済み |
応答の例
ポリシーの作成または更新に対する PUT 要求を送信した後、最初の応答は場所ヘッダーまたは Azure-async-header を含む 202 (Accepted) です。
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
その後は、場所ヘッダーまたは 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 (OK) が返されます。
{
"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 Backup REST API について詳しくは、次のドキュメントをご覧ください。