【MicrosoftAzure】自習書シリーズをやってみる⑤(~仮想マシンの作成~)
引き続き、「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」 (以下、「自習書シリーズ」を利用した学習記。
Download Microsoft Azure 自習書一式 from Official Microsoft Download Center
前回まで、リソースグループおよびストレージアカウントおよび仮想ネットワーク、 ネットワークインターフェイスとパブリックIPアドレスの作成まで行ったので、
今回は、MicrosoftAzure上に仮想マシンを作成してみる。
目次
- 目次
- 学習目標とする構成
- 参考書籍
- 仮想マシン作成について
- (1) 「New-AzureRmVMConfig」コマンドによる構成情報を作成する。
- (1)- ①.プロビジョニングに必要なその他の構成情報(「New-AzureRmVMConfig」コマンドに渡す情報」)
- (1)- ②.「Set-AzureRMVMOperatingSystem」コマンド(仮想マシンのOS情報などを設定)
- (1)- ③.「 Set-AzureRmVMSourceImage」コマンド(仮想マシン イメージの情報を設定)
- (1)- ④.「GetAzureRmVMImagePublisher 」 コマンド(仮想マシンのイメージの提供元を確認する)
- (1)- ⑤.「Set-AzureRmVMOSDisk」コマンド(OSの格納先などBlob ストレージのパスなどを設定)
- (1)- ⑥.「 Add-AzureRmVMNetworkInterface」コマンド(NICを仮想マシンに接続する。)
- (2).「New-AzureRmVM」コマンドにより仮想マシンを作成する。
- (3). WEBサーバ用の仮想マシンの作成
- (4). DBサーバ用の仮想マシンの作成
学習目標とする構成
「自習書シリーズ」に掲載されている 下記の構成の完成が、当面の学習の目標。
※「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」より引用。
参考書籍
以下を書籍を参考にしている。
ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築
- 作者: 横山哲也
- 出版社/メーカー: 日経BP社
- 発売日: 2015/09/10
- メディア: 単行本
- この商品を含むブログ (1件) を見る
仮想マシン作成について
まず、仮想マシン作成をPowershellで構成するにあたり、 以下のステップを踏む。
①New-AzureRmVMConfig で仮想マシンの構成オブジェクト(仮想マシンの設定情報など)を作成する。
②New-AzureRmVMに①で作成した構成情報などを渡し、仮想マシンを作成する。
(1) 「New-AzureRmVMConfig」コマンドによる構成情報を作成する。
仮想マシンの作成の構成情報を作成するには、New-AzureRmVMConfig コマンドレットを使用する。
「自習書シリーズ」に丁寧な解説があるが、 「New-AzureRmVMConfig」には、パラメータに指定できる値も あるようなので、ここでは、「自習書」シリーズの内容に準じ、下記のパラメータを設定し、実行する。
パラメータ | 説明 |
---|---|
VMName | 仮想マシンの名前を指定 |
VMSize | 仮想マシンのサイズを指定 |
AvailabilitySetId | 仮想マシンの可用性セットの ID を指定 |
VMSize パラメーターに設定できる値は、Get-AzureRmVMSize で取得することができる。
PS C:\WINDOWS\system32> Get-AzureRmVMSize -Location japanwest Name NumberOfCores MemoryInMB MaxDataDiskCount OSDiskSizeInMB ResourceDiskSizeInMB ---- ------------- ---------- ---------------- -------------- -------------------- Standard_A0 1 768 1 1047552 20480 Standard_A1 1 1792 2 1047552 71680 Standard_A2 2 3584 4 1047552 138240 Standard_A3 4 7168 8 1047552 291840 Standard_A5 2 14336 4 1047552 138240 Standard_A4 8 14336 16 1047552 619520 Standard_A6 4 28672 8 1047552 291840 ~ 中略 ~
(1)- ①.プロビジョニングに必要なその他の構成情報(「New-AzureRmVMConfig」コマンドに渡す情報」)
「New-AzureRmVMConfig」コマンドに渡すプロビジョニングに必要なその他の構成情報は 下記のように、複数のコマンドを指定する。
パラメータ | 説明 |
---|---|
Set-AzureRMVMOperatingSystem | コンピューター名や仮想マシンに接続するための資格情報などの仮想マシンのプロパティを指定 |
Set-AzureRMVMSourceImage | 仮想マシンを作成するためのソースとなるイメージを指定 |
Set-AzureRmVMOSDisk | OS ディスクの配置先として使用する Blob ストレージのパスなどを設定 |
Add-AzureRMVMNetworkInterface | 仮想マシンに接続するネットワークインターフェイスのIDを指定 |
※上記コマンドの詳細のパラメータについては、多岐にわたる。「自習書シリーズ」に丁寧な解説があるが、 下記はその今回設定する箇所の抜粋。
(1)- ②.「Set-AzureRMVMOperatingSystem」コマンド(仮想マシンのOS情報などを設定)
設定する主なオプションについては下記のとおり。
パラメータ | 説明 |
---|---|
ComputerName | コンピューター名を指定 |
Credential | 仮想マシンに作成される管理者アカウントのための資格情報を指定 |
VM | 設定する仮想マシン構成オブジェクトを指定 |
Windows | Windows OSであることを指定 |
EnableAutoUpdate | 自動更新を有効化する場合指定 |
(1)- ③.「 Set-AzureRmVMSourceImage」コマンド(仮想マシン イメージの情報を設定)
設定する主なオプションについては下記のとおり。
パラメータ | 説明 |
---|---|
PublisherName | 仮想マシン イメージの発行元の名前を指定 |
Offer | 仮想マシン イメージのオファー名を指定 |
Skus | 仮想マシン イメージの SKU を指定 |
Version | 仮想マシン イメージのバージョンを指定 |
VM | 設定する仮想マシン構成オブジェクトを指定 |
※Offer に設定できる値は、「Get-AzureRmVMImageOffer」コマンドで Skusに設定できる値は、「Get-AzureRmVMImageSku」コマンドで取得することが 可能。
(1)- ④.「GetAzureRmVMImagePublisher 」 コマンド(仮想マシンのイメージの提供元を確認する)
仮想マシンイメージはさまざま提供元から、提供されている。 その提供元を取得するためには、「GetAzureRmVMImagePublisher 」 コマンドが利用できる。
$location = "japanwest" Get-AzureRmVMImagePublisher -Location $location PublisherName Location Id ------------- -------- -- Microsoft japanwest /Subscriptions/32e39a2c-050d-4f6a-9782-34f7ec07199c/Providers/Microsoft.Compute/Locations/japanwest/Publishers/Microsoft microsoft-ads japanwest /Subscriptions/32e39a2c-050d-4f6a-9782-34f7ec07199c/Providers/Microsoft.Compute/Locations/japanwest/Publishers/microsoft-ads Microsoft.Azure.Applications japanwest /Subscriptions/32e39a2c-050d-4f6a-9782-34f7ec07199c/Providers/Microsoft.Compute/Locations/japanwest/Publishers/Microsoft.A... Microsoft.Azure.Backup.Test japanwest /Subscriptions/32e39a2c-050d-4f6a-9782-34f7ec07199c/Providers/Microsoft.Compute/Locations/japanwest/Publishers/Microsoft.A... ~略 ~
PublisherName に「Microsoft」が含まれるデータ行のみを取得する場合。
$location = "japanwest" Get-AzureRmVMImagePublisher -Location $location ` | ?{$_.PublisherName -like "Microsoft*"}
(1)- ⑤.「Set-AzureRmVMOSDisk」コマンド(OSの格納先などBlob ストレージのパスなどを設定)
設定する主なオプションについては下記のとおり。
パラメータ | 説明 |
---|---|
Name | OS ディスクの名前を指定 |
VhdUri | 作成する VHD ファイルの URI パスを指定 |
Caching | ディスク キャッシュ オプションを指定。ReadOnly、ReadWrite、None から選択可能。OS ディスクの既定値は、ReadWrite |
CreateOption | OS ディスクの作成方法を指定。Attach、Empty、FromImage から選択。 Azure のイメージ ギャラリーからプロビジョニングする場合、FromImage を指定 |
(1)- ⑥.「 Add-AzureRmVMNetworkInterface」コマンド(NICを仮想マシンに接続する。)
「Add-AzureRmVMNetworkInterface」 でネットワーク インターフェイス リソースを仮想マシンに接続する。
設定する主なオプションについては下記のとおり。
パラメータ | 説明 |
---|---|
id | 仮想マシンで使用するネットワーク インターフェイス リソースの ID を GetAzureRmNetworkInterface で取得 |
VM | ネットワーク インターフェイスを設定する仮想マシン構成オブジェクトを指定 |
(2).「New-AzureRmVM」コマンドにより仮想マシンを作成する。
「New-AzureRmVMConfig 」で仮想マシンの構成オブジェクトを作成したら、 それらを「New-AzureRmVM」に渡し、仮想マシンを作成する。
設定する主なオプションについては下記のとおり。
パラメータ | 説明 |
---|---|
ResourceGroupName | 仮想マシンを作成するリソース グループ名を指定 |
Location | 仮想マシンを作成する地域を指定 |
VM | 仮想マシンを構成するためのオブジェクトを指定 |
(3). WEBサーバ用の仮想マシンの作成
上述した一連のコマンドを下記のスクリプトで実行する。 まずは、WEBサーバ用の仮想マシンを作成する。
今回は、IIS だけを使用するシンプルな Windows Server OS 仮 想マ シンを 作 成するため、 PublisherName が「MicrosoftWindowsServer」 の仮想マシンイメージを選択する。
# リソースグループ $rg = "AW-RG" # 地域 $location = "japanwest" # 仮想マシンの構成情報 $vmName = "Web01" $vmSize = "Standard_A1" # 仮想マシン イメージの情報 $publisher = "MicrosoftWindowsServer" $offer = "WindowsServer" $sku = "2012-R2-Datacenter" $version = "latest" # OS ディスクの情報 $StorageAccountName = "simalabmstorageacct" $caching = "ReadWrite" $createOption = "fromImage" $vhdUri = "https://$StorageAccountName.blob.core.windows.net/vhds/$vmName-os.vhd" # NIC の情報 $nicName = "Web01-NIC" # NIC の情報を取得 $nic = Get-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rg # 仮想マシンの管理者アカウント情報を取得 $cred = Get-Credential # 仮想マシンの構成情報を作成 $config = New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize | Set-AzureRmVMOperatingSystem -Windows -ComputerName $vmName ` -Credential $cred -ProvisionVMAgent -EnableAutoUpdate | Set-AzureRmVMSourceImage -PublisherName $publisher ` -Offer $offer -Skus $sku -Version $version | Set-AzureRmVMOSDisk -Name "$vmName" -VhdUri $vhdUri ` -Caching $caching -CreateOption $createOption |Add-AzureRmVMNetworkInterface -Id $nic.Id # 仮想マシンの作成 New-AzureRmVM -ResourceGroupName $rg -Location $location -VM $config
Get-Credential より資格情報の入力を要求するダイアログボックスが表示されるので、 仮想マシンの管理者IDとパスワードを入力する。
その後、しばらく時間が経ったのち、下記の出力を得る。 StatusCode が「OK」となっていることを確認する。
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
(4). DBサーバ用の仮想マシンの作成
続いて、DBサーバ用の仮想マシンを作成する。
今回は、SQL Server がインストールされる Windows Server OS 仮想マシンを作成するため、 PublisherName が 「MicrosoftSQLServer」 の仮想マシンイメージを選択する。
Get-Credential より資格情報の入力を要求するダイアログボックスが表示されるので、 仮想マシンの管理者IDとパスワードを入力する。
その後、しばらく時間が経ったのち、下記の出力を得る。 StatusCode が「OK」となっていることを確認する。
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK