Azure VMのカスタムスクリプト拡張機能使用方法(Windowsの仮想マシンにIISをインストール)
Azureの仮想マシン(Azure VM)でのカスタムスクリプト拡張機能の使い方の紹介です。
Azure Portalを利用して設定する手順を紹介しています。
Azureの仮想マシンには、拡張機能(Extension)と呼ばれる追加機能を組み込むことができます。
その一つが、カスタムスクリプト拡張機能(Custom Script Extension)です。
Windows でのカスタムのスクリプト拡張機能
Linux 仮想マシンで Azure カスタム スクリプト拡張機能 v2 を使用する
カスタムスクリプト拡張機能を使用すると、仮想マシンのOS上でスクリプトを実行することができます。
この拡張機能を使うとOSにログインすることなく、外部からOS上でスクリプトを実行させることが可能です。
たとえば、仮想マシンの作成直後にソフトウェアのインストールや初期設定を自動化したい場合などに便利な機能です。
Windows Server 2025の仮想マシンへのIISインストールを例に、カスタムスクリプト拡張機能の使い方を確認しました。
※本記事では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
Azure Portalを利用したカスタムスクリプト拡張機能を使い方(IISをインストール)
公式サイトのチュートリアル
公式サイトに記載されているチュートリアルを参考に進めます。
チュートリアルではPowerShellを使用していますが、今回はAzure Portalを利用して実施します。
また、スクリプト作成にあたってのヒントについては、こちらに記載されています。
ヒントには、1回しか実行できないなどの注意事項が多く記載されているため、事前に確認するようにします。
事前に実行するスクリプトファイルをストレージアカウントへアップロードしておく必要がある(Azure Portal利用の場合)
カスタムスクリプトで実行する処理内容は、あらかじめファイルとして準備しておく必要があります。
また、作成したファイルはストレージアカウントのBlobコンテナーにアップロードしておく必要があります。
ただし、ストレージアカウントにアップロードしたファイルから読み込む必要があるのは、Azure Portalを利用してカスタムスクリプト拡張機能を実行する場合のみです。
Azure PowerShellのSet-AzVMExtensionコマンドレットを使用して設定する場合は、スクリプトファイルをそのままローカルパスで指定したり、スクリプト内容を直接記述したりすることもできます。
仮想マシンにIISをインストールするスクリプトファイル
今回は、IISをインストールするスクリプトファイルを準備しています。
Add-WindowsFeature-Web-Server.ps1という名前でファイルを作成し、ストレージアカウントにアップロードしています。
| スクリプトファイルのサンプル | ||
|
Add-WindowsFeatureでIISのインストールを行います。 |
|
|
※スクリプトの内容は、チュートリアルに記載の内容を流用しています。
仮想マシンにカスタムスクリプト拡張機能をインストールしてスクリプトを実行
仮想マシンにカスタムスクリプト拡張機能をインストールする必要があります。
カスタムスクリプト拡張機能のインストールと同時にスクリプトが実行されます。
Azure Portalを利用してカスタムスクリプト拡張機能をインストールする際には、ストレージアカウントにアップロードしたスクリプトファイルを指定する必要があります。
なお、拡張機能のインストール時には、仮想マシンが起動している必要があります。
スクリプトの実行結果を確認(IISのインストールを確認)
仮想マシンにブラウザでアクセスして、IISがインストールされていることを確認します。
また、サーバーマネージャーでもIISのインストールを確認しています。
今回は、仮想マシン内からアクセスして確認しています。
外部からアクセスする場合は、IISが使用するHTTP通信(80番ポート)を許可する必要があります。
アクセス元からの通信を許可するために、NSG(ネットワークセキュリティグループ)で80番ポートの受信を許可します。
| IISのインストールを確認 | |
|
http://仮想マシンのIPアドレス、もしくはlocalhostでアクセスします。 |
![]() |
|
Windowsのサーバーマネジャーを確認します。 |
![]() |
—広告—
最後に
今回はIISのインストールを例に、Windows仮想マシンでカスタムスクリプト拡張機能の利用方法について確認しました。
事前にPowerShellファイルを準備しておくだけで、仮想マシン上で共通の設定を簡単に適用できるため、非常に便利な機能だと感じます。
今回はIISのインストールを行いましたが、その他にもさまざまな処理を実行することができます。
引き続き、いろいろと試してみたいと思います。
仮想マシンのイメージ化については、こちらで紹介しています。
カスタムデータを使ってLinuxの仮想マシンでスクリプト実行させる手順については、こちらで紹介しています。












