Felügyelt pillanatképek exportálása/másolása VHD-ként egy másik régióban található tárfiókba a PowerShell használatával

Ez a szkript egy felügyelt pillanatképet exportál egy másik régió tárfiókjába. Először létrehozza a pillanatkép SAS URI-azonosítóját, majd annak használatával átmásolja a pillanatképet egy másik régióban lévő tárfiókba. A szkript használatával vészhelyreállítási célokból eltérő régiókban készíthet biztonsági másolatokat a felügyelt lemezeiről.

Ha szükséges, telepítse az Azure PowerShell-modult az Azure PowerShell útmutatójának utasításait követve, majd futtassa a Connect-AzAccount parancsot az Azure-hoz való csatlakozáshoz. Emellett szüksége lesz egy id_rsa.pub nevű nyilvános SSH-kulcsra a felhasználói profilja .ssh könyvtárában.

Ha nem rendelkezik Azure-előfizetéssel, először hozzon létre egy ingyenes fiókot.

Példaszkript

#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

Szkript ismertetése

A szkript a következő parancsokat használja egy felügyelt pillanatkép SAS URI-azonosítójának létrehozásához, majd a pillanatkép a SAS URI használatával egy tárfiókba való másolásához. A táblázatban lévő összes parancs a hozzá tartozó dokumentációra hivatkozik.

Parancs Jegyzetek
Grant-AzSnapshotAccess Létrehoz egy SAS URI-t egy pillanatképhez, amely a tárfiókba való másoláshoz használatos.
New-AzureStorageContext Létrehozza egy tárfiókkörnyezetet a fióknév és -kulcs használatával. Ennek a környezetnek a használatával olvasási/írási műveletek hajthatók végre a tárfiókon.
Start-AzureStorageBlobCopy Másolatot készít egy pillanatkép mögöttes VHD-fájljáról egy tárfiókba

Következő lépések

Felügyelt lemez létrehozása VHD-ből

Virtuális gép létrehozása felügyelt lemezből

Az Azure PowerShell modullal kapcsolatos további információért lásd az Azure PowerShell dokumentációját.

A virtuális gépekhez kapcsolódó további PowerShell-példaszkripteket az Azure Linux rendszerű virtuális gépekre vonatkozó dokumentációjában találhat.