My Tracking

My Tracking

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

【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がインストールされていることを確認する。