Creare una macchina virtuale usando una versione dell'immagine specializzata

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

Creare una macchina virtuale da una versione di immagine specializzata archiviata in una raccolta di calcolo di Azure (in precedenza nota come Raccolta immagini condivise). Se si vuole creare una macchina virtuale usando una versione dell'immagine generalizzata, vedere Creare una macchina virtuale da una versione dell'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 del computer della macchina virtuale originale. Altre informazioni specifiche del computer, ad esempio CMID, vengono mantenute. 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

Creare la macchina virtuale usando az vm create usando il --specialized parametro per indicare che l'immagine è 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 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 usare l'immagine imageID da 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 da usare viene archiviata in una raccolta che non si trova nello stesso tenant (directory) sarà necessario accedere a ogni tenant per verificare l'accesso.

Sarà necessario usare l'immagine imageID da usare e assicurarsi che l'immagine venga replicata nell'area in cui si vuole creare la macchina virtuale. Sarà necessario tenantID anche per la raccolta di origine e per tenantID 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 esegue l'autenticazione dell'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

Creare la macchina virtuale usando az vm create usando il --specialized parametro per indicare che l'immagine è 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 relativi a 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 immagini quando vengono visualizzati questi problemi.

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

  • Per problemi relativi ai collegamenti o ad altre informazioni nei campi di una definizione di immagine, selezionare Immagine community report.
  • Se una versione dell'immagine contiene codice dannoso o si verificano altri problemi con una versione specifica di un'immagine, selezionare Report nella colonna Versione report 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> virtualiCreare>l'immagine>>della macchina> virtuale di AzureVedere tutto ilnome della raccoltacommunity immagini> della community.

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 negli 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 community, vedere Creare una macchina virtuale da una versione dell'immagine generalizzata.

Creare la macchina virtuale usando az vm create usando il --specialized parametro per indicare che l'immagine è 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 registrare in https://aka.ms/directsharedgallery-preview. La creazione di macchine virtuali da una 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 --permissions groups parametro . 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 l'oggetto di una raccolta condivisa con l'utente uniqueID , 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 negli 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 Generalized stato, vedere Creare una macchina virtuale da una versione dell'immagine generalizzata.

Creare la macchina virtuale usando az vm create usando il --specialized parametro per indicare che l'immagine è un'immagine specializzata.

Usare , Idaccodato con /Versions/latest 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