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.