2016-06-22 2 views
0

配置テンプレートファイルから(ウィンドウ)VMを作成しようとしています。起動時には、展開が正常に完了し、VMが「開始済み」状態になるまでに通常7〜8分かかりました。しかし、時間の経過と共に、展開が完了し、VMがプロビジョニングされるまでには、(20〜30)分以上かかることがあります。ここ は、カスタムVHD(VHDがsysprepedされる)からVMを作成するために使用されているテンプレートの一部です:AzureリソースマネージャVMがプロビジョニングに長時間を要する

"resources": [ 
{ 
"apiVersion": "2015-06-15", 
"type": "Microsoft.Compute/virtualMachines", 
"name": "[variables('vmName1')]", 
"location": "[variables('location')]", 
"properties": { 
"hardwareProfile": { 
"vmSize": "[variables('vmSize')]" 
}, 
"networkProfile": { 
"networkInterfaces": [ 
{ 
"id": "[resourceId('Microsoft.Network/networkInterfaces',variables('nicName1'))]" 
} 
] 
}, 
"osProfile": { 
"computerName": "[variables('vmName1')]", 
"adminUsername": "[variables('adminUsername')]", 
"adminPassword": "[variables('adminPassword')]" 
}, 
"storageProfile": { 
"osDisk": { 
"ostype": "windows", 
"name": "windows201606221843019334", 
"vhd": { 
     "uri": "https://armstorageaccount.blob.core.windows.net/storage-31/vm2016062218430193341.vhd" 
     }, 
"image": { 
     "uri": "https://armstorageaccount.blob.core.windows.net/resource-vhd/VM-ARM-os-2016-06-08-37FFE535.vhd" 
     }, 
"caching": "readwrite", 
"createOption": "FromImage" 
}}}}] 

上記のテンプレートを実行する前に、私はAzureコンピューティングの管理ライブラリを使用してパブリックIPアドレスリソースを作成しています.netと.netのためのAzureネットワーク管理ライブラリを使用しているネットワークインターフェイスカードリソースこれらのリソースの名前は、上記のテンプレートで適切な変数を使用しています。私は非同期タスクを使用しているので、上記のテンプレートが実行される前にこれらのリソースの両方が作成されます。私はあなたが待つ必要はありませんので、私はこの使用非同期メソッドあなた

var computeClient = new Microsoft.Azure.Management.Compute.ComputeManagementClient(credentials) { SubscriptionId = subscriptionId }; 
var vm = await computeClient.VirtualMachines.BeginCreateOrUpdate(resourceGroup, vmName, 
      new VirtualMachine 
      { 
       Location = location, 
       HardwareProfile = new HardwareProfile(vmSize), 
       OsProfile = new OSProfile(vmName, vmAdminUsername, vmAdminPassword), 
       StorageProfile = new StorageProfile(
        new ImageReference 
        { 
         Publisher = vmImagePublisher, 
         Offer = vmImageOffer, 
         Sku = vmImageSku, 
         Version = vmImageVersion 
        }, 
        new OSDisk 
        { 
         Name = vmOSDiskName, 
         Vhd = new VirtualHardDisk(@"http://" + storageAccountName + ".blob.core.windows.net/vhds/{vmOSDiskName}.vhd"), 
         Caching = "ReadWrite", 
         CreateOption = "FromImage" 
        }, 
        new List<DataDisk>() 
        { 

        } 
        ), 
       NetworkProfile = new NetworkProfile(
        new[] { new NetworkInterfaceReference { Id = nicId } }), 
       DiagnosticsProfile = new DiagnosticsProfile(
        new BootDiagnostics 
        { 
         Enabled = true, 
         StorageUri = @"http://" + storageAccountName + ".blob.core.windows.net" 
        }) 
      }); 

ためにこの仕事を考える.NET

+0

AzureポータルやAzure PowerShellで同じ配備を行ったことがありますか? – juvchan

+0

いいえ私は配備のためにpowershellを使用していません。私はARM用に.net sdkを使用してそれを行う必要があります。紺碧のポータルでそれを行う方法は何ですか? –

答えて

0

ため紺碧のリソース管理SDKを使用してテンプレートを展開しています。

関連する問題