共用方式為


使用 PowerShell 備份加密的 Azure 虛擬機

此文稿會為加密的 Azure VM 建立具有異地備援記憶體 (GRS) 的復原服務保存庫。 它會套用預設的保護原則,啟用保留期間為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

整理部署

執行下列命令來移除資源群組、VM 和所有相關資源。

Remove-AzResourceGroup -Name myResourceGroup

腳本說明

此腳本會使用下列命令來建立部署。 表格中的每個項目都會連結到與該命令相關的文件。

指令 註釋
New-AzResourceGroup 建立用來存放所有資源的資源群組。
New-AzRecoveryServicesVault 建立復原服務保存庫來儲存備份。
Set-AzRecoveryServicesBackupProperty(設定 Az Recovery Services 的備份屬性) 在復原服務保存庫上設定備份記憶體屬性。
New-AzRecoveryServices備份保護政策 使用備份服務保管庫中的排程策略和保留策略來建立保護策略。
Set-AzKeyVaultAccessPolicy 設定 Key Vault 的許可權,以授與服務主體對加密密鑰的存取權。
啟用-AzRecoveryServices備份保護 啟用具有指定備份保護原則之項目的備份。
Set-AzRecoveryServicesBackupProtectionPolicy 修改現有的備份保護原則。
Backup-AzRecoveryServicesBackupItem 針對未系結至備份排程的受保護 Azure 備份專案啟動備份。
Wait-AzRecoveryServicesBackupJob 等候 Azure 備份作業完成。
Remove-AzResourceGroup 移除資源群組及其內含的所有資源。

後續步驟

深入瞭解 Azure PowerShell 模組