Exportera/kopiera en ögonblicksbild till ett lagringskonto i annan region med CLI
Det här skriptet exporterar en hanterad ögonblicksbild till ett lagringskonto i annan region. Först genererar det SAS-URI för ögonblicksbilden och sedan använder det SAS-URI för att kopiera den till ett lagringskonto i en annan region. Använd det här skriptet för att behålla en säkerhetskopia av dina hanterade diskar i annan region för haveriberedskap.
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Exempelskript
Starta Azure Cloud Shell
Azure Cloud Shell är ett interaktivt gränssnitt som du kan använda för att utföra stegen i den här artikeln. Den har vanliga Azure-verktyg förinstallerat och har konfigurerats för användning med ditt konto.
Om du vill öppna Cloud Shell väljer du bara Prova från det övre högra hörnet i ett kodblock. Du kan också starta Cloud Shell i en separat webbläsarflik genom att gå till https://shell.azure.com.
När Cloud Shell öppnas kontrollerar du att Bash har valts för din miljö. Efterföljande sessioner använder Azure CLI i en Bash-miljö, Välj Kopiera för att kopiera kodblocken, klistra in dem i Cloud Shell och tryck på Retur för att köra det.
Logga in på Azure
Cloud Shell autentiseras automatiskt under det första kontot som loggas in med. Använd följande skript för att logga in med en annan prenumeration och ersätta subscriptionId med ditt Azure-prenumerations-ID.
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
subscription="subscriptionId" # Set Azure subscription ID here
az account set -s $subscription # ...or use 'az login'
Mer information finns i ange en aktiv prenumeration eller logga in interaktivt.
Kör skriptet
#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/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
Rensa resurser
Kör följande kommando för att ta bort resursgruppen, den virtuella datorn och alla relaterade resurser.
az group delete --name myResourceGroupName
Exempelreferens
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.
Command | Kommentar |
---|---|
az snapshot grant-access | Genererar skrivskyddad SAS som används för att kopiera den underliggande VHD-filen till ett lagringskonto eller för att ladda ned den till en lokal plats |
az storage blob copy start | Kopierar en blob asynkront från ett lagringskonto till ett annat |
Nästa steg
Skapa en hanterad disk från en virtuell hårddisk
Skapa en virtuell dator från en hanterad disk
Mer information om Azure CLI finns i Azure CLI-dokumentationen.
Ytterligare CLI-skriptexempel för virtuella datorer och hanterade diskar finns i Dokumentation för virtuella Azure Linux-datorer.