Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот скрипт создает хранилище служб восстановления с геоизбыточным хранилищем (GRS) для зашифрованной виртуальной машины Azure. Она применяет политику защиты по умолчанию, включив ежедневные резервные копии, сохраненные в течение 365 дней. Кроме того, он активирует начальную точку восстановления, хранящуюся в течение 30 дней.
Для этого примера требуется Azure PowerShell Az 1.0 или более поздней версии. Запустите Get-Module -ListAvailable Az для просмотра установленных версий.
Если необходимо выполнить установку, см. статью об установке модуля Azure PowerShell.
Запустите Connect-AzAccount для входа в Azure.
Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.
Пример скрипта
Замечание
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать, ознакомьтесь с разделом Установка Azure PowerShell. Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Миграция Azure PowerShell с AzureRM на 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
Восстановление развертывания
Выполните следующую команду, чтобы удалить группу ресурсов, виртуальную машину и все связанные с ней ресурсы.
Remove-AzResourceGroup -Name myResourceGroup
Объяснение скрипта
Чтобы создать развертывание, скрипт использует следующие команды. Для каждого элемента в таблице есть ссылка на документацию, относящуюся к конкретной команде.
| командование | Примечания. |
|---|---|
| New-AzResourceGroup | Создает группу ресурсов, в которой хранятся все ресурсы. |
| New-AzRecoveryServicesVault | Создает хранилище служб восстановления для хранения резервных копий. |
| Set-AzRecoveryServicesBackupProperty | Задает свойства хранилища резервных копий в хранилище служб восстановления. |
| New-AzRecoveryServicesBackupProtectionPolicy | Создает политику защиты, используя политику расписания и политику хранения в хранилище служб восстановления. |
| Set-AzKeyVaultAccessPolicy | Задает разрешения в Key Vault, чтобы предоставить учетной записи службы доступ к ключам шифрования. |
| Enable-AzRecoveryServicesBackupProtection (Включить защиту резервного копирования в AzRecoveryServices) | Включает резервное копирование для элемента с указанной политикой защиты резервных копий. |
| Set-AzRecoveryServicesBackupProtectionPolicy | Изменяет существующую политику защиты резервных копий. |
| Backup-AzRecoveryServicesBackupItem | Запускает резервную копию защищенного элемента Azure Backup, который не привязан к расписанию резервного копирования. |
| Wait-AzRecoveryServicesBackupJob | Ожидает завершения задания Azure Backup. |
| Remove-AzResourceGroup | Удаляет группу ресурсов и все ресурсы, содержащиеся в ней. |
Дальнейшие шаги
Дополнительные сведения о модуле Azure PowerShell.