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

URI에서 {policyName}{vaultName}을 제공합니다. 요청 본문에 추가 정보가 제공됩니다.

요청 본문 만들기

Azure VM 백업에 대한 정책을 만들려면 요청 본문에 다음 구성 요소가 있어야 합니다.

이름 필수 Type 설명
속성 True ProtectionPolicy:AzureIaaSVMProtectionPolicy ProtectionPolicyResource 속성
tags Object 리소스 태그

요청 본문의 전체 정의 목록은 백업 정책 REST API 문서를 참조 하세요.

요청 본문 예제

이 섹션에서는 Azure VM의 백업, Azure VM의 SQL 데이터베이스, Azure VM의 SAP HANA 데이터베이스 및 Azure 파일 공유에 대한 정책을 만드는 예제 요청 본문을 제공합니다.

데이터 원본을 선택합니다.

다음 요청 본문에서는 Azure VM 백업에 대한 표준 백업 정책을 정의합니다.

이 정책은:

  • 매주 백업은 매주 월요일, 수요일, 목요일 오전 10시(태평양 표준시)에 수행합니다.
  • 한 주간 동안 매주 월요일, 수요일, 목요일에 수행된 백업을 보존합니다.
  • 두 달 동안 매달 첫 번째 수요일 및 세 번째 목요일에 수행된 백업을 보존합니다(이전 보존 조건이 있는 경우 재정의함).
  • 4년 동안 2월 및 11월의 네 번째 월요일 및 목요일에 수행된 백업을 보존합니다(이전 보존 조건이 있는 경우 재정의함).
{
  "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 VM 백업에 대한 향상된 백업 정책을 정의합니다.

이 정책은:

  • 매일 오후 3시 30분(UTC)부터 4시간마다 백업 수행
  • 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
	}
}

Important

일정 및 보존에 대한 시간 형식은 DateTime만 지원합니다. Time 형식만 따로 지원하지는 않습니다.

응답

백업 정책 만들기/업데이트는 비동기 작업입니다. 즉, 이 작업은 별도로 추적해야 하는 다른 작업을 만듭니다.

다른 작업을 만들 때 202(수락)의 두 응답을 반환합니다. 그런 다음, 해당 작업이 완료되면 200(확인)입니다.

이름 형식 설명
200 OK Protection PolicyResource OK
202 수락됨 Accepted

예제 응답

정책 생성 또는 업데이트에 대한 PUT 요청을 제출하면 초기 응답은 위치 헤더 또는 Azure-async-header가 있는 202(수락됨)입니다.

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

그런 다음, 간단한 GET 명령으로 위치 헤더 또는 Azure-AsyncOperation 헤더를 사용하여 결과 작업을 추적합니다.

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 VM에 대한 보호를 사용하도록 설정합니다.

Azure Backup REST API에 대한 자세한 내용은 다음 문서를 참조하세요.