Estas preguntas más frecuentes (P+F) tratan problemas comunes que pueden surgir al crear una oferta de máquina virtual (VM) en Azure Marketplace.
¿Cómo se configura una red privada virtual (VPN) para trabajar con mis máquinas virtuales?
Si usa el modelo de implementación de Azure Resource Manager, tiene tres opciones:
¿Qué son las directivas de soporte técnico de Microsoft para ejecutar software de servidor de Microsoft en máquinas virtuales basadas en Azure?
Puede encontrar detalles en compatibilidad de software de servidor de Microsoft con máquinas virtuales de Microsoft Azure.
En una máquina virtual, ¿cómo se administra la extensión de script personalizado en la tarea de inicio?
Para más información sobre el uso de la extensión de script personalizado mediante el módulo de Azure PowerShell, las plantillas de Azure Resource Manager y los pasos de solución de problemas en los sistemas Windows, consulte extensión de script personalizado para Windows.
¿Se admiten aplicaciones o servicios de 32 bits en Azure Marketplace?
No. Los sistemas operativos compatibles y los servicios estándar para máquinas virtuales de Azure son de 64 bits. Aunque la mayoría de los sistemas operativos de 64 bits admiten versiones de 32 bits de aplicaciones para la compatibilidad con versiones anteriores, el uso de aplicaciones de 32 bits como parte de la solución de máquina virtual no es compatible y no es muy recomendable. Vuelva a crear la aplicación como un proyecto de 64 bits.
Para obtener más información, consulte estos artículos:
Error: el disco duro virtual ya está registrado con el repositorio de imágenes como recurso
Cada vez que intento crear una imagen a partir de mis discos duros virtuales, obtengo el error "VHD ya está registrado con el repositorio de imágenes como recurso" en Azure PowerShell. No he creado ninguna imagen antes ni he encontrado ninguna imagen con este nombre en Azure. ¿Cómo puedo resolver este problema?
Este problema suele aparecer si ha creado una máquina virtual a partir de un disco duro virtual que tiene un bloqueo. Confirme que no hay ninguna máquina virtual asignada desde este disco duro virtual y vuelva a intentar la operación. Si este problema continúa, abra una incidencia de soporte técnico. Consulte soporte técnico del Centro de partners.
¿Cómo se crea una máquina virtual a partir de un disco duro virtual generalizado?
Preparación de una plantilla de Azure Resource Manager
En esta sección se describe cómo crear e implementar una imagen de máquina virtual (VM) proporcionada por el usuario al proporcionar imágenes VHD de disco de datos y del sistema operativo desde un disco duro virtual implementado por Azure. Estos pasos implementan la máquina virtual mediante un disco duro virtual generalizado.
Inicie sesión en Azure Portal.
Cargue los VHD del sistema operativo generalizado y los discos duros virtuales de disco de datos en su cuenta de Azure Storage.
En la página principal, seleccione Crear un recurso. Busque "implementación de plantillas" y seleccione Crear.
Elija Compilar su propia plantilla en el editor.
Pegue la siguiente plantilla JSON en el editor y seleccione Guardar.
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "userStorageAccountName": { "type": "String" }, "userStorageContainerName": { "defaultValue": "vhds", "type": "String" }, "dnsNameForPublicIP": { "type": "String" }, "adminUserName": { "defaultValue": "isv", "type": "String" }, "adminPassword": { "defaultValue": "", "type": "SecureString" }, "osType": { "defaultValue": "windows", "allowedValues": [ "windows", "linux" ], "type": "String" }, "subscriptionId": { "type": "String" }, "location": { "type": "String" }, "vmSize": { "type": "String" }, "publicIPAddressName": { "type": "String" }, "vmName": { "type": "String" }, "virtualNetworkName": { "type": "String" }, "nicName": { "type": "String" }, "vhdUrl": { "type": "String", "metadata": { "description": "VHD Url..." } } }, "variables": { "addressPrefix": "10.0.0.0/16", "subnet1Name": "Subnet-1", "subnet2Name": "Subnet-2", "subnet1Prefix": "10.0.0.0/24", "subnet2Prefix": "10.0.1.0/24", "publicIPAddressType": "Dynamic", "vnetID": "[resourceId('Microsoft.Network/virtualNetworks',parameters('virtualNetworkName'))]", "subnet1Ref": "[concat(variables('vnetID'),'/subnets/',variables('subnet1Name'))]", "hostDNSNameScriptArgument": "[concat(parameters('dnsNameForPublicIP'),'.',parameters('location'),'.cloudapp.azure.com')]", "osDiskVhdName": "[concat('http://',parameters('userStorageAccountName'),'.blob.core.windows.net/',parameters('userStorageContainerName'),'/',parameters('vmName'),'osDisk.vhd')]" }, "resources": [ { "type": "Microsoft.Network/publicIPAddresses", "apiVersion": "2015-06-15", "name": "[parameters('publicIPAddressName')]", "location": "[parameters('location')]", "properties": { "publicIPAllocationMethod": "[variables('publicIPAddressType')]", "dnsSettings": { "domainNameLabel": "[parameters('dnsNameForPublicIP')]" } } }, { "type": "Microsoft.Network/virtualNetworks", "apiVersion": "2015-06-15", "name": "[parameters('virtualNetworkName')]", "location": "[parameters('location')]", "properties": { "addressSpace": { "addressPrefixes": [ "[variables('addressPrefix')]" ] }, "subnets": [ { "name": "[variables('subnet1Name')]", "properties": { "addressPrefix": "[variables('subnet1Prefix')]" } }, { "name": "[variables('subnet2Name')]", "properties": { "addressPrefix": "[variables('subnet2Prefix')]" } } ] } }, { "type": "Microsoft.Network/networkInterfaces", "apiVersion": "2015-06-15", "name": "[parameters('nicName')]", "location": "[parameters('location')]", "dependsOn": [ "[concat('Microsoft.Network/publicIPAddresses/', parameters('publicIPAddressName'))]", "[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]" ], "properties": { "ipConfigurations": [ { "name": "ipconfig1", "properties": { "privateIPAllocationMethod": "Dynamic", "publicIPAddress": { "id": "[resourceId('Microsoft.Network/publicIPAddresses',parameters('publicIPAddressName'))]" }, "subnet": { "id": "[variables('subnet1Ref')]" } } } ] } }, { "type": "Microsoft.Compute/virtualMachines", "apiVersion": "2015-06-15", "name": "[parameters('vmName')]", "location": "[parameters('location')]", "dependsOn": [ "[concat('Microsoft.Network/networkInterfaces/', parameters('nicName'))]" ], "properties": { "hardwareProfile": { "vmSize": "[parameters('vmSize')]" }, "osProfile": { "computername": "[parameters('vmName')]", "adminUsername": "[parameters('adminUsername')]", "adminPassword": "[parameters('adminPassword')]" }, "storageProfile": { "osDisk": { "name": "[concat(parameters('vmName'),'-osDisk')]", "osType": "[parameters('osType')]", "caching": "ReadWrite", "image": { "uri": "[parameters('vhdUrl')]" }, "vhd": { "uri": "[variables('osDiskVhdName')]" }, "createOption": "FromImage" } }, "networkProfile": { "networkInterfaces": [ { "id": "[resourceId('Microsoft.Network/networkInterfaces',parameters('nicName'))]" } ] } } } ] }
Proporcione los valores de parámetro para las páginas de propiedades de implementación personalizada mostradas.
ResourceGroupName Nombre del grupo de recursos de Azure existente. Normalmente, use el mismo RG que el almacén de claves. TemplateFile Nombre de ruta de acceso completo al archivo VHDtoImage.json. userStorageAccountName Nombre de la cuenta de almacenamiento. dnsNameForPublicIP Nombre DNS de la dirección IP pública; debe estar en minúsculas. subscriptionId Identificador de suscripción de Azure. Ubicación Ubicación geográfica estándar de Azure del grupo de recursos. vmName Nombre de la máquina virtual. vhdUrl Dirección web del disco duro virtual. vmSize Tamaño de la instancia de máquina virtual. publicIPAddressName Nombre de la dirección IP pública. virtualNetworkName Nombre de la red virtual. nicName Nombre de la tarjeta de interfaz de red de la red virtual. adminUserName Nombre de usuario de la cuenta de administrador. adminPassword Contraseña de administrador. Después de proporcionar estos valores, seleccione Comprar.
Azure comienza la implementación. Crea una nueva máquina virtual con el VHD no administrado especificado en la ruta de acceso de la cuenta de almacenamiento especificada. Para realizar un seguimiento del progreso en Azure Portal, seleccione Máquinas virtuales en el lado izquierdo del portal. Cuando se crea la máquina virtual, el estado cambia de Iniciar a En ejecución.
Para la implementación de máquinas virtuales de generación 2, use esta plantilla:
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "userStorageAccountName": { "type": "String" }, "userStorageContainerName": { "defaultValue": "vhds", "type": "String" }, "dnsNameForPublicIP": { "type": "String" }, "adminUserName": { "defaultValue": "isv", "type": "String" }, "adminPassword": { "defaultValue": "", "type": "SecureString" }, "osType": { "defaultValue": "windows", "allowedValues": [ "windows", "linux" ], "type": "String" }, "subscriptionId": { "type": "String" }, "location": { "type": "String" }, "vmSize": { "type": "String" }, "publicIPAddressName": { "type": "String" }, "vmName": { "type": "String" }, "virtualNetworkName": { "type": "String" }, "nicName": { "type": "String" }, "vhdUrl": { "type": "String", "metadata": { "description": "VHD Url..." } } }, "variables": { "addressPrefix": "10.0.0.0/16", "subnet1Name": "Subnet-1", "subnet2Name": "Subnet-2", "subnet1Prefix": "10.0.0.0/24", "subnet2Prefix": "10.0.1.0/24", "publicIPAddressType": "Dynamic", "vnetID": "[resourceId('Microsoft.Network/virtualNetworks',parameters('virtualNetworkName'))]", "subnet1Ref": "[concat(variables('vnetID'),'/subnets/',variables('subnet1Name'))]", "hostDNSNameScriptArgument": "[concat(parameters('dnsNameForPublicIP'),'.',parameters('location'),'.cloudapp.azure.com')]", "osDiskVhdName": "[concat('http://',parameters('userStorageAccountName'),'.blob.core.windows.net/',parameters('userStorageContainerName'),'/',parameters('vmName'),'osDisk.vhd')]" }, "resources": [ { "type": "Microsoft.Network/publicIPAddresses", "apiVersion": "2015-06-15", "name": "[parameters('publicIPAddressName')]", "location": "[parameters('location')]", "properties": { "publicIPAllocationMethod": "[variables('publicIPAddressType')]", "dnsSettings": { "domainNameLabel": "[parameters('dnsNameForPublicIP')]" } } }, { "type": "Microsoft.Network/virtualNetworks", "apiVersion": "2015-06-15", "name": "[parameters('virtualNetworkName')]", "location": "[parameters('location')]", "properties": { "addressSpace": { "addressPrefixes": [ "[variables('addressPrefix')]" ] }, "subnets": [ { "name": "[variables('subnet1Name')]", "properties": { "addressPrefix": "[variables('subnet1Prefix')]" } }, { "name": "[variables('subnet2Name')]", "properties": { "addressPrefix": "[variables('subnet2Prefix')]" } } ] } }, { "type": "Microsoft.Network/networkInterfaces", "apiVersion": "2015-06-15", "name": "[parameters('nicName')]", "location": "[parameters('location')]", "dependsOn": [ "[concat('Microsoft.Network/publicIPAddresses/', parameters('publicIPAddressName'))]", "[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]" ], "properties": { "ipConfigurations": [ { "name": "ipconfig1", "properties": { "privateIPAllocationMethod": "Dynamic", "publicIPAddress": { "id": "[resourceId('Microsoft.Network/publicIPAddresses',parameters('publicIPAddressName'))]" }, "subnet": { "id": "[variables('subnet1Ref')]" } } } ] } }, { "type": "Microsoft.Compute/virtualMachines", "apiVersion": "2015-06-15", "name": "[parameters('vmName')]", "location": "[parameters('location')]", "dependsOn": [ "[concat('Microsoft.Network/networkInterfaces/', parameters('nicName'))]" ], "properties": { "hardwareProfile": { "vmSize": "[parameters('vmSize')]" }, "osProfile": { "computername": "[parameters('vmName')]", "adminUsername": "[parameters('adminUsername')]", "adminPassword": "[parameters('adminPassword')]" }, "storageProfile": { "osDisk": { "name": "[concat(parameters('vmName'),'-osDisk')]", "osType": "[parameters('osType')]", "caching": "ReadWrite", "image": { "uri": "[parameters('vhdUrl')]" }, "vhd": { "uri": "[variables('osDiskVhdName')]" }, "createOption": "FromImage" } }, "networkProfile": { "networkInterfaces": [ { "id": "[resourceId('Microsoft.Network/networkInterfaces',parameters('nicName'))]" } ] } } } ] }
Implementación de una máquina virtual de Azure mediante PowerShell
Copie y edite el siguiente script para proporcionar valores para las variables $storageaccount
y $vhdUrl
. Ejecútelo para crear un recurso de máquina virtual de Azure a partir del disco duro virtual generalizado existente.
# storage account of existing generalized VHD
$storageaccount = "testwinrm11815"
# generalized VHD URL
$vhdUrl = "https://testwinrm11815.blob.core.windows.net/vhds/testvm1234562016651857.vhd"
echo "New-AzResourceGroupDeployment -Name "dplisvvm$postfix" -ResourceGroupName "$rgName" -TemplateFile "C:\certLocation\VHDtoImage.json" -userStorageAccountName "$storageaccount" -dnsNameForPublicIP "$vmName" -subscriptionId "$mysubid" -location "$location" -vmName "$vmName" -vaultName "$kvname" -vaultResourceGroup "$rgName" -certificateUrl
$objAzureKeyVaultSecret.Id -vhdUrl "$vhdUrl" -vmSize "Standard\_A2" -publicIPAddressName "myPublicIP1" -virtualNetworkName "myVNET1" -nicName "myNIC1" -adminUserName "isv" -adminPassword $pwd"
# deploying VM with existing VHD
New-AzResourceGroupDeployment -Name "dplisvvm$postfix" -ResourceGroupName "$rgName"
¿Cómo se prueba una imagen en vista previa oculta?
Puede implementar imágenes en vista previa ocultas mediante plantillas de inicio rápido. Para implementar una imagen en versión preliminar,
- Vaya a la plantilla de inicio rápido correspondiente para Linux o Windows, seleccione Implementar en Azure. Este procedimiento le llevará a Azure Portal.
- En Azure Portal, seleccione Editar plantilla.
- En la plantilla JSON, busque imageReference y actualice publisherid, offerid, skuid y versión de la imagen. Para probar la imagen de vista previa, anexe "-PREVIEW" al offerid.
- Seleccione Guardar.
- Rellene el resto de los detalles. Revisar y crear