Criar políticas de backup dos Serviços de Recuperação do Azure usando a API REST
Este artigo descreve como criar políticas para o backup da VM do Azure, do banco de dados SQL na VM do Azure, do banco de dados SAP HANA na VM do Azure e do compartilhamento de arquivos do Azure.
Saiba mais sobre como criar ou modificar uma política de backup para um cofre dos Serviços de Recuperação do Azure usando a API REST.
Criar ou atualizar uma política
Para criar ou atualizar uma política do Backup do Azure, use a seguinte operação PUT.
PUT https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}?api-version=2019-05-13
O {policyName}
e {vaultName}
são fornecidas no URI. Informações adicionais são fornecidas no corpo da solicitação.
Criar o corpo da solicitação
Se você quiser criar uma política para o backup da VM do Azure, o corpo da solicitação precisará ter os seguintes componentes:
Nome | Obrigatória | Type | Descrição |
---|---|---|---|
properties | True | ProtectionPolicy:AzureIaaSVMProtectionPolicy | Propriedades de ProtectionPolicyResource |
marcas | Objeto | Marcações de recursos |
Para obter a lista completa de definições no corpo da solicitação, confira o artigo da API REST da política de backup.
Exemplo do corpo de solicitação
Esta seção fornece o corpo da solicitação de exemplo para criar políticas para o backup da VM do Azure, do banco de dados SQL na VM do Azure, do banco de dados SAP HANA na VM do Azure e do compartilhamento de arquivos do Azure.
Escolha uma fonte de dados:
O corpo da solicitação a seguir define uma política de backup padrão para backups de VM do Azure.
Esta política:
- Faz um backup semanal todas as segundas, quartas e quintas-feiras, às 10h, horário padrão do Pacífico.
- Guarda os backups realizados todas as segundas, quartas e quintas-feiras durante uma semana.
- Guarda os backups feitos em cada primeira quarta-feira e terceira quinta-feira de um mês de dois meses (substitui as condições de retenção anteriores, se houver).
- Guarda os backups realizados na quarta segunda-feira e quarta quinta-feira, em fevereiro e novembro, por quatro anos (substitui as condições de retenção anteriores, se houver).
{
"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"
}
}
}
}
}
O corpo da solicitação a seguir define uma política de backup aprimorada para backups de VM do Azure criando vários backups por dia.
Esta política:
- Faz um backup a cada 4 horas a partir das 15h30 UTC todos os dias
- Mantém o instantâneo de recuperação instantânea por 7 dias
- Guarda os backups diários por 180 dias
- Mantém os backups feitos no domingo de cada semana por 12 semanas
- Mantém os backups feitos no primeiro domingo de cada mês por 12 meses
{
"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
}
}
Importante
Os formatos de hora para programação e retenção suportam apenas o DateTime. Eles não têm suporte apenas do formato de hora.
Respostas
A criação/atualização de política de backup é um operação assíncrona. Isso significa que essa operação cria outra operação que precisa ser rastreada separadamente.
Ele retorna duas respostas: 202 (Aceito) quando outra operação é criada. E 200 (OK) quando essa operação é concluída.
Nome | Tipo | Descrição |
---|---|---|
200 OK | Proteção PolicyResource | OK |
202 Aceito | Aceito |
Respostas de exemplo
Depois de enviar a solicitação PUT para criação ou atualização de política, a resposta inicial é 202 (Aceito) com um cabeçalho de local ou cabeçalho assíncrono do Azure.
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
Em seguida, rastreie a operação resultante usando o cabeçalho de localização ou o cabeçalho Azure-AsyncOperation com um simples comando 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
Depois que a operação for concluída, ele retorna 200 (OK) com o conteúdo de política no corpo da resposta.
{
"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
}
}
Se uma política já estiver sendo usada para proteger um item, qualquer atualização na política resultará em modificar a proteção para todos os itens associados.
Próximas etapas
Habilitar a proteção para uma VM do Azure desprotegidos.
Para obter mais informações sobre as APIs REST do Backup do Azure, consulte os seguintes documentos: