Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här skriptet exporterar en hanterad ögonblicksbild till ett lagringskonto i en annan region. Den genererar först SAS-URI:n för ögonblicksbilden och använder den sedan för att kopiera den till ett lagringskonto i en annan region. Använd det här skriptet för att bibehålla säkerhetskopieringen av dina hanterade diskar i en annan region för haveriberedskap.
Om det behövs installerar du Azure PowerShell-modulen med hjälp av anvisningarna i Azure PowerShell-guiden och kör Connect-AzAccount sedan för att skapa en anslutning till Azure. Du måste också ha en offentlig SSH-nyckel med namnet id_rsa.pub i .ssh-katalogen för din användarprofil.
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
Exempelskript
#Provide the subscription Id of the subscription where snapshot is created
$subscriptionId = "yourSubscriptionId"
#Provide the name of your resource group where snapshot is created
$resourceGroupName ="yourResourceGroupName"
#Provide the snapshot name
$snapshotName = "yourSnapshotName"
#Provide Shared Access Signature (SAS) expiry duration in seconds e.g. 3600.
#Know more about SAS here: https://docs.microsoft.com/en-us/Az.Storage/storage-dotnet-shared-access-signature-part-1
$sasExpiryDuration = "3600"
#Provide storage account name where you want to copy the snapshot.
$storageAccountName = "yourstorageaccountName"
#Name of the storage container where the downloaded snapshot will be stored
$storageContainerName = "yourstoragecontainername"
#Provide the key of the storage account where you want to copy snapshot.
$storageAccountKey = 'yourStorageAccountKey'
#Provide the name of the VHD file to which snapshot will be copied.
$destinationVHDFileName = "yourvhdfilename"
# Set the context to the subscription Id where Snapshot is created
Select-AzSubscription -SubscriptionId $SubscriptionId
#Generate the SAS for the snapshot
$sas = Grant-AzSnapshotAccess -ResourceGroupName $ResourceGroupName -SnapshotName $SnapshotName -DurationInSecond $sasExpiryDuration -Access Read
#Create the context for the storage account which will be used to copy snapshot to the storage account
$destinationContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
#Copy the snapshot to the storage account
Start-AzStorageBlobCopy -AbsoluteUri $sas.AccessSAS -DestContainer $storageContainerName -DestContext $destinationContext -DestBlob $destinationVHDFileName
Förklaring av skript
Det här skriptet använder följande kommandon för att generera SAS-URI för en hanterad ögonblicksbild och kopierar ögonblicksbilden till ett lagringskonto med hjälp av SAS URI. Varje kommando i tabellen länkar till kommandospecifik dokumentation.
| Kommando | Noteringar |
|---|---|
| Grant-AzSnapshotAccess | Genererar SAS-URI för en ögonblicksbild som används för att kopiera den till ett lagringskonto. |
| New-AzureStorageContext | Skapar en lagringskontokontext med kontonamnet och nyckeln. Den här kontexten kan användas för att utföra läs-/skrivåtgärder på lagringskontot. |
| Start-AzureStorageBlobCopy | Kopierar den underliggande virtuella hårddisken för en ögonblicksbild till ett lagringskonto |
Nästa steg
Skapa en hanterad disk från en VHD
Skapa en virtuell dator från en hanterad disk
Mer information om Azure PowerShell-modulen finns i Azure PowerShell-dokumentationen.
Ytterligare powershell-skriptexempel för virtuella datorer finns i dokumentationen om virtuella Azure Linux-datorer.