まえがき
すでに構築を完了した仮想マシンのキャプチャイメージを利用して、VMSS(Virtual Machine Scale Set)を構築しました。NIC2枚刺しの仮想マシンということもあり、PowerShellでVMSSを作成しましたが。。。。。エラー。。。。。
エラー内容
New-AzureRmVmss : Long running operation failed with status 'Failed'.
ErrorCode: OSProvisioningInternalError
ErrorMessage: OS Provisioning failed for VM 'testscaleset01_0' due to an internal error.
StartTime: 2017/03/18 4:50:42
EndTime: 2017/03/18 4:52:51
OperationID: ****************
Status: Failed
発生場所 C:\Users\miwato\Desktop\AutoScaleSet.ps1:106 文字:2
+ New-AzureRmVmss -ResourceGroupName $ResourceGroupName -Name $Vmss ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-AzureRmVmss], ComputeCloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.Common.ComputeCloudException,Microsoft.Azure.Commands.Compute.Automation.NewAzureRmVmss
今一度Check
構築が完了した仮想マシン上では、CentOS7.3 が動きDockerコンテナが動いていたため、iptablesが動いてました。これが原因。
MSさんのJapan Azure Technical Support Engineers' Blogに、「Provisioning failed」の原因についてあるあるパターンの記載がありました。
・#1 : 一般化されていないイメージを一般化イメージとして起動した
・#2 : ファイアウォール設定がされて外部と接続できない ★ BINGO! ★
・#3 : 仮想ネットワーク・ネットワークインターフェースカードに存在しない DNS サーバーが設定されている
・#4 : インターネットに接続できない状況で診断を有効化した
・#5 : VPN / ExpressRoute でインターネットに接続できないオンプレミス環境へ強制トンネリングをしている
エラー原因
次のオプションで英大文字を利用していたことが原因でした。
・Set-AzureRmVmssOSProfile のオプションとなる -AdminUsername
・New-AzureRmVmss のオプションとなる -Name
どうやって判明したか
Azureポータルから同じ名前を利用して作ってみると、設定した値ではダメということで「!」(ビックリマーク)が表示されました。