Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este script exporta una instantánea administrada a una cuenta de almacenamiento en otra región. En primer lugar, genera el identificador URI de SAS de la instantánea y, luego, lo usa para copiarlo en una cuenta de almacenamiento en una región diferente. Use este script para mantener una copia de seguridad de los discos administrados en una región distinta para la recuperación ante desastres.
Si es necesario, instale el módulo de Azure PowerShell mediante las instrucciones que se encuentran en la guía de Azure PowerShell y, a continuación, ejecute Connect-AzAccount
para crear una conexión con Azure. Además, debe tener una clave pública SSH denominada id_rsa.pub
en el directorio .ssh del perfil de usuario.
Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
Script de ejemplo
#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
Explicación del script
Este script usa los siguientes comandos para generar el identificador URI de SAS para una instantánea administrada y copia la instantánea en una cuenta de almacenamiento usando el URI de SAS. Cada comando de la tabla enlaza a la documentación específica del comando.
Comando | Notas |
---|---|
Grant-AzSnapshotAccess | Genera un URI de SAS para una instantánea que se usa para copiarla en una cuenta de almacenamiento. |
New-AzureStorageContext | Crea un contexto de cuenta de almacenamiento mediante el nombre y la clave de la cuenta. Este contexto se puede usar para realizar operaciones de lectura y escritura en la cuenta de almacenamiento. |
Start-AzureStorageBlobCopy | Copia el disco duro virtual subyacente de una instantánea a una cuenta de almacenamiento |
Pasos siguientes
Crear un disco administrado a partir de un VHD
Crear una máquina virtual a partir de un disco administrado
Para obtener más información sobre el módulo de Azure PowerShell, consulte la documentación de Azure PowerShell.
Puede encontrar ejemplos adicionales de scripts de PowerShell para máquinas virtuales en la documentación de Azure Linux VM .