Al crear una nueva máquina virtual a partir de una imagen especializada, la nueva máquina virtual conserva el nombre de equipo de la máquina virtual original. También se conserva otra información específica del equipo, como el CMID. Esta información duplicada puede causar problemas. Al copiar una máquina virtual, tenga en cuenta en qué tipo de información específica del equipo se basan las aplicaciones.
Creación de una máquina virtual desde la galería
Cree una máquina virtual desde una galería interna.
Enumere las definiciones de imagen en una galería mediante az sig image-definition list para ver el nombre y el identificador de las definiciones.
resourceGroup=myGalleryRG
gallery=myGallery
az sig image-definition list \
--resource-group $resourceGroup \
--gallery-name $gallery \
--query "[].[name, id]" \
--output tsv
Cree la máquina virtual con az vm create, usando el parámetro --specialized para indicar que la imagen es una imagen especializada.
Use el identificador de la definición de imagen en --image a fin de crear la máquina virtual a partir de la versión más reciente de la imagen que está disponible. También puede crear la máquina virtual a partir de una versión específica si proporciona el identificador de la versión de la imagen en --image.
En este ejemplo, se creará una máquina virtual a partir de la versión más reciente de la imagen 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
Cuando tenga una versión de una imagen especializada, puede crear una o varias máquinas virtuales nuevas con el cmdlet New-AzVM.
En este ejemplo, se usa el identificador de definición de imagen para asegurarse de que la nueva máquina virtual usará la versión más reciente de una imagen. También puede usar una versión específica con el identificador de la versión de imagen de Set-AzVMSourceImage -Id. Por ejemplo, para usar la versión de imagen 1.0.0, escriba: Set-AzVMSourceImage -Id "/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition/versions/1.0.0".
Utilizar una versión de imagen específica significa que la automatización podría producir un error si dicha versión no está disponible porque se eliminó o se quitó de la región. Se recomienda usar el id. de definición de la imagen para crear la nueva VM, a menos que se requiera una versión de imagen específica.
Reemplace los nombres de recursos según sea necesario en este ejemplo.
# Create some variables for the new VM.
$resourceGroup = "mySIGSpecializedRG"
$location = "South Central US"
$vmName = "mySpecializedVM"
# Get the image. Replace the name of your resource group, gallery, and image definition. This will create the VM from the latest image version available.
$imageDefinition = Get-AzGalleryImageDefinition `
-GalleryName myGallery `
-ResourceGroupName myResourceGroup `
-Name myImageDefinition
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create the network resources.
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name mySubnet `
-AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name MYvNET `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name "mypublicdns$(Get-Random)" `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleRDP `
-Protocol Tcp `
-Direction Inbound `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Deny
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name myNetworkSecurityGroup `
-SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface `
-Name $vmName `
-ResourceGroupName $resourceGroup `
-Location $location `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using Set-AzVMSourceImage -Id $imageDefinition.Id to use the latest available image version.
$vmConfig = New-AzVMConfig `
-VMName $vmName `
-VMSize Standard_D1_v2 | `
Set-AzVMSourceImage -Id $imageDefinition.Id | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM `
-ResourceGroupName $resourceGroup `
-Location $location `
-VM $vmConfig
Ahora puede crear una o varias máquinas virtuales. En este ejemplo se crea una máquina virtual denominada myVM, en el myResourceGroup, en el centro de recursos del Este de EE. UU.
Vaya a la definición de la imagen. Puede usar el filtro de recursos para mostrar todas las definiciones de imagen disponibles.
En la página de la definición de la imagen, seleccione Crear máquina virtual en el menú de la parte superior de la página.
En Grupo de recursos, seleccione Crear nuevo y escriba myResourceGroup como nombre.
En Nombre de máquina virtual, escriba myVM.
En Región, seleccione Este de EE. UU. .
En Opciones de disponibilidad, deje el valor predeterminado No se requiere redundancia de la infraestructura.
El valor de Imagen se completa automáticamente con la versión de imagen latest si el inicio se realizó desde la página para la definición de la imagen.
En Tamaño, elija un tamaño de máquina virtual en la lista de tamaños disponibles y, después, elija Seleccionar.
En Cuenta de administrador, el nombre de usuario aparece atenuado porque se usan el nombre de usuario y las credenciales de la máquina virtual de origen.
Si quiere permitir el acceso remoto a la máquina virtual, en Puertos de entrada públicos, elija Permitir puertos seleccionados y, después, seleccione SSH (22) o RDP (3389) en la lista desplegable. Si no desea permitir el acceso remoto a la máquina virtual, deje Ninguno seleccionado en Puertos de entrada públicos.
Cuando haya terminado, seleccione el botón Revisar y crear situado en la parte inferior de la página.
Una vez que la máquina virtual haya superado la validación, seleccione Crear en la parte inferior de la página para iniciar la implementación.
RBAC: dentro de la organización
Si la suscripción donde reside la galería está dentro del mismo suscriptor, las imágenes compartidas mediante RBAC se pueden usar para crear máquinas virtuales mediante la CLI y PowerShell.
Necesitará la imageID de la imagen que quiere usar y asegurarse de que la imagen se replica en la región donde desea crear la máquina virtual.
Si la imagen que desea usar está almacenada en una galería que no está en el mismo suscriptor (directorio), deberá iniciar sesión en cada suscriptor para comprobar que tiene acceso.
Necesitará la imageID de la imagen que quiere usar y asegurarse de que la imagen se replica en la región donde desea crear la máquina virtual. También necesitará tenantID para la galería de origen y la tenantID para ubicación en la que desea crear la máquina virtual.
Debe iniciar sesión en el suscriptor donde se almacena la imagen, obtener un token de acceso y, a continuación, iniciar sesión en el suscriptor donde desea crear la máquina virtual. Así es como Azure autentica que tiene acceso a la imagen.
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
Cree la máquina virtual con az vm create, usando el parámetro --specialized para indicar que la imagen es una imagen especializada.
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
Debe iniciar sesión en el suscriptor donde se almacena la imagen, obtener un token de acceso y, a continuación, iniciar sesión en el suscriptor donde desea crear la máquina virtual. Así es como Azure autentica que tiene acceso a la imagen.
Cree la máquina virtual. Reemplace la información del ejemplo por la suya. Antes de crear la máquina virtual, asegúrese de que la imagen se replica en la región donde desea crear la máquina virtual.
# Create some variables for the new VM.
$resourceGroup = "myResourceGroup"
$location = "South Central US"
$vmName = "myVM"
# Set a variable for the image version in Tenant 1 using the full image ID of the image version
$image = "/subscriptions/<Tenant 1 subscription>/resourceGroups/<Resource group>/providers/Microsoft.Compute/galleries/<Gallery>/images/<Image definition>/versions/<version>"
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create the network resources.
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name mySubnet `
-AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name MYvNET `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name "mypublicdns$(Get-Random)" `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleRDP `
-Protocol Tcp `
-Direction Inbound `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Deny
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name myNetworkSecurityGroup `
-SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface `
-Name $vmName `
-ResourceGroupName $resourceGroup `
-Location $location `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using Set-AzVMSourceImage -Id $imageDefinition.Id to use the latest available image version.
$vmConfig = New-AzVMConfig `
-VMName $vmName `
-VMSize Standard_D1_v2 | `
Set-AzVMSourceImage -Id $image | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM `
-ResourceGroupName $resourceGroup `
-Location $location `
-VM $vmConfig
Notificación de problemas con una imagen de la comunidad
El uso de imágenes de máquina virtual enviadas por la comunidad tiene varios riesgos. Las imágenes podrían contener malware, vulnerabilidades de seguridad o infringir la propiedad intelectual de alguien. Para ayudar a crear una experiencia segura y de confianza para la comunidad, puede notificar imágenes cuando ve estos problemas.
La manera más fácil de notificar problemas con una galería de la comunidad es usar el portal, que rellenará automáticamente la información necesaria para el informe:
Para problemas con vínculos u otra información en los campos de una definición de imagen, seleccione Notificar imagen de la comunidad.
Si una versión de imagen contiene código malintencionado o hay otros problemas con una versión específica de una imagen, seleccione Notificar en la columna Versión del informe de la tabla de versiones de la imagen.
También puede usar los vínculos siguientes para notificar problemas, pero los formularios no se rellenarán previamente:
Para crear una máquina virtual con una imagen compartida en una galería de la comunidad, use el identificador único de la imagen para --image que tendrá el siguiente formato:
Como usuario final, para obtener el nombre público de una galería de la comunidad, debe usar el portal. Vaya a Máquinas virtuales>Crear>Máquina virtual de Azure>Imagen>Ver todas las imágenes>Imágenes de la comunidad>Nombre público de la galería.
Para enumerar todas las definiciones de imagen que están disponibles en una galería de la comunidad utilice el comando az sig image-definition list-community. En este ejemplo, se enumeran todas las imágenes de la galería ContosoImage en la región Oeste de EE. UU. y por nombre, el identificador único necesario para crear una máquina virtual, el sistema operativo y el estado 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
Cree la máquina virtual con az vm create, usando el parámetro --specialized para indicar que la imagen es una imagen especializada.
En este ejemplo, se creará una máquina virtual a partir de la versión más reciente de la imagen 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
Al usar una imagen de la comunidad, se le pedirá que acepte los términos legales. El mensaje tendrá el siguiente aspecto:
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):
Escriba máquinas virtuales en la búsqueda.
En Servicios, seleccione Máquinas virtuales.
En la página Máquinas virtuales, seleccione Crear y, luego, Máquina virtual. Se abrirá la página Creación de una máquina virtual.
En la pestaña Aspectos básicos, en Detalles del proyecto, asegúrese de que esté seleccionada la suscripción correcta y luego elija Crear nuevo grupo de recursos o seleccione uno de la lista desplegable.
En Detalles de la instancia, escriba un nombre para la máquina virtual.
En Tipo de seguridad, asegúrese de que esté seleccionado Estándar.
Como Imagen, seleccione Ver todas las imágenes. Se abrirá la página Selección de una imagen.
En el menú de la izquierda, en Otros elementos, seleccione Imágenes de la comunidad. Se abrirá la página Otros elementos | Imágenes de la comunidad.
Seleccione una imagen de la lista. Asegúrese de que el estado del sistema operativo es Especializado. Si desea usar una imagen especializada, consulte Creación de una VM mediante una versión de imagen generalizada. En función de la imagen que elija, la región en la que se creará la máquina virtual cambiará para que coincida con la imagen.
Complete el resto de las opciones y, a continuación, seleccione el botón Revisar y crear en la parte inferior de la página.
En la página Crear una máquina virtual verá los detalles de la máquina virtual que va a crear. Cuando esté listo, seleccione Crear.
Para publicar imágenes en una galería compartida directa durante la versión preliminar, debe registrarse en https://aka.ms/directsharedgallery-preview. La creación de máquinas virtuales desde la galería de compartida está disponible para todos los usuarios de Azure.
Durante la versión preliminar, debe crear una nueva galería, con la propiedad sharingProfile.permissions establecida en Groups. Al usar la CLI para crear una galería, especifique el parámetro --permissions groups. No se puede usar una galería existente, la propiedad no se puede actualizar en este momento.
Para crear una máquina virtual con la versión más reciente de una imagen compartida en su suscripción o inquilino, necesita el identificador de la imagen en el siguiente formato:
Para buscar el elemento uniqueID de una galería que se comparte con usted, use az sig list-shared. En este ejemplo, estamos buscando galerías en la región Oeste de EE. UU.
region=westus
az sig list-shared --location $region --query "[].name" -o tsv
Use el nombre de la galería para buscar todas las imágenes disponibles. En este ejemplo, se enumeran todas las imágenes de Oeste de EE. UU. y por nombre, el identificador único necesario para crear una máquina virtual, el sistema operativo y el estado 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
Cree la máquina virtual con az vm create, usando el parámetro --specialized para indicar que la imagen es una imagen especializada.
Use el elemento Id, anexado a /Versions/latest para usar la versión más reciente, como valor de "--image" para crear una máquina virtual.
En este ejemplo, se creará una máquina virtual a partir de la versión más reciente de la imagen 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
Nota
Problema conocido: En Azure Portal, si selecciona una región e imagen y luego cambia la región, recibirá un mensaje de error: "Solo puede crear una máquina virtual en las regiones de replicación de esta imagen", incluso aunque la imagen se replique en esa región. Para eliminar el error, seleccione otra región y vuelva a la región que desee. Si la imagen está disponible, el mensaje de error debería desaparecer.
También puede usar la CLI de Azure para comprobar qué imágenes se comparten con el usuario. Por ejemplo, puede usar "az sig list-shared --location westus" para ver qué imágenes se comparten con el usuario en la región Oeste de EE. UU.
Escriba máquinas virtuales en la búsqueda.
En Servicios, seleccione Máquinas virtuales.
En la página Máquinas virtuales, seleccione Crear y, luego, Máquina virtual. Se abrirá la página Creación de una máquina virtual.
En la pestaña Aspectos básicos, en Detalles del proyecto, asegúrese de que esté seleccionada la suscripción correcta y luego elija Crear nuevo grupo de recursos o seleccione uno de la lista desplegable.
En Detalles de la instancia, escriba un nombre para la máquina virtual.
En Tipo de seguridad, asegúrese de que esté seleccionado Estándar.
Como Imagen, seleccione Ver todas las imágenes. Se abrirá la página Selección de una imagen.
En el menú de la izquierda, en Otros elementos, seleccione Imágenes compartidas directamente (VERSIÓN PRELIMINAR). Se abrirá la página Otros elementos | Imágenes compartidas directamente (VERSIÓN PRELIMINAR).
Seleccione una imagen de la lista. Asegúrese de que el estado del sistema operativo es Especializado. Si desea usar una imagen generalizada, consulte Creación de una VM mediante una versión de imagen generalizada. En función de la imagen que elija, la región en la que se creará la máquina virtual cambiará para que coincida con la imagen.
Complete el resto de las opciones y, a continuación, seleccione el botón Revisar y crear en la parte inferior de la página.
En la página Crear una máquina virtual verá los detalles de la máquina virtual que va a crear. Cuando esté listo, seleccione Crear.