Créer des stratégies de sauvegarde Azure Recovery Services avec l’API REST

Cet article décrit comment créer des stratégies pour la sauvegarde d’une machine virtuelle Azure, d’une base de données SQL dans une machine virtuelle Azure, d’une base de données SAP HANA dans une machine virtuelle Azure et d’un partage de fichiers Azure.

Découvrez comment créer ou modifier une stratégie de sauvegarde pour un coffre Azure Recovery Services avec l’API REST.

Créer ou mettre à jour une stratégie

Pour créer ou mettre à jour une stratégie de sauvegarde Azure, utilisez l’opération PUT suivante.

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

{policyName} et {vaultName} sont fournis dans l’URI. Vous trouverez des informations supplémentaires dans le corps de la requête.

Créer le corps de la demande

Si vous voulez créer une stratégie pour une sauvegarde de machine virtuelle Azure, le corps de la demande a besoin des composants suivants :

Nom Requise Type Description
properties True ProtectionPolicy :AzureIaaSVMProtectionPolicy Propriétés de ProtectionPolicyResource
tags Object Balises de ressource

Pour obtenir la liste complète des définitions dans le corps de la demande, consultez l’article sur l’API REST de stratégie de sauvegarde.

Exemple de corps de demande

Cette section fournit l’exemple de corps de demande qui permet de créer des stratégies pour la sauvegarde d’une machine virtuelle Azure, d’une base de données SQL dans une machine virtuelle Azure, d’une base de données SAP HANA dans une machine virtuelle Azure et d’un partage de fichiers Azure.

Choisissez une source de données :

Le corps de requête suivant définit une stratégie de sauvegarde standard pour les sauvegardes de machines virtuelles Azure.

Cette stratégie :

  • Effectue une sauvegarde hebdomadaire chaque lundi, mercredi, jeudi à 10h00, heure standard du Pacifique.
  • Conserve les sauvegardes effectuées chaque lundi, mercredi, jeudi pendant une semaine.
  • Conserve les sauvegardes effectuées chaque premier mercredi et chaque troisième jeudi de chaque mois pendant deux mois (annule les conditions de rétention précédentes, le cas échéant).
  • Conserve les sauvegardes effectuées le quatrième lundi et le quatrième jeudi de février et de novembre pendant quatre ans (annule les conditions de rétention précédentes, le cas échéant).
{
  "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"
        }
      }
    }
  }
}

Le corps de la requête suivant définit une stratégie de sauvegarde améliorée pour les sauvegardes de machines virtuelles Azure qui créent plusieurs sauvegardes par jour.

Cette stratégie :

  • Effectue une sauvegarde toutes les 4 heures à partir de 15h30 UTC tous les jours
  • Conserve l’instantané de récupération instantanée pendant 7 jours
  • Conserve les sauvegardes quotidiennes pendant 180 jours
  • Conserve les sauvegardes effectuées le dimanche de chaque semaine pendant 12 semaines
  • Conserve les sauvegardes effectuées le premier dimanche de chaque mois pendant 12 mois
{
	"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

Les formats horaires de la planification et de la rétention prennent en charge uniquement DateTime. Ils ne prennent pas en charge le format Time uniquement.

Réponses

La création/mise à jour de la stratégie de sauvegarde est une opération asynchrone. ce qui signifie qu’elle crée une autre opération qui doit faire l’objet d’un suivi distinct.

Elle renvoie deux réponses : 202 (accepté) lors de la création d’une autre opération. Puis, une fois cette opération terminée, 200 (OK).

Nom Type Description
200 OK Protection PolicyResource OK
202 Accepté Acceptée

Exemples de réponses

Une fois que vous envoyez la demande PUT de création ou de mise à jour de stratégie, la réponse initiale est 202 (Accepté) avec un en-tête d’emplacement ou Azure-async-header.

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

Effectuez ensuite le suivi de l’opération qui en résulte en utilisant l’en-tête d’emplacement ou Azure-AsyncOperation avec une commande GET simple.

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

Une fois l’opération terminée, elle retourne 200 (OK) avec le contenu de la stratégie dans le corps de la réponse.

{
  "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
  }
}

Si une stratégie est déjà utilisée pour protéger un élément, toute mise à jour de la stratégie entraîne la modification de la protection pour tous ces éléments associés.

Étapes suivantes

Activer la protection pour une machine virtuelle Azure non protégée.

Pour plus d’informations sur les API REST de la Sauvegarde Azure, voir les documents suivants :