My Tracking

My Tracking

記憶力の低下が気になるアラフォー男の備忘録

【MicrosoftAzure】Windows仮想マシンを日本語化する。

下記書籍によると、MicrosoftAzureのギャラリーで提供されているWindowsは すべて英語版。ただし、WindowsServer2008以降では、日本語化が可能。

参考書籍

以下書籍を参考にしている。

Windows仮想マシンを日本語化する。

MicrosoftAzureのギャラリーから展開したWindowsServer2012R2を 日本語化してみる。

MiscrosoftAzure上に展開した WindowsServer2012R2の[ControlPanel]を開く。

[Clock,Language and ,Region]の下の [Add a Language]をクリックする。

[Add a Language]をクリックする。

[日本語]を選択する。

[日本語]をクリックし選択後、[Move up]をクリックして 一覧の一番上に移動する。

[Options]をクリックする。

しばらく待つ。

[Download and install language pack]をクリックする。

日本語パックのダウンロードとインストールが開始される。

しばらく待つ。

インストールが完了する(15分ぐらいかかる)ので、 [close]

[Change date , time ,or number formats]をクリックする。

[Administrative]タブをクリックし、 [Copy settings]をクリックする。

以下の2つのチェックボックスをオンにして [OK]する。

再起動を促すダイアログボックスで 一旦[Cancel]する。

続いて、[Change system locale]をクリックする。

[Japanese(Japan)]を選択して、[OK]をクリックする。

[Restart now]をクリックする。

インストールには結構時間がかかる。 15分~20分程度たったのち、再度ログインすると

日本語に変わっている。

【MicrosoftAzure】Windows仮想マシンへRDP接続する。

Download Microsoft Azure 自習書一式 from Official Microsoft Download Center

上記で、「自習書シリーズ」に基づき、作成したWindows仮想マシンへRDP接続してみる。

目次

参考書籍

以下を書籍を参考にしている。

PowerShell for Azure

PowerShell for Azure

RDP接続する。

ここでは、Azureの管理コンソール上で、 RDP接続先の仮想マシン(ここではSQL01)を選択する。

仮想マシンを選択したら、[接続]を押下。

RDPファイルがダウンロードされる。

ダウンロードしたRDPファイルをクリックする。

[接続]を押下する。

仮想マシン作成時に指定した管理者IDとパスワードを入力し、[OK]を押下する。

[はい]を押下する。

仮想マシンにRDP接続できることを確認する。

PowershellでRDPファイルを一括取得する。

Powershellで作成した仮想マシンのRDPファイルを一括取得する場合の例は下記の通り。

# リソースグループ 
$rg = "AW-RG"
$VMs = Get-AzureRmVM -ResourceGroupName $rg

foreach ($VM in $VMs)
{
    $FileName= $VM.Name + ".rdp"
    Get-AzureRmRemoteDesktopFile -ResourceGroupName $rg -Name $VM.Name -LocalPath C:\Users\xxxxxxx\Desktop\SetUp\Azure\$FileName
     
}

下記のとおり、RDPファイルが一括取得(ここでは計2個)される。

【MicrosoftAzure】自習書シリーズをやってみる⑥(~IISのインストール~)

引き続き、「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」 (以下、「自習書シリーズ」を利用した学習記。

Download Microsoft Azure 自習書一式 from Official Microsoft Download Center

前回まで、リソースグループおよびストレージアカウントおよび仮想ネットワーク、 ネットワークインターフェイスとパブリックIPアドレスの作成、仮想マシン作成まで行ったので、

今回は、MicrosoftAzure上の仮想マシン上にIISをインストールする。

IISのインストールについて

「自習書」シリーズの内容に準じ、ここでは、以下のステップを踏む。

IISをインストールするカスタムスクリプトをローカル コンピューターで作成する。
②①のカスタムスクリプトを、Azure Blob ストレージにアップロードする。
③Set-AzureRmVMCustomScriptExtensionコマンドを実行して、対象の仮想マシンインスタンスで①のカスタムスクリプトを実行する

IISをインストールするカスタムスクリプトをローカル コンピューターで作成する。

以下のIISをインストールするためのカスタムスクリプトをローカル コンピューターに作成する。 ここでは、「c:\Install-IIS.ps1」で保存する。

Install-WindowsFeature Web-Server –IncludeAllSubFeature

②カスタムスクリプトを、Azure Blob ストレージにアップロードする。

作成したカスタムスクリプトをAzure Blob ストレージにアップロードする。

# リソースグループ 
$rg = "AW-RG"

# ストレージ 
$storageAccountName = "simalabmstorageacct"

# カスタムスクリプト ファイルの情報
$container = "scripts"
$scriptFile = "c:\Install-IIS.ps1"

#ストレージキーの取得方法については、powershellのバージョンによって違うため注意。
#https://blogs.msdn.microsoft.com/windowsazurestorage/2016/08/29/azure-storage-powershell-v-1-7-hotfix-to-v1-4-breaking-changes/

#ストレージキーの取得
$strorageKey = (Get-AzureRmStorageAccountKey -Name $storageAccountName -ResourceGroupName $rg)[0].Value

# スクリプトのアップロード 
$ctx = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $strorageKey
       
New-AzureStorageContainer -Name $container -Permission Off -Context $ctx
Set-AzureStorageBlobContent -File $scriptFile -Container $container -Context $ctx
 

※下記サイトのとおり、ストレージキーの取得方法については、powershellのバージョンによって違うため注意する。

実行後、該当のストレージアカウントのscriptsコンテナに「Install-IIS.ps1」がアップロードされる。

③Set-AzureRmVMCustomScriptExtensionコマンドを実行して、対象の仮想マシンインスタンスで①のカスタムスクリプトを実行する

アップロードしたカスタムスクリプトをSet-AzureRmVMCustomScriptExtension コマンドを実行して、 対象の仮想マシンインスタンスで実行する。

# リソースグループ 
$rg = "AW-RG"

# 仮想マシンの情報 
$vmName = "Web01"

# ストレージ
$storageAccountName = "simalabmstorageacct"

# カスタムスクリプト ファイルの情報
$container = "scripts"
$scriptFile = "Install-IIS.ps1"

#ストレージキーの取得方法については、powershellのバージョンによって違うため注意。
#https://blogs.msdn.microsoft.com/windowsazurestorage/2016/08/29/azure-storage-powershell-v-1-7-hotfix-to-v1-4-breaking-changes/

# ストレージ キーを取得 
$key =  (Get-AzureRmStorageAccountKey -Name $storageAccountName -ResourceGroupName $rg)[0].Value
       
# カスタムスクリプトの実行
Set-AzureRmVMCustomScriptExtension -ContainerName $container `
          -FileName $scriptFile -Name $vmName -ResourceGroupName $rg `
          -VMName $vmName -Location $location -Run $scriptFile `
          -StorageAccountKey $key -StorageAccountName $StorageAccountName

10分ぐらいたつと、処理が完了する。出力例は下記の通り。

RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
                         True         OK OK       

接続確認する。

下記の通り、IISをインストールした仮想マシン(ここではWeb01-IP)のIPアドレスに 接続する。なお、付与されたパブリックアドレスは下記のとおり確認できる。

PS C:\WINDOWS\system32> Get-AzureRmPublicIpAddress -ResourceGroupName $rg | select Name,IpAddress

Name     IpAddress    
----     ---------    
SQL01-IP 40.74.124.167
Web01-IP 40.74.95.7

ここでは、http://40.74.95.7/にアクセスし、IISのトップページにアクセスできることを確認する。

また、DNSベースでもアクセスし、IISのトップページにアクセスできることを確認する。

仮想マシン上でも、IISがインストールされていることを確認する。

【MicrosoftAzure】自習書シリーズをやってみる⑤(~仮想マシンの作成~)

引き続き、「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」 (以下、「自習書シリーズ」を利用した学習記。

Download Microsoft Azure 自習書一式 from Official Microsoft Download Center

前回まで、リソースグループおよびストレージアカウントおよび仮想ネットワーク、 ネットワークインターフェイスとパブリックIPアドレスの作成まで行ったので、

今回は、MicrosoftAzure上に仮想マシンを作成してみる。

目次

学習目標とする構成

「自習書シリーズ」に掲載されている 下記の構成の完成が、当面の学習の目標。

※「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」より引用。

参考書籍

以下を書籍を参考にしている。

仮想マシン作成について

まず、仮想マシン作成を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         

【MicrosoftAzure】自習書シリーズをやってみる④(~ネットワークインターフェイスとパブリックIPアドレスの作成~)

引き続き、「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」 (以下、「自習書シリーズ」を利用した学習記。

Download Microsoft Azure 自習書一式 from Official Microsoft Download Center

前回までで、リソースグループおよびストレージアカウントおよび仮想ネットワークまで作成したので、

今回は、MicrosoftAzure上にネットワークインターフェイスとパブリックIPアドレスの作成を行う。

目次

学習目標とする構成

「自習書シリーズ」に掲載されている 下記の構成の完成が、当面の学習の目標。

※「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」より引用。

参考書籍

以下を書籍を参考にしている。

IPアドレスについて

グローバルインターネットに接続するためのIPアドレス。 ※パブリックIPアドレスは、パブリックIPアドレス リソースを作成して割り当てる。

仮想ネットワーク内で通信するためのIPアドレス

「自習書」の内容に準じ、今回は、 仮想マシンに、下記のとおり、プライベートIP アドレスを静的に割り当て、 パブリックIPアドレスは、Azure側で割り当てられた動的なアドレスを利用する。

仮想マシンの種類 仮想マシン 配置するサブネット名 ネットワーク インターフェイス プライベート IP アドレス
Webサーバー Web01 Frontend-SN Web01-NIC 192.168.1.4
DBサーバー SQL01 Backend-SN SQL01-NIC 192.168.1.36

「New-AzureRmPublicIpAddress」コマンドによるパブリックIPアドレスリソースの作成

パブリックIPアドレスは、New-AzureRmPublicIpAddress で作成する。

詳細は、「自習書シリーズ」に丁寧な解説があるが、 「New-AzureRmPublicIpAddress 」には、 主に下記のパラメータを 設定し、実行する。

パラメータ 説明 今回の設定値
ResourceGroupName パブリックIP アドレスを作成するリソースグループ AW-RG
Location 仮想マシンを作成する地域 japanwest
Name パブリック IP アドレスの名前 Web01-IP
DomainNameLabel 仮想ネットワーク名を作成するリソースグループ名 「mylab-we-ps」(Azure で一意な名前)
AllocationMethod パブリック IP アドレスの割り当て方法を Dynamic または Static から選択 Dynamic

「New-AzureRmNetworkInterface」コマンドによるネットワークインターフェイスの作成

ネットワークインターフェイスは、New-AzureRmNetworkInterface で作成する。

詳細は、「自習書シリーズ」に丁寧な解説があるが、 「New-AzureRmVirtualNetwork 」には、 主に下記のパラメータを 設定し、実行する。

パラメータ 説明 今回の設定値
ResourceGroupName パブリックIP アドレスを作成するリソースグループ AW-RG
Location 仮想マシンを作成する地域 japanwest
Name パブリック IP アドレスの名前 Web01-IP
PrivateIpAddress ネットワーク インターフェイスに割り当てるプライベート IP (192.168.1.4(WEBサーバ用) および192.168.1.36(DBサーバ用)
PublicIpAddress ネットワーク インターフェイスに割り当てるパブリック IP アドレスを指定 Get-AzureRmVirtualNetworkSubnetConfig で取得
Subnet ネットワーク インターフェイスを作成するサブネットを指定 New-AzureRmPublicIpAddress で取得

WEBサーバ用のIPアドレスリソースおよびNICリソースの作成

上述した一連のコマンドを下記のスクリプトで実行する。 まずは、WEBサーバ用のリソースを作成する。

#リソースグループ 
$rg = "AW-RG"
#地域 
$location = "japanwest"

# パブリックIPアドレス 
$PublicIpAddressName = "Web01-IP"
$dnsNameforPublicIp = "mylab-we-ps"
$allocationMethod = "Dynamic" 

# 仮想ネットワーク 
$virtualNetworkName = "AW-VNet"
$subnetName = "Frontend-SN"

# NIC
$nicName = "Web01-NIC"
$privateIpAddress = "192.168.1.4"
 
# パブリック IP アドレスの作成 
$pip = New-AzureRmPublicIpAddress `
        -AllocationMethod $allocationMethod -ResourceGroupName $rg `
        -DomainNameLabel $dnsNameforPublicIP `
        -Location $location -Name $PublicIPAddressName 
        
# NICを配置するサブネットの取得 
$vnet = Get-AzureRmVirtualNetwork -Name $virtualNetworkName `
        -ResourceGroupName $rg 
        
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name $subnetName `
          -VirtualNetwork $vnet
          
# NICの作成 
$nic = New-AzureRmNetworkInterface -ResourceGroupName $rg `
       -Location $location -Name $nicName -Subnet $subnet `
       -PrivateIpAddress $privateIpAddress -PublicIpAddress $pip

スクリプトの詳細は「自習書シリーズ」に丁寧な解説があるが、上記のとおり、

New-AzureRmNetworkInterfaceのパラメータに渡す「-PublicIpAddress」には、 New-AzureRmPublicIpAddressコマンドの戻り値、「-Subnet」には Get-AzureRmVirtualNetworkSubnetConfigコマンドの戻り値を取得しうえで、 最終的に、New-AzureRmNetworkInterfaceコマンドを実行する。

なお、実行時の出力例は特になし(実行した際はこんな感じだった。)

警告: The output object type of this cmdlet will be modified in a future release.
警告: The output object type of this cmdlet will be modified in a future release.

DBサーバ用のIPアドレスリソースおよびNICリソースの作成

次に、DBサーバ用のリソースを作成する。

#リソースグループ 
$rg = "AW-RG"
#地域 
$location = "japanwest"

# パブリックIPアドレス 
$PublicIpAddressName = "SQL01-IP"
$dnsNameforPublicIp = "mylab-sql-ps"
$allocationMethod = "Dynamic" 

# 仮想ネットワーク 
$virtualNetworkName = "AW-VNet"
$subnetName = "Backend-SN"

# NIC
$nicName = "SQL01-NIC"
$privateIpAddress = "192.168.1.36"
 
# パブリック IP アドレスの作成 
$pip = New-AzureRmPublicIpAddress `
        -AllocationMethod $allocationMethod -ResourceGroupName $rg `
        -DomainNameLabel $dnsNameforPublicIP `
        -Location $location -Name $PublicIPAddressName 
        
# NICを配置するサブネットの取得 
$vnet = Get-AzureRmVirtualNetwork -Name $virtualNetworkName `
        -ResourceGroupName $rg 
        
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name $subnetName `
          -VirtualNetwork $vnet
          
# NICの作成 
$nic = New-AzureRmNetworkInterface -ResourceGroupName $rg `
       -Location $location -Name $nicName -Subnet $subnet `
       -PrivateIpAddress $privateIpAddress -PublicIpAddress $pip

作成したリソースの確認

上述のリソース作成時の表示がとくにされなかったが、 作成したリソースを確認する場合は、下記のとおり。

Get-AzureRmResource | ? {$_.ResourceGroupName -eq $rg } | Select Name, ResourceType  

出力例は下記のとおり。

Name                ResourceType                       
----                ------------                       
SQL01-NIC           Microsoft.Network/networkInterfaces
Web01-NIC           Microsoft.Network/networkInterfaces
SQL01-IP            Microsoft.Network/publicIPAddresses
Web01-IP            Microsoft.Network/publicIPAddresses
AW-VNet             Microsoft.Network/virtualNetworks  
simalabmstorageacct Microsoft.Storage/storageAccounts  

【MicrosoftAzure】自習書シリーズをやってみる③(~仮想ネットワークとサブネットの作成 ~)

引き続き、「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」 (以下、「自習書シリーズ」を利用した学習記。

Download Microsoft Azure 自習書一式 from Official Microsoft Download Center

前回までで、リソースグループおよびストレージアカウントまで作成したので、

今回は、MicrosoftAzure上に仮想ネットワークとサブネットを作成してみる。

目次

学習目標とする構成

「自習書シリーズ」に掲載されている 下記の構成の完成が、当面の学習の目標。

※「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」より引用。

参考書籍

以下を書籍を参考にしている。

仮想ネットワークとは

仮想マシンを接続するための論理的なネットワーク。 仮想ネットワークAzure内で、自由に通信できる内部ネットワークで、 仮想マシンを仮想ネットワークに接続させることで、 自由に通信できるようになる。仮想ネットワークは、 仮想マシンの作成時に指定することになるため、 必ず、仮想マシンの作成名に仮想ネットワークを構成する必要が ある。

まず、仮想ネットワークをPowershellで構成する場合は、 以下のステップを踏む。

①仮想ネットワークは、New-AzureRmVirtualNetwork で作成
②次に、作成した仮想ネットワークにAdd-AzureRmVirtualNetworkSubnetConfig
でサブネットを作成。
③最後に、Set-AzureRmVirtualNetworkSubnetConfig で保存。

仮想ネットワークの構成とサブネット

「自習書シリーズ」の内容のとおり、下記の仮想ネットワークにサブネットを作成する。

  • 作成する仮想ネットワーク
仮想ネットワーク名 アドレス空間
AW-VNET 192.168.1.0/25
  • 仮想ネットワーク内に配置するサブネット
配置するサブネット名 アドレス空間
Frontend-SN 192.168.1.0/27
Backend-SN 192.168.1.32/27

「New-AzureRmVirtualNetwork 」コマンドによる仮想ネットワークの作成

仮想ネットワークは、New-AzureRmVirtualNetwork で作成する。

サブネットの構成が、あらかじめ作成されている場合、New-AzureRmVirtualNetwork を実行するときに、 使用する サブネットを渡すことができるようだが、今回は、先に仮想ネットワークを作成しておいて 後からサブネット構成を追加する。

「自習書シリーズ」に丁寧な解説があるが、 「New-AzureRmVirtualNetwork 」には、 主に下記の必須パラメータを 設定し、実行する。

パラメータ 説明 今回の設定値
Location 仮想マシンを作成する地域 $location
Name 仮想ネットワーク名 $virtualNetworkName
ResourceGroupName 仮想ネットワーク名を作成するリソースグループ名 $rg
AddressPrefix 仮想ネットワークに定義するアドレス空間 $addressPrefix

「Add-AzureRmVirtualNetworkSubnetConfig 」コマンドによるサブネットの作成

サブネットの構成は、Add-AzureRmVirtualNetworkSubnetConfig で作成する。

パラメータ 説明 今回の設定値
AddressPrefix サブネットに定義するアドレス空間 $subnet1Prefix および$subnet2Prefix
Name サブネット名 $subnet1Nameおよび$subnet2Name
VirtualNetwork サブネットを作成する仮想ネットワーク名 $vnet

「Set-AzureRmVirtualNetworkSubnetConfig 」コマンドによる設定の保存。

「Add-AzureRmVirtualNetworkSubnetConfig 」で実施した設定を「Set-AzureRmVirtualNetworkSubnetConfig 」コマンドで保存する。

パラメータ 説明 今回の設定値
VirtualNetwork 変更する仮想ネットワーク名 $vnet

仮想ネットワークとサブネットの作成の実行

上述した一連のコマンドを下記のスクリプトで実行する。

# リソースグループ 
$rg = "AW-RG"

# 地域 
$location = "japanwest"

# 仮想ネットワーク 
$virtualNetworkName = "AW-VNet"
$addressPrefix = "192.168.1.0/25"

# サブネット 
$subnet1Name = "Frontend-SN"
$subnet2Name = "Backend-SN"

$subnet1Prefix = "192.168.1.0/27" 
$subnet2Prefix = "192.168.1.32/27"
 
# 仮想ネットワークの作成
$vnet = New-AzureRmVirtualNetwork -Location $location -Name $virtualNetworkName `
-ResourceGroupName $rg -AddressPrefix $addressPrefix

# サブネットの作成
Add-AzureRmVirtualNetworkSubnetConfig -AddressPrefix $subnet1Prefix `
-Name $subnet1Name -VirtualNetwork $vnet 
Set-AzureRmVirtualNetworkSubnetConfig -AddressPrefix $subnet1Prefix `
-Name $subnet1Name -VirtualNetwork $vnet 
Add-AzureRmVirtualNetworkSubnetConfig -AddressPrefix $subnet2Prefix `
-Name $subnet2Name -VirtualNetwork $vnet 
Set-AzureRmVirtualNetworkSubnetConfig -AddressPrefix $subnet2Prefix `
 -Name $subnet2Name -VirtualNetwork $vnet
$vnet = Set-AzureRmVirtualNetwork -VirtualNetwork $vnet

実行時の出力例が下記のとおり。 ProvisioningStateが「Succeeded」 となっていることを確認する。

Name                   : AW-VNet
ResourceGroupName      : AW-RG
Location               : japanwest
Id                     : /subscriptions/xxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/AW-RG/providers/Microsoft.Network/virtualNetworks/AW-VNet
Etag                   : W/"xxxxxxxxxxxxxxxxxxxxxxx"
ResourceGuid           : b8b0a717-de99-4db8-94c8-dc799468f727
ProvisioningState      : Succeeded
Tags                   : 
AddressSpace           : {
                           "AddressPrefixes": [
                             "192.168.1.0/25"
                           ]
                         }
DhcpOptions            : {}
Subnets                : [
                           {
                             "Name": "Frontend-SN",
                             "AddressPrefix": "192.168.1.0/27"
                           }
                         ]
VirtualNetworkPeerings : []

Name                   : AW-VNet
ResourceGroupName      : AW-RG
Location               : japanwest
Id                     : /subscriptions/xxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/AW-RG/providers/Microsoft.Network/virtualNetworks/AW-VNet
Etag                   : W/"xxxxxxxxxxxxxxxxxxxxxxx"
ResourceGuid           : xxxxxxxxxxxxxxxxxxxxxxx
ProvisioningState      : Succeeded
Tags                   : 
AddressSpace           : {
                           "AddressPrefixes": [
                             "192.168.1.0/25"
                           ]
                         }
DhcpOptions            : {}
Subnets                : [
                           {
                             "Name": "Frontend-SN",
                             "AddressPrefix": "192.168.1.0/27"
                           }
                         ]
VirtualNetworkPeerings : []

Name                   : AW-VNet
ResourceGroupName      : AW-RG
Location               : japanwest
Id                     : /subscriptions/xxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/AW-RG/providers/Microsoft.Network/virtualNetworks/AW-VNet
Etag                   : W/"xxxxxxxxxxxxxxxxxxxxxxx"
ResourceGuid           : xxxxxxxxxxxxxxxxxxxxxxx
ProvisioningState      : Succeeded
Tags                   : 
AddressSpace           : {
                           "AddressPrefixes": [
                             "192.168.1.0/25"
                           ]
                         }
DhcpOptions            : {}
Subnets                : [
                           {
                             "Name": "Frontend-SN",
                             "AddressPrefix": "192.168.1.0/27"
                           },
                           {
                             "Name": "Backend-SN",
                             "AddressPrefix": "192.168.1.32/27"
                           }
                         ]
VirtualNetworkPeerings : []

Name                   : AW-VNet
ResourceGroupName      : AW-RG
Location               : japanwest
Id                     : /subscriptions/xxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/AW-RG/providers/Microsoft.Network/virtualNetworks/AW-VNet
Etag                   : W/"xxxxxxxxxxxxxxxxxxxxxxx"
ResourceGuid           : xxxxxxxxxxxxxxxxxxxxxxx
ProvisioningState      : Succeeded
Tags                   : 
AddressSpace           : {
                           "AddressPrefixes": [
                             "192.168.1.0/25"
                           ]
                         }
DhcpOptions            : {}
Subnets                : [
                           {
                             "Name": "Frontend-SN",
                             "AddressPrefix": "192.168.1.0/27"
                           },
                           {
                             "Name": "Backend-SN",
                             "AddressPrefix": "192.168.1.32/27"
                           }
                         ]
VirtualNetworkPeerings : []


作成した仮想ネットワークを確認する場合は、「Get-AzureRmVirtualNetwork」で確認する。

Get-AzureRmVirtualNetwork

【MicrosoftAzure】自習書シリーズをやってみる②(~ストレージアカウントの作成 ~)

引き続き、「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」 (以下、「自習書シリーズ」を利用した学習記。

Download Microsoft Azure 自習書一式 from Official Microsoft Download Center

前回、リソースグループを作成したので、

mytracking.hatenablog.com

今回は、MicrosoftAzure上にストレージアカウントを作成してみる。

目次

学習目標とする構成

「自習書シリーズ」に掲載されている 下記の構成の完成が、当面の学習の目標。

※「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」より引用。

参考書籍

以下書籍を参考にしている。

ストレージアカウントとは

仮想マシンに接続するディスク装置を提供する。 ストレージアカウントは、HTTPベースのプログラムインターフェースを利用することで 単独でも「記憶領域(ストレージ)」として利用できる。 Powershellでは「New-AzureRmStorageAccount」 で作成できる。

概念的には、下記のような感じ・・

※「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」より引用。

ストレージアカウントの提供サービス

  • BLOB

「Binary Large Object」の略で、Azureではストレージアカウントのうち、BLOBを使用して、仮想ディスクを構成する。BLOBには、さらに「ブロックBLOB」と「ページBLOB」がある。「ブロックBLOB」は連続再生に最適化されているため、文書やストリーミングメディアの直接格納に適している。対して、「ページBLOB」は」ランダムな書き込みをサポートするように最適化されているため、仮想マシンのディスク装置として使用される。

  • キュー、テーブル

キューは待ち行列、テーブルは2次元表形式のデータを格納するための機能。これらは主にAzureのPaasアプリケーションから利用される。

  • ファイル

仮想マシンから利用できる共有フォルダ。ファイルサーバ的な感じで使える。

冗長化オプション

  • Standard_LRS(ローカル冗長ストレージ)

データのコピーがデータセンター内に 3 つ保持される。

  • Standard_GRS(地理的冗長ストレージ)

プライマリ リージョンの 3 つのレプリカに加え、セカンダリ リージョンにも3つのレプリカを保管する

  • Standard_RAGRS 読み取りアクセス地理的冗 長ストレージ

「New-AzureRmStorageAccount」コマンドによるストレージアカウントの作成

「自習書シリーズ」に丁寧な解説があるが、 「New-AzureRmStorageAccount」に下記のパラメータを 設定し、実行する。なお、ストレージ アカウント名は Azure で一意な名前にする必要がある。

  • Location ・・設定値「$location」
  • Name・・設定値「$newStorageAccountName」
  • ResourceGroupName・・設定値「$rg」
  • Type・・設定値「Standard_LRS」

「New-AzureRmStorageAccount」コマンドの実行

以下の通り、New-AzureRmStorageAccountでストレージアカウントを作成する。

#リソースグループ 
$rg = "AW-RG" 
#地域 
$location = "japanwest" 
# ストレージ アカウント 
$newStorageAccountName = "simalabmstorageacct"
$storageAccountType = "Standard_LRS" 
 
New-AzureRmStorageAccount -Location $location ` 
-Name $newStorageAccountName -ResourceGroupName $rg -Type $storageAccountType

実行時の出力例が下記のとおり。 ProvisioningStateが「Succeeded」となっていることを確認する。

ResourceGroupName   : aw-rg
StorageAccountName  : simalabmstorageacct
Id                  : /subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/aw-rg/providers/Microsoft.Storage/storageAccounts/simalabmstorageacct
Location            : japanwest
Sku                 : Microsoft.Azure.Management.Storage.Models.Sku
Kind                : Storage
Encryption          : 
AccessTier          : 
CreationTime        : 2016/11/05 17:02:09
CustomDomain        : 
LastGeoFailoverTime : 
PrimaryEndpoints    : Microsoft.Azure.Management.Storage.Models.Endpoints
PrimaryLocation     : japanwest
ProvisioningState   : Succeeded
SecondaryEndpoints  : 
SecondaryLocation   : 
StatusOfPrimary     : Available
StatusOfSecondary   : 
Tags                : {}
Context             : Microsoft.WindowsAzure.Commands.Common.Storage.LazyAzureStorageContext

作成したストレージアカウントを確認する場合は、「Get-AzureRmStorageAccount」で確認する。

PS C:\WINDOWS\system32> Get-AzureRmStorageAccount