Sauvegarder une machine virtuelle Azure chiffrée avec PowerShell
Ce script crée un coffre Recovery Services avec un stockage géoredondant (GRS) pour une machine virtuelle Azure chiffrée. La stratégie de protection par défaut est appliquée au coffre. La stratégie génère une sauvegarde quotidienne de la machine virtuelle et conserve chaque sauvegarde pendant 365 jours. En outre, le script déclenche le point de récupération initial pour la machine virtuelle et conserve ce point de récupération pendant 30 jours.
Cet exemple nécessite Azure PowerShell Az 1.0 ou ultérieur. Exécutez Get-Module -ListAvailable Az
pour voir quelles versions sont installées.
Si vous devez l’installer, consultez Installer le module Azure PowerShell.
Exécutez Connect-AzAccount pour vous connecter à Azure.
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
Exemple de script
Notes
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
# Edit these global variables with your unique Recovery Services Vault name, resource group name and location
$rsVaultName = "myRsVault"
$rgName = "myResourceGroup"
$location = "East US"
# Register the Recovery Services provider and create a resource group
Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
New-AzResourceGroup -Location $location -Name $rgName
# Create a Recovery Services Vault and set its storage redundancy type
New-AzRecoveryServicesVault `
-Name $rsVaultName `
-ResourceGroupName $rgName `
-Location $location
$vault1 = Get-AzRecoveryServicesVault –Name $rsVaultName
Set-AzRecoveryServicesProperties `
-Vault $vault1 `
-BackupStorageRedundancy GeoRedundant
# Set Recovery Services Vault context and create protection policy
Get-AzRecoveryServicesVault -Name $rsVaultName | Set-AzRecoveryServicesVaultContext
$schPol = Get-AzRecoveryServicesSchedulePolicyObject -WorkloadType "AzureVM"
$retPol = Get-AzRecoveryServicesRetentionPolicyObject -WorkloadType "AzureVM"
New-AzRecoveryServicesProtectionPolicy `
-Name "NewPolicy" `
-WorkloadType "AzureVM" `
-RetentionPolicy $retPol `
-SchedulePolicy $schPol
# Provide permissions to Azure Backup to access key vault and enable backup on the VM
Set-AzKeyVaultAccessPolicy `
-VaultName "KeyVaultName" `
-ResourceGroupName "KyeVault-RGName" `
-PermissionsToKeys backup,get,list `
-PermissionsToSecrets backup,get,list `
-ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
$pol = Get-AzRecoveryServicesProtectionPolicy -Name "NewPolicy" `
Enable-AzRecoveryServicesProtection `
-Policy $pol `
-Name "myVM" `
-ResourceGroupName "VM-RGName"
# Modify protection policy
$retPol = Get-AzRecoveryServicesRetentionPolicyObject -WorkloadType "AzureVM"
$retPol.DailySchedule.DurationCountInDays = 365
$pol = Get-AzRecoveryServicesProtectionPolicy -Name "NewPolicy"
Set-AzRecoveryServicesProtectionPolicy `
-Policy $pol `
-RetentionPolicy $RetPol
# Trigger a backup and monitor backup job
$namedContainer = Get-AzRecoveryServicesContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName "myVM"
$item = Get-AzRecoveryServicesBackupItem -Container $namedContainer -WorkloadType "AzureVM"
$job = Backup-AzRecoveryServicesBackupItem -Item $item
$joblist = Get-AzRecoveryServicesJob -Status "InProgress"
Wait-AzRecoveryServicesJob `
-Job $joblist[0] `
-Timeout 43200
Nettoyer le déploiement
Exécutez la commande suivante pour supprimer le groupe de ressources, la machine virtuelle et toutes les ressources associées.
Remove-AzResourceGroup -Name myResourceGroup
Explication du script
Ce script a recours aux commandes suivantes pour créer le déploiement. Chaque élément du tableau renvoie à une documentation spécifique.
Commande | Notes |
---|---|
New-AzResourceGroup | Crée un groupe de ressources dans lequel toutes les ressources sont stockées. |
New-AzRecoveryServicesVault | Crée un coffre Recovery Services pour stocker les sauvegardes. |
Set-AzRecoveryServicesBackupProperty | Définit les propriétés de stockage des sauvegardes sur le coffre Recovery Services. |
New-AzRecoveryServicesBackupProtectionPolicy | Crée une stratégie de protection à l’aide de la stratégie de planification et de la stratégie de rétention dans le coffre Recovery Services. |
Set-AzKeyVaultAccessPolicy | Définit les autorisations sur Key Vault pour accorder au principal de service l’accès aux clés de chiffrement. |
Enable-AzRecoveryServicesBackupProtection | Active la sauvegarde d’un élément avec une stratégie de protection de Sauvegarde spécifiée. |
Set-AzRecoveryServicesBackupProtectionPolicy | Modifie une stratégie de protection de Sauvegarde existante. |
Backup-AzRecoveryServicesBackupItem | Démarre une sauvegarde pour un élément de Sauvegarde Azure protégé qui n’est pas lié à la planification de sauvegarde. |
Wait-AzRecoveryServicesBackupJob | Attend la fin d’un travail de Sauvegarde Azure. |
Remove-AzResourceGroup | Supprime un groupe de ressources et toutes les ressources contenues. |
Étapes suivantes
Pour plus d’informations sur le module Azure PowerShell, consultez Documentation Azure PowerShell.