Azure Marketplace の VM についての一般的な質問

これらのよく寄せられる質問 (FAQ) では、Azure Marketplace に仮想マシン (VM) オファーを作成するときに発生する可能性のある一般的な問題について説明します。

VM で使用するよう仮想プライベート ネットワーク (VPN) を構成するにはどうすればよいですか?

Azure ベースの VM で Microsoft サーバー ソフトウェアを実行するための Microsoft サポート ポリシーはどのようなものですか?

VM で、スタートアップ タスクのカスタム スクリプト拡張機能を管理するにはどうすればよいですか?

Azure PowerShell モジュールと Azure Resource Manager テンプレートを使用したカスタム スクリプト拡張機能の使用方法と、Windows システムでのトラブルシューティング手順の詳細については、「Windows でのカスタムのスクリプト拡張機能」を参照してください。

32 ビットのアプリケーションやサービスは Azure Marketplace でサポートされていますか?

いいえ。 サポートされるオペレーティング システムと Azure VM の標準サービスはすべて 64 ビットです。 ほとんどの 64 ビット オペレーティング システムは、下位互換性のために 32 ビット バージョンのアプリケーションをサポートしていますが、VM ソリューションの一部として 32 ビット アプリケーションを使用することはサポートされておらず、非常にお勧めできません。 アプリケーションを 64 ビットのプロジェクトとして再作成してください。

詳細については、次の記事を参照してください。

エラー: VHD は、リソースとしてイメージ リポジトリに既に登録されています

VHD からイメージを作成しようとするたびに、Azure PowerShell で "VHD は、既にリソースとしてイメージ リポジトリに登録されています" というエラーが発生します。 これまでイメージを作成したことはなく、Azure でこの名前のイメージは見つかっていません。 この問題を解決するにはどうすればよいですか?

この問題は通常、ロックがある VHD から VM を作成した場合に発生します。 この VHD から VM が割り当てられていないことを確認し、操作を再試行します。 それでもこの問題が解決しない場合は、サポート チケットを開いてください。 パートナー センターのサポートに関する記事を参照してください。

汎用化した VHD から VM を作成する方法

Azure Resource Manager テンプレートを準備する

このセクションでは、Azure にデプロイされた仮想ハード ディスクからオペレーティング システムとデータ ディスク VHD イメージを提供することで、ユーザー指定の仮想マシン (VM) イメージを作成してデプロイする方法について説明します。 次の手順では、一般化された VHD を使用して VM をデプロイします。

  1. Azure portal にサインインします。

  2. 一般化されたオペレーティング システム VHD とデータ ディスク VHD を Azure ストレージ アカウントにアップロードします。

  3. ホーム ページで、[リソースの作成] を選択し、[テンプレートのデプロイ] を検索して、[作成] を選択します

  4. [Build your own template in the editor](エディターで独自のテンプレートを作成する) を選択します。

    Shows the selection of a template

  5. 次の JSON テンプレートをエディターに貼り付け、[保存] を選択します。

     {
          "$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'))]"
                              }
                          ]
                      }
                  }
              }
          ]
      }
    
  6. 表示されているカスタム デプロイのプロパティ ページのパラメーター値を指定します。

    ResourceGroupName 既存の Azure リソース グループ名。 通常は、ご利用のキー コンテナーと同じ RG を使用します。
    TemplateFile VHDtoImage.json ファイルの完全なパス名。
    userStorageAccountName ストレージ アカウントの名前。
    dnsNameForPublicIP パブリック IP の DNS 名。小文字にする必要があります。
    subscriptionId Azure サブスクリプションの識別子。
    場所 リソース グループの標準的な Azure 地理的場所。
    vmName 仮想マシンの名前。
    vhdUrl 仮想ハード ディスクの Web アドレス。
    vmSize 仮想マシン インスタンスのサイズ。
    publicIPAddressName パブリック IP アドレスの名前。
    virtualNetworkName 仮想ネットワークの名前。
    nicName 仮想ネットワーク用のネットワーク インターフェイス カードの名前。
    adminUserName 管理者アカウントのユーザー名。
    adminPassword 管理者パスワード。
  7. これらの値を指定した後、[購入] を選択します。

    Azure がデプロイを開始します。 これにより、指定のストレージ アカウント パスに、指定されたアンマネージド VHD を含む新しい VM が作成されます。 Azure portal で進捗状況を追跡するには、ポータルの左側にある [Virtual Machines] を選択します。 VM が作成されると、状態が [開始] から [実行中] に変わります。

    第 2 世代 VM のデプロイの場合は、次のテンプレートを使用します。

    {
         "$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'))]"
                             }
                         ]
                     }
                 }
             }
         ]
     }
    

PowerShell を使用して Azure VM をデプロイする

次のスクリプトをコピーして編集し、変数 $storageaccount$vhdUrl の値を指定します。 それを実行して、汎用化された既存の VHD から Azure VM リソースを作成します。

# 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"

非表示のプレビュー画像をテストするにはどうすればよいですか?

クイックスタート テンプレートを使用して、非表示のプレビュー画像をデプロイできます。 プレビュー イメージをデプロイするには、次の手順を実行します。

  1. Linux または Windows のそれぞれのクイックスタート テンプレートに移動し、[Azure へのデプロイ] を選択します。 この手順では、Azure portal にアクセスします。
  2. Azure portal で、[テンプレートの編集] を選択します。
  3. JSON テンプレートで、imageReference を検索し、画像の publisherid、offerid、skuid、および version を更新します。 プレビュー画像をテストするには、offerid に "-PREVIEW" を追加します。
  4. [保存] を選択します。
  5. 残りの詳細を入力します。 確認と作成