Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

新しいAzure PowerShell で 仮想マシンV2を作成する

前回の記事では、Azure PowerShellの仕様が変わった件について書いたのですが、それより前に記事とした 仮想マシンV2 と ロードバランサーを作成するサンプルスクリプト - Azureの小ネタ (改) がそのままでは動かなくなっているので、さくっと書き換えてみます。

基本的に

[Verb]-AzureRm[Noun]

で書き換えれば問題ありませんが、一部引数が違う(New-AzureRmVm)がありました。とりあえず書き換えて実行できたサンプルを挙げておきます。

$rg      = "testrg2"
$loc     = "japanwest"
$storage = "somestorage"あら
$domain  = "somedomain"
$osDisk  = "https://{0}.blob.core.windows.net/vhds/OsDisk.vhd" -f $storage

$vmName  = "someVmName"
$computerName = "someComputerName"

$nicName     = "myNic"

$subnet1Name = "Subnet-1"
$subnet2Name = "Subnet-2"
$vnetName    = "myVnet"

$vnetPrefix        = "10.0.0.0/8"
$subnet1Prefix     = "10.0.0.0/24"
$privateIpAddress  = "10.0.0.10"

#$VerbosePreference = "stop"

# リソースグループの作成
New-AzureRmResourceGroup -Name $rg -Location $loc

# サブネットの作成
$vnet   = New-AzureRmVirtualNetwork -ResourceGroupName $rg -Location $loc `
    -Name $vnetName -AddressPrefix $vnetPrefix 

$vnet = $vnet | Add-AzureRmVirtualNetworkSubnetConfig -Name $subnet1Name -AddressPrefix $subnet1Prefix | 
                Set-AzureRmVirtualNetwork

$subnet1 = Get-AzureRmVirtualNetworkSubnetConfig -Name $subnet1Name -VirtualNetwork $vnet

$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName $rg -Name $vnetName -Verbose

# パブリックIPアドレスの作成
$ip = New-AzureRmPublicIpAddress -ResourceGroupName $rg -Location $loc `
    -Name myPublicIp -AllocationMethod Dynamic -DomainNameLabel $domain -Verbose

# ネットワークインタフェースの作成 
$nic    = New-AzureRmNetworkInterface -ResourceGroupName $rg -Location $loc `
    -Name $nicName -PrivateIpAddress $privateIpAddress -Subnet $subnet1 -PublicIpAddress $ip -Verbose


# ストレージアカウント LRSで作成
New-AzureRmStorageAccount -ResourceGroupName $rg -Location $loc `
    -Name $storage -Type Standard_LRS


# User/Passwordの設定
$creds = Get-Credential

# VMの構成 Ubuntu 14.04-LTS 
$config = `
    New-AzureRmVMConfig -VMName $vmName -VMSize Standard_A1 |
    Set-AzureRmVMOperatingSystem -Linux -ComputerName $computerName -Credential $creds |
    Set-AzureRmVMSourceImage -PublisherName canonical -Offer UbuntuServer -Skus 14.04.2-LTS -Version 14.04.201506100 |
    Set-AzureRmVMOSDisk -Name "ubuntuOsDisk" -CreateOption fromImage -Caching ReadWrite -VhdUri $osDisk |
    Add-AzureRmVMNetworkInterface -Id $nic.Id 

# VMの作成
New-AzureRmVM  -ResourceGroupName $rg -Location $loc -VM $config