Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Backup umožňuje zálohovat virtuální počítač Azure pomocí několika možností, jako je Azure Portal, PowerShell, CLI, Azure Resource Manager, Bicep atd. Tento článek popisuje, jak zálohovat virtuální počítač Azure pomocí souboru Azure Bicep a Azure PowerShellu. Tento rychlý průvodce se zaměřuje na proces nasazení souboru Bicep pro vytvoření úložiště Recovery Services. Další informace o vývoji souborů Bicep najdete v dokumentaci k Bicep a referenční dokumentaci k šabloně.
Bicep je jazyk pro deklarativní nasazování prostředků Azure. K vývoji šablon Azure Resource Manageru (šablon ARM) můžete použít Bicep místo JSON. Syntaxe Bicep snižuje složitost a zlepšuje vývojové prostředí. Bicep je transparentní abstrakce oproti formátu JSON šablony ARM, která poskytuje všechny možnosti šablony JSON. Během nasazování převede nástroj příkazového řádku Bicep soubor Bicep na JSON šablony ARM. Soubor Bicep uvádí prostředky a vlastnosti prostředků Azure bez zápisu posloupnosti programovacích příkazů pro vytváření prostředků.
Typy prostředků, verze rozhraní API a vlastnosti platné v šabloně ARM jsou také platné v souboru Bicep.
Požadavky
Pokud chcete nastavit prostředí pro vývoj pomocí nástroje Bicep, přečtěte si Instalace nástrojů Bicep.
Poznámka:
Nainstalujte nejnovější modul Azure PowerShellu a rozhraní příkazového řádku Bicep, jak je podrobně popsáno v článku.
Kontrola šablony
Šablona použitá níže je z šablon Azure pro rychlý start. Tato šablona umožňuje nasadit jednoduchý virtuální počítač s Windows a trezor služby Recovery Services nakonfigurovaný pomocí DefaultPolicy for Protection.
@description('Specifies a name for generating resource names.')
@maxLength(8)
param projectName string
@description('Specifies the location for all resources.')
param location string = resourceGroup().location
@description('Specifies the administrator username for the Virtual Machine.')
param adminUsername string
@description('Specifies the administrator password for the Virtual Machine.')
@secure()
param adminPassword string
@description('Specifies the unique DNS Name for the Public IP used to access the Virtual Machine.')
param dnsLabelPrefix string
@description('Virtual machine size.')
param vmSize string = 'Standard_A2'
@description('Specifies the Windows version for the VM. This will pick a fully patched image of this given Windows version.')
@allowed([
'2008-R2-SP1'
'2012-Datacenter'
'2012-R2-Datacenter'
'2016-Nano-Server'
'2016-Datacenter-with-Containers'
'2016-Datacenter'
'2019-Datacenter'
'2019-Datacenter-Core'
'2019-Datacenter-Core-smalldisk'
'2019-Datacenter-Core-with-Containers'
'2019-Datacenter-Core-with-Containers-smalldisk'
'2019-Datacenter-smalldisk'
'2019-Datacenter-with-Containers'
'2019-Datacenter-with-Containers-smalldisk'
])
param windowsOSVersion string = '2016-Datacenter'
var storageAccountName = '${projectName}store'
var networkInterfaceName = '${projectName}-nic'
var vNetAddressPrefix = '10.0.0.0/16'
var vNetSubnetName = 'default'
var vNetSubnetAddressPrefix = '10.0.0.0/24'
var publicIPAddressName = '${projectName}-ip'
var vmName = '${projectName}-vm'
var vNetName = '${projectName}-vnet'
var vaultName = '${projectName}-vault'
var backupFabric = 'Azure'
var backupPolicyName = 'DefaultPolicy'
var protectionContainer = 'iaasvmcontainer;iaasvmcontainerv2;${resourceGroup().name};${vmName}'
var protectedItem = 'vm;iaasvmcontainerv2;${resourceGroup().name};${vmName}'
var networkSecurityGroupName = 'default-NSG'
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-06-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
properties: {}
}
resource publicIPAddress 'Microsoft.Network/publicIPAddresses@2020-06-01' = {
name: publicIPAddressName
location: location
properties: {
publicIPAllocationMethod: 'Dynamic'
dnsSettings: {
domainNameLabel: dnsLabelPrefix
}
}
}
resource networkSecurityGroup 'Microsoft.Network/networkSecurityGroups@2020-06-01' = {
name: networkSecurityGroupName
location: location
properties: {
securityRules: [
{
name: 'default-allow-3389'
properties: {
priority: 1000
access: 'Allow'
direction: 'Inbound'
destinationPortRange: '3389'
protocol: 'Tcp'
sourceAddressPrefix: '*'
sourcePortRange: '*'
destinationAddressPrefix: '*'
}
}
]
}
}
resource vNet 'Microsoft.Network/virtualNetworks@2020-06-01' = {
name: vNetName
location: location
properties: {
addressSpace: {
addressPrefixes: [
vNetAddressPrefix
]
}
subnets: [
{
name: vNetSubnetName
properties: {
addressPrefix: vNetSubnetAddressPrefix
networkSecurityGroup: {
id: networkSecurityGroup.id
}
}
}
]
}
}
resource networkInterface 'Microsoft.Network/networkInterfaces@2020-06-01' = {
name: networkInterfaceName
location: location
properties: {
ipConfigurations: [
{
name: 'ipconfig1'
properties: {
privateIPAllocationMethod: 'Dynamic'
publicIPAddress: {
id: publicIPAddress.id
}
subnet: {
id: '${vNet.id}/subnets/${vNetSubnetName}'
}
}
}
]
}
}
resource virtualMachine 'Microsoft.Compute/virtualMachines@2020-06-01' = {
name: vmName
location: location
properties: {
hardwareProfile: {
vmSize: vmSize
}
osProfile: {
computerName: vmName
adminUsername: adminUsername
adminPassword: adminPassword
}
storageProfile: {
imageReference: {
publisher: 'MicrosoftWindowsServer'
offer: 'WindowsServer'
sku: windowsOSVersion
version: 'latest'
}
osDisk: {
createOption: 'FromImage'
}
dataDisks: [
{
diskSizeGB: 1023
lun: 0
createOption: 'Empty'
}
]
}
networkProfile: {
networkInterfaces: [
{
id: networkInterface.id
}
]
}
diagnosticsProfile: {
bootDiagnostics: {
enabled: true
storageUri: storageAccount.properties.primaryEndpoints.blob
}
}
}
}
resource recoveryServicesVault 'Microsoft.RecoveryServices/vaults@2020-02-02' = {
name: vaultName
location: location
sku: {
name: 'RS0'
tier: 'Standard'
}
properties: {}
}
resource vaultName_backupFabric_protectionContainer_protectedItem 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems@2020-02-02' = {
name: '${vaultName}/${backupFabric}/${protectionContainer}/${protectedItem}'
properties: {
protectedItemType: 'Microsoft.Compute/virtualMachines'
policyId: '${recoveryServicesVault.id}/backupPolicies/${backupPolicyName}'
sourceResourceId: virtualMachine.id
}
}
Prostředky definované ve výše uvedené šabloně jsou:
- Microsoft.Storage/storageAccounts
- Microsoft.Network/publicIPAddresses
- Microsoft.Network/networkSecurityGroups
- Microsoft.Network/virtualNetworks
- Microsoft.Network/networkInterfaces
- Microsoft.Compute/virtualMachines
- Microsoft.RecoveryServices/vaults
- Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems
Nasazení šablony
Pokud chcete šablonu nasadit, vyberte Vyzkoušet , abyste otevřeli Azure Cloud Shell, a pak do okna prostředí vložte následující skript PowerShellu. Kód vložíte tak, že kliknete pravým tlačítkem myši na okno prostředí a pak vyberete Vložit.
$projectName = Read-Host -Prompt "Enter a project name (limited to eight characters) that is used to generate Azure resource names"
$location = Read-Host -Prompt "Enter the location (for example, centralus)"
$adminUsername = Read-Host -Prompt "Enter the administrator username for the virtual machine"
$adminPassword = Read-Host -Prompt "Enter the administrator password for the virtual machine" -AsSecureString
$dnsPrefix = Read-Host -Prompt "Enter the unique DNS Name for the Public IP used to access the virtual machine"
$resourceGroupName = "${projectName}rg"
$templateUri = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.recoveryservices/recovery-services-create-vm-and-configure-backup/main.bicep"
New-AzResourceGroup -Name $resourceGroupName -Location $location
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri $templateUri -projectName $projectName -adminUsername $adminUsername -adminPassword $adminPassword -dnsLabelPrefix $dnsPrefix
Ověření nasazení
Spuštění úlohy zálohování
Šablona vytvoří virtuální počítač a povolí zálohování na virtuálním počítači. Po nasazení šablony je potřeba spustit úlohu zálohování. Další informace najdete v tématu Spuštění úlohy zálohování.
Monitorování úlohy zálohování
Pokud chcete monitorovat úlohu zálohování, přečtěte si téma Monitorování úlohy zálohování.
Vyčistěte zdroje
- Pokud už virtuální počítač nepotřebujete zálohovat, můžete ho vyčistit.
- Pokud chcete vyzkoušet obnovení virtuálního počítače, přeskočte proces vyčištění.
- Pokud jste použili existující virtuální počítač, můžete přeskočit konečnou rutinu Remove-AzResourceGroup a zachovat skupinu prostředků a virtuální počítač.
Postupujte takto:
Zakažte ochranu, odeberte body obnovení a trezor.
Odstraňte skupinu prostředků a přidružené prostředky virtuálního počítače následujícím způsobem:
Disable-AzRecoveryServicesBackupProtection -Item $item -RemoveRecoveryPoints $vault = Get-AzRecoveryServicesVault -Name "myRecoveryServicesVault" Remove-AzRecoveryServicesVault -Vault $vault Remove-AzResourceGroup -Name "myResourceGroup"
Další kroky
V tomto rychlém startu jste vytvořili trezor služby Recovery Services, povolili ochranu virtuálního počítače a vytvořili prvotní bod obnovení.
- Zjistěte, jak zálohovat virtuální počítače na webu Azure Portal.
- Informace o rychlém obnovení virtuálního počítače
- Naučte se vytvářet soubory Bicep.
- Zjistěte, jak dekompilovat šablony Azure Resource Manageru (šablony ARM) do souborů Bicep.
- Zjistěte, jak obnovit virtuální počítač Azure pomocí rozhraní REST API.