Beheerde schijven kopiëren naar hetzelfde of een ander abonnement met CLI
Dit artikel bevat twee scripts. Met het eerste script wordt een beheerde schijf gekopieerd die gebruikmaakt van door het platform beheerde sleutels naar hetzelfde of een ander abonnement, maar in dezelfde regio. Met het tweede script wordt een beheerde schijf gekopieerd die door de klant beheerde sleutels gebruikt naar hetzelfde of een ander abonnement in dezelfde regio. Kopiëren werkt alleen wanneer de abonnementen deel uitmaken van dezelfde Microsoft Entra-tenant.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Voorbeeldscript
Azure Cloud Shell starten
Azure Cloud Shell is een gratis interactieve shell waarmee u de stappen in dit artikel kunt uitvoeren. In deze shell zijn algemene Azure-hulpprogramma's vooraf geïnstalleerd en geconfigureerd voor gebruik met uw account.
Als u Cloud Shell wilt openen, selecteert u Proberen in de rechterbovenhoek van een codeblok. U kunt Cloud Shell ook openen in een afzonderlijk browsertabblad door naar https://shell.azure.com te gaan.
Wanneer Cloud Shell wordt geopend, controleert u of Bash is geselecteerd voor uw omgeving. Volgende sessies gebruiken Azure CLI in een Bash-omgeving, selecteer Kopiëren om de codeblokken te kopiëren, plak deze in Cloud Shell en druk op Enter om deze uit te voeren.
Aanmelden bij Azure
Cloud Shell wordt automatisch geverifieerd onder het eerste account waarmee is aangemeld. Gebruik het volgende script om u aan te melden met een ander abonnement, waarbij u subscriptionId vervangt door uw Azure-abonnements-id.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
subscription="subscriptionId" # Set Azure subscription ID here
az account set -s $subscription # ...or use 'az login'
Zie Het actieve abonnement instellen of interactief aanmelden voor meer informatie.
Schijven met door platform beheerde sleutels
#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
Schijven met door de klant beheerde sleutels
#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
Resources opschonen
Gebruik de volgende opdracht om de resourcegroep, VM, en alle gerelateerde resources te verwijderen.
az group delete --name mySourceResourceGroupName
Voorbeeldverwijzing
In dit script worden de volgende opdrachten gebruikt om een nieuwe beheerde schijf te maken in het doelabonnement met behulp van de Id
beheerde bronschijf. Elke opdracht in de tabel is een koppeling naar specifieke documentatie over de opdracht.
Opdracht | Opmerkingen |
---|---|
az disk show | Hiermee haalt u alle eigenschappen van een beheerde schijf op aan de hand van de naam en de eigenschappen van de resourcegroep van de beheerde schijf. De Id eigenschap wordt gebruikt om de beheerde schijf naar een ander abonnement te kopiëren. |
az disk create | Kopieert een beheerde schijf door een nieuwe beheerde schijf in een ander abonnement te maken met behulp van de Id bovenliggende beheerde schijf en de naam van de bovenliggende beheerde schijf. |
Volgende stappen
Een virtuele machine maken op basis van een beheerde schijf
Raadpleeg de documentatie van Azure CLI voor meer informatie over de Azure CLI.
Meer CLI-scriptvoorbeelden voor virtuele machines en beheerde schijven vindt u in de documentatie voor Virtuele Linux-machines in Azure.