Estas perguntas frequentes (FAQ) abrangem problemas comuns que poderá encontrar ao criar uma oferta de máquina virtual (VM) no Azure Marketplace.
Como configuro uma rede virtual privada (VPN) para trabalhar com minhas VMs?
Se estiver a utilizar o modelo de implementação do Azure Resource Manager, tem três opções:
Quais são as políticas de suporte da Microsoft para executar o software de servidor da Microsoft em VMs baseadas no Azure?
Você pode encontrar detalhes em Suporte de software de servidor da Microsoft para máquinas virtuais do Microsoft Azure.
Em uma VM, como faço para gerenciar a extensão de script personalizada na tarefa de inicialização?
Para obter detalhes sobre como usar a Extensão de Script Personalizada usando o módulo do Azure PowerShell, modelos do Azure Resource Manager e etapas de solução de problemas em sistemas Windows, consulte Extensão de Script Personalizada para Windows.
As aplicações ou serviços de 32 bits são suportados no Azure Marketplace?
N.º Os sistemas operacionais com suporte e os serviços padrão para VMs do Azure são todos de 64 bits. Embora a maioria dos sistemas operacionais de 64 bits ofereça suporte a versões de 32 bits de aplicativos para compatibilidade com versões anteriores, o uso de aplicativos de 32 bits como parte de sua solução de VM não é suportado e altamente desencorajado. Recrie seu aplicativo como um projeto de 64 bits.
Para mais informações, consulte estes artigos:
- Executando aplicativos de 32 bits
- Suporte para sistemas operacionais de 32 bits em máquinas virtuais do Azure
- Microsoft server software support for Microsoft Azure virtual machines (Suporte de software de servidor da Microsoft para máquinas virtuais do Microsoft Azure)
Erro: VHD já está registrado no repositório de imagens como recurso
Sempre que tento criar uma imagem a partir dos meus VHDs, recebo o erro "O VHD já está registado no repositório de imagens como o recurso" no Azure PowerShell. Não criei nenhuma imagem antes nem encontrei nenhuma imagem com esse nome no Azure. Como resolvo este problema?
Esse problema geralmente aparece se você criou uma VM a partir de um VHD que tem um bloqueio nele. Confirme se não há nenhuma VM alocada a partir deste VHD e, em seguida, tente novamente a operação. Se esse problema persistir, abra um tíquete de suporte. Consulte Suporte para Partner Center.
Como posso criar uma VM a partir de um vhd generalizado?
Preparar um modelo do Azure Resource Manager
Esta seção descreve como criar e implantar uma imagem de máquina virtual (VM) fornecida pelo usuário fornecendo imagens VHD do sistema operacional e do disco de dados de um disco rígido virtual implantado no Azure. Essas etapas implantam a VM usando VHD generalizado.
Inicie sessão no portal do Azure.
Carregue o VHD generalizado do sistema operacional e os VHDs do disco de dados para sua conta de Armazenamento do Azure.
Na home page, selecione Criar um recurso. Procure por "implantação de modelo" e selecione Criar.
Escolha Criar seu próprio modelo no editor.
Cole o seguinte modelo JSON no editor e selecione Salvar.
{ "$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'))]" } ] } } } ] }
Forneça os valores de parâmetro para as páginas de propriedades de implantação personalizada exibidas.
ResourceGroupName Nome do grupo de recursos do Azure existente. Normalmente, use o mesmo RG que o cofre de chaves. TemplateFile Nome completo do caminho para o arquivo VHDtoImage.json. userStorageAccountName Nome da conta de armazenamento. dnsNameForPublicIP Nome DNS para o IP público; deve ser minúscula. subscriptionId Identificador de assinatura do Azure. Location Localização geográfica padrão do Azure do grupo de recursos. vmName Nome da máquina virtual. vhdUrl Endereço Web do disco rígido virtual. vmSize Tamanho da instância da máquina virtual. publicIPAddressName Nome do endereço IP público. virtualNetworkName Nome da rede virtual. nicName Nome da placa de interface de rede para a rede virtual. adminUserName Nome de utilizador da conta de administrador. adminPassword Senha de administrador. Depois de fornecer esses valores, selecione Comprar.
O Azure inicia a implantação. Ele cria uma nova VM com o VHD não gerenciado especificado no caminho da conta de armazenamento especificada. Você pode acompanhar o progresso no portal do Azure selecionando Máquinas Virtuais no lado esquerdo do portal. Quando a VM é criada, o status muda de Iniciando para Executando.
Para a implantação de VM de 2ª geração, use este modelo:
{ "$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'))]" } ] } } } ] }
Implantar uma VM do Azure usando o PowerShell
Copie e edite o script a seguir para fornecer valores para as $storageaccount
variáveis e $vhdUrl
. Execute-o para criar um recurso de VM do Azure a partir do VHD 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"
Como posso testar uma imagem de pré-visualização oculta?
Você pode implantar imagens de visualização ocultas usando modelos de início rápido. Para implantar uma imagem de visualização,
- Vá para o respetivo modelo de início rápido para Linux ou Windows, selecione Implantar no Azure. Este procedimento deve levá-lo ao portal do Azure.
- No portal do Azure, selecione Editar modelo.
- No modelo JSON, procure imageReference e atualize o publisherid, offerid, skuid e version da imagem. Para testar a imagem de visualização, acrescente "-PREVIEW" ao offerid.
- Selecione Guardar.
- Preencha os restantes dados. Rever e Criar