Creare una macchina virtuale usando una versione di immagine specializzata

Si applica a: ✔️ macchine virtuali Linux ✔️ macchine virtuali Windows

Creare una macchina virtuale da una versione di immagine specializzata archiviata in una Raccolta di calcolo di Azure (in precedenza denominata Raccolta immagini condivise). Se si vuole creare una macchina virtuale usando un disco rigido virtuale generico, vedere Creare una macchina virtuale da una versione di immagine generalizzata.

Questo articolo illustra come creare una macchina virtuale da un'immagine specializzata:

Importante

Quando si crea una nuova macchina virtuale da un'immagine specializzata, la nuova macchina virtuale mantiene il nome computer della macchina virtuale originale. Vengono mantenute anche altre informazioni specifiche del computer, ad esempio li CMID. Queste informazioni duplicate possono causare problemi. Quando si copia una macchina virtuale, tenere presente quali tipi di informazioni specifiche del computer vengono usate dalle applicazioni.

Creare una macchina virtuale da una raccolta interna.

Elencare le definizioni di immagine in una raccolta usando az sig image-definition list per visualizzare il nome e l'ID delle definizioni.

resourceGroup=myGalleryRG
gallery=myGallery
az sig image-definition list \
   --resource-group $resourceGroup \
   --gallery-name $gallery \
   --query "[].[name, id]" \
   --output tsv

Per creare la macchina virtuale, usare az vm create con il parametro --specialized per indicare che si tratta di un'immagine specializzata.

Usare l'ID definizione immagine per --image per creare la macchina virtuale dalla versione più recente dell'immagine disponibile. È anche possibile creare la macchina virtuale da una versione specifica fornendo l'ID versione dell'immagine per --image.

In questo esempio viene creata una macchina virtuale dalla versione più recente dell'immagine myImageDefinition.

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM \
    --image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
    --specialized

Controllo degli accessi in base al ruolo: all'interno dell'organizzazione

Se la sottoscrizione in cui risiede la raccolta si trova nello stesso tenant, le immagini condivise tramite il controllo degli accessi in base al ruolo possono essere usate per creare macchine virtuali usando l'interfaccia della riga di comando e PowerShell.

Sarà necessario il imageID dell'immagine che si vuole usare e assicurarsi che l'immagine venga replicata nell'area in cui si vuole creare la macchina virtuale.


image="/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition"
vmResourceGroup='myResourceGroup'
location='westus'
vmName='myVM'

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $image \
   --specialized

Controllo degli accessi in base al ruolo: da un altro tenant o organizzazione

Se l'immagine che si vuole usare viene archiviata in una raccolta che non si trova nello stesso tenant (directory), sarà necessario accedere a ogni tenant per verificare di avere accesso.

Sarà necessario il imageID dell'immagine che si vuole usare e assicurarsi che l'immagine venga replicata nell'area in cui si vuole creare la macchina virtuale. Saranno necessari anche tenantID per la raccolta di origine e tenantID per la posizione in cui si vuole creare la macchina virtuale.

È necessario accedere al tenant in cui è archiviata l'immagine, ottenere un token di accesso, quindi accedere al tenant in cui si vuole creare la macchina virtuale. Questo è il modo in cui Azure autentica e verifica che l'utente ha accesso all'immagine.

tenant1='<ID for tenant 1>'
tenant2='<ID for tenant 2>'

az account clear
az login --tenant $tenant1
az account get-access-token 
az login --tenant $tenant2
az account get-access-token

Per creare la macchina virtuale, usare az vm create con il parametro --specialized per indicare che si tratta di un'immagine specializzata.


imageid=""/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition""
resourcegroup="myResourceGroup"
location="West US 3"
name='myVM'

az group create --name $resourcegroup --location $location
az vm create --resource-group $resourcegroup \
    --name $name \
    --image $image \
    --specialized

Importante

Microsoft non fornisce supporto per le immagini nella raccolta della community.

Segnalazione di problemi con un'immagine della community

L'uso di immagini di macchine virtuali inviate dalla community presenta diversi rischi. Le immagini possono contenere malware, vulnerabilità di sicurezza o violare la proprietà intellettuale di un utente. Per creare un'esperienza sicura e affidabile per la community, è possibile segnalare le immagini quando vengono riscontrati questi problemi.

Il modo più semplice per segnalare i problemi relativi a una raccolta della community consiste nell'usare il portale, che precompilerà le informazioni per il report:

  • Per i problemi relativi ai collegamenti o ad altre informazioni nei campi di una definizione di immagine, selezionare Segnala immagine della community.
  • Se una versione dell'immagine contiene codice dannoso o si verificano altri problemi con una versione specifica di un'immagine, selezionare Segnala nella colonna Segnala versione nella tabella delle versioni dell'immagine.

È anche possibile usare i collegamenti seguenti per segnalare i problemi, ma i moduli non verranno precompilati:

Per creare una macchina virtuale usando un'immagine condivisa in una raccolta community, usare l'ID univoco dell'immagine per --image, che sarà nel formato seguente:

/CommunityGalleries/<community gallery name, like: ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f>/Images/<image name>/Versions/latest

Come utente finale, per ottenere il nome pubblico di una raccolta community, è necessario usare il portale. Passare a Macchine virtuali>Crea>Macchina virtuale di Azure>Immagine>Visualizza tutte le immagini>Immagini della community>Nome della raccolta pubblica.

Elencare tutte le definizioni di immagine disponibili in una raccolta community usando az sig image-definition list-community. In questo esempio vengono elencate tutte le immagini nella raccolta ContosoImage in Stati Uniti occidentali e, in base al nome, l'ID univoco necessario per creare una macchina virtuale, un sistema operativo e uno stato del sistema operativo.

 az sig image-definition list-community \
   --public-gallery-name "ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f" \
   --location westus \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

Per creare una macchina virtuale da un'immagine generalizzata in una raccolta della community, vedere Creare una macchina virtuale da una versione generalizzata dell'immagine.

Per creare la macchina virtuale, usare az vm create con il parametro --specialized per indicare che si tratta di un'immagine specializzata.

In questo esempio viene creata una macchina virtuale dalla versione più recente dell'immagine myImageDefinition.

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM \
    --image "/CommunityGalleries/ContosoImages-f61bb1d9-3c5a-4ad2-99b5-744030225de6/Images/LinuxSpecializedVersions/latest" \
    --specialized

Quando si usa un'immagine della community, verrà richiesto di accettare le condizioni legali. Il messaggio sarà simile al seguente:

To create the VM from community gallery image, you must accept the license agreement and privacy statement: http://contoso.com. (If you want to accept the legal terms by default, please use the option '--accept-term' when creating VM/VMSS) (Y/n): 

Importante

Raccolta di calcolo di Azure: la raccolta condivisa diretta è attualmente disponibile in ANTEPRIMA ed è soggetta alle Condizioni per l’anteprima per la Raccolta di calcolo di Azure.

Per pubblicare immagini in una raccolta condivisa diretta durante l'anteprima, è necessario registrarsi in https://aka.ms/directsharedgallery-preview. La creazione di macchine virtuali dalla raccolta condivisa diretta è aperta a tutti gli utenti di Azure.

Durante l'anteprima è necessario creare una nuova raccolta, con la proprietà sharingProfile.permissions impostata su Groups. Quando si usa l'interfaccia della riga di comando per creare una raccolta, usare il parametro --permissions groups. Non è possibile usare una raccolta esistente, la proprietà non può essere aggiornata.

Per creare una macchina virtuale usando la versione più recente di un'immagine condivisa nella sottoscrizione o nel tenant, è necessario l'ID dell'immagine nel formato seguente:

/SharedGalleries/<uniqueID>/Images/<image name>/Versions/latest

Per trovare uniqueID di una raccolta condivisa con l'utente, usare az sig list-shared. In questo esempio si stanno cercando raccolte nell'area Stati Uniti occidentali.

region=westus
az sig list-shared --location $region --query "[].name" -o tsv

Usare il nome della raccolta per trovare tutte le immagini disponibili. In questo esempio vengono elencate tutte le immagini in Stati Uniti occidentali e, in base al nome, l'ID univoco necessario per creare una macchina virtuale, un sistema operativo e uno stato del sistema operativo.

galleryName="1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-myDirectShared"
 az sig image-definition list-shared \
   --gallery-unique-name $galleryName \
   --location $region \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

Assicurarsi che lo stato dell'immagine sia Specialized. Se si vuole usare un'immagine con lo stato Generalized, vedere Creare una macchina virtuale da una versione generalizzata dell'immagine.

Per creare la macchina virtuale, usare az vm create con il parametro --specialized per indicare che si tratta di un'immagine specializzata.

Usare Id, con /Versions/latest aggiunto per usare la versione più recente, come valore per "--image'' per creare una macchina virtuale.

In questo esempio viene creata una macchina virtuale dalla versione più recente dell'immagine myImageDefinition.

imgDef="/SharedGalleries/1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-MYDIRECTSHARED/Images/myDirectDefinition/Versions/latest"
vmResourceGroup=myResourceGroup
location=westus
vmName=myVM

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --specialized

Passaggi successivi