Exportar/Copiar um instantâneo para uma conta de armazenamento em diferentes regiões com CLI

Este script exporta um instantâneo gerido para uma conta de armazenamento numa região diferente. Gera primeiro o URI de SAS do instantâneo e, em seguida, utiliza-o para o copiar para uma conta de armazenamento numa região diferente. Utilize este script para manter a cópia de segurança dos discos geridos numa região diferente para recuperação após desastre.

Para executar esta amostra, instale a versão mais recente do Azure CLI. Para começar, execute az login para criar uma ligação ao Azure.

As amostras para o Azure CLI são escritas para a bash concha. Para executar esta amostra em Windows PowerShell ou Solicitação de Comando, poderá ter de alterar elementos do script.

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Script de exemplo

# Verified per Raman Kumar as of 2/23/2022

# <FullScript>
#Provide the subscription Id where snapshot is created
subscriptionId="<subscriptionId>"

#Provide the name of your resource group where snapshot is created
resourceGroupName=myResourceGroupName

#Provide the snapshot name 
snapshotName=mySnapshotName

#Provide Shared Access Signature (SAS) expiry duration in seconds e.g. 3600.
#Know more about SAS here: https://docs.microsoft.com/en-us/azure/storage/storage-dotnet-shared-access-signature-part-1
sasExpiryDuration=3600

#Provide storage account name where you want to copy the snapshot. 
storageAccountName=mystorageaccountname

#Name of the storage container where the downloaded snapshot will be stored
storageContainerName=mystoragecontainername

#Provide the key of the storage account where you want to copy snapshot. 
storageAccountKey=mystorageaccountkey

#Provide the name of the VHD file to which snapshot will be copied.
destinationVHDFileName=myvhdfilename

az account set --subscription $subscriptionId

sas=$(az snapshot grant-access --resource-group $resourceGroupName --name $snapshotName --duration-in-seconds $sasExpiryDuration --query [accessSas] -o tsv)

az storage blob copy start --destination-blob $destinationVHDFileName --destination-container $storageContainerName --account-name $storageAccountName --account-key $storageAccountKey --source-uri $sas
# </FullScript>

Explicação do script

Este script utiliza os seguintes comandos para gerar o URI de SAS para um instantâneo gerido e copia o instantâneo para uma conta de armazenamento com o URI de SAS. Cada comando na tabela liga à documentação específica do comando.

Comando Notas
az snapshot grant-access Gera o SAS só de leitura utilizado para copiar o ficheiro VHD subjacente para uma conta de armazenamento ou transferi-lo para o local
az storage blob copy start Copia um blob de forma assíncrona de uma conta de armazenamento para outra

Passos seguintes

Criar um disco gerido a partir de um VHD

Criar uma máquina virtual a partir de um disco gerido

Para obter mais informações sobre a CLI do Azure, veja Documentação da CLI do Azure.

Pode ver exemplos do script da CLI da máquina virtual e discos geridos adicionais na Documentação da VM Linux do Azure.