Kopírování spravovaných disků do stejného nebo jiného předplatného pomocí rozhraní příkazového řádku

Tento článek obsahuje dva skripty. První skript zkopíruje spravovaný disk, který používá klíče spravované platformou, do stejného nebo jiného předplatného, ale ve stejné oblasti. Druhý skript zkopíruje spravovaný disk, který používá klíče spravované zákazníkem, do stejného nebo jiného předplatného ve stejné oblasti. Kopie funguje jenom v případech, kdy jsou předplatná součástí stejného tenanta Microsoft Entra.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Předpoklady

Ukázkový skript

Spuštění služby Azure Cloud Shell

Azure Cloud Shell je bezplatné interaktivní prostředí, které můžete použít k provedení kroků v tomto článku. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.

Pokud chcete otevřít Cloud Shell, vyberte položku Vyzkoušet v pravém horním rohu bloku kódu. Cloud Shell můžete spustit také na samostatné kartě prohlížeče na adrese https://shell.azure.com.

Po otevření Cloud Shellu ověřte, že je pro vaše prostředí vybraný Bash . Následující relace budou používat Azure CLI v prostředí Bash, výběrem možnosti Kopírovat zkopírujte bloky kódu, vložte ho do Cloud Shellu a stisknutím klávesy Enter ho spusťte.

Přihlášení k Azure

Cloud Shell se automaticky ověřuje pod počátečním přihlášeným účtem. Pomocí následujícího skriptu se přihlaste pomocí jiného předplatného a nahraďte <Subscription ID> ID předplatného Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Další informace najdete v tématu Nastavení aktivního předplatného nebo interaktivního přihlášení.

Disky s klíči spravovanými platformou

#Provide the subscription Id of the subscription where managed disk exists
sourceSubscriptionId="<subscriptionId>"

#Provide the name of your resource group where managed disk exists
sourceResourceGroupName=mySourceResourceGroupName

#Provide the name of the managed disk
managedDiskName=myDiskName

#Set the context to the subscription Id where managed disk exists
az account set --subscription $sourceSubscriptionId

#Get the managed disk Id 
managedDiskId=$(az disk show --name $managedDiskName --resource-group $sourceResourceGroupName --query [id] -o tsv)

#If managedDiskId is blank then it means that managed disk does not exist.
echo 'source managed disk Id is: ' $managedDiskId

#Provide the subscription Id of the subscription where managed disk will be copied to
targetSubscriptionId=6492b1f7-f219-446b-b509-314e17e1efb0

#Name of the resource group where managed disk will be copied to
targetResourceGroupName=mytargetResourceGroupName

#Set the context to the subscription Id where managed disk will be copied to
az account set --subscription $targetSubscriptionId

#Copy managed disk to different subscription using managed disk Id
az disk create --resource-group $targetResourceGroupName --name $managedDiskName --source $managedDiskId

Disky s klíči spravovanými zákazníkem

#Provide the subscription Id of the subscription where managed disk exists
sourceSubscriptionId="<subscriptionId>"

#Provide the name of your resource group where managed disk exists
sourceResourceGroupName=mySourceResourceGroupName

#Provide the name of the managed disk
managedDiskName=myDiskName

#Provide the name of the target disk encryption set
diskEncryptionSetName=myName

#Provide the target disk encryption set resource group
diskEncryptionResourceGroup=myGroup

#Set the context to the subscription Id where managed disk exists
az account set --subscription $sourceSubscriptionId

#Get the managed disk Id 
managedDiskId=$(az disk show --name $managedDiskName --resource-group $sourceResourceGroupName --query [id] -o tsv)

#If managedDiskId is blank then it means that managed disk does not exist.
echo 'source managed disk Id is: ' $managedDiskId

#Get the disk encryption set ID
diskEncryptionSetId=$(az disk-encryption-set show --name $diskEncryptionSetName --resource-group $diskEncryptionResourceGroup)

#Provide the subscription Id of the subscription where managed disk will be copied to
targetSubscriptionId=6492b1f7-f219-446b-b509-314e17e1efb0

#Name of the resource group where managed disk will be copied to
targetResourceGroupName=mytargetResourceGroupName

#Set the context to the subscription Id where managed disk will be copied to
az account set --subscription $targetSubscriptionId

#Copy managed disk to different subscription using managed disk Id and disk encryption set ID
#Add --location parameter to change the location
az disk create -g $targetResourceGroupName -n $managedDiskName --source $managedDiskId --disk-encryption-set $diskEncrpytonSetId

Vyčištění prostředků

Spuštěním následujícího příkazu odeberte skupinu prostředků, virtuální počítač a všechny související prostředky.

az group delete --name mySourceResourceGroupName

Ukázkový odkaz

Tento skript používá následující příkazy k vytvoření nového spravovaného disku v cílovém předplatném pomocí Id zdrojového spravovaného disku. Každý příkaz v tabulce odkazuje na příslušnou část dokumentace.

Příkaz Notes
az disk show Získá všechny vlastnosti spravovaného disku s použitím názvu a vlastností skupiny prostředků spravovaného disku. Vlastnost Id se používá ke zkopírování spravovaného disku do jiného předplatného.
az disk create Zkopíruje spravovaný disk vytvořením nového spravovaného disku v jiném předplatném pomocí Id nadřazeného spravovaného disku a názvu nadřazeného spravovaného disku.

Další kroky

Vytvoření virtuálního počítače ze spravovaného disku

Další informace o Azure CLI najdete v dokumentaci k Azure CLI.

Další ukázky skriptů cli pro virtuální počítače a spravované disky najdete v dokumentaci k virtuálnímu počítači Azure s Linuxem.