Vminitは、ネットワーク設定の実行、ホスト名の設定、カスタムスクリプトの実行などの構成タスクを実行して、Windows Elastic Compute Service (ECS) インスタンスの構成を初期化するコンポーネントです。 作成したカスタムイメージにVminitがインストールされていない場合は、イメージにVminitをインストールして、イメージを使用するECSインスタンスの設定を初期化できるようにします。 このトピックでは、イメージを作成するWindows仮想マシンにVminitをインストールする方法について説明します。
Vminitの詳細については、「初期化ツール」をご参照ください。
制限事項
このトピックで説明する操作は、次のWindowsオペレーティングシステムのバージョンに適しています。Windows 7以降32ビット、Windows 7以降64ビット、Windows Server 2008 R2以降32ビット、およびWindows Server 2008 R2以降64ビット。
Vminitのインストール
Vminitバージョンを更新することができる。 次の例では、インストールプログラムがAliyunVminit_2.0.1.2_x86_64.exeという名前のVminitバージョン2.0.1.2をダウンロードしてインストールします。 Vminitのバージョンについては、「初期化ツール」をご参照ください。
イメージを作成する仮想マシンにVminitインストールパッケージをダウンロードし、インストールパッケージを解凍します。
AliyunVminit.zipをクリックして、Vminitインストールパッケージをダウンロードします。
Vminitをインストールします。
GUIを使用したVminitのインストール
Vminitインストールパッケージをダウンロードしたディレクトリの
AliyunVminit_2.0.1.2_x86_64.exe
を見つけてダブルクリックします。プロンプトに従ってVminitをインストールします。
次の図に示すページで [完了] をクリックして、Vminitのインストールを完了します。
CLIを使用したVminitのインストール
Windows PowerShellで次のコマンドを実行し、Vminitインストールパッケージをダウンロードしたディレクトリに切り替えます。 ディレクトリの例:
C:\test
cd C:\test
次のコマンドを実行してVminitをインストールします。
.\AliyunVminit_2.0.1.2_x86_64.exe /SILENT /FORCE
説明/SILENT
: Vminitをサイレントモードでインストールします。/FORCE
: 強制モードでVminitをインストールし、既存のVminit設定を強制上書きします。
Vminitがインストールされているか確認してください。
Windows PowerShellで次のコマンドを実行して、Vminitのバージョン番号を照会します。
(Get-Item C:\ProgramData\aliyun\vminit\vminit.exe).VersionInfo.ProductVersion
Vminitバージョン番号を含み、Vminitがインストールされていることを示す次のコマンド出力が返されます。
次のコマンドを実行して、Vminitのレジストリ設定を取得します。
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\vminit"
次のコマンド出力は、Vminitがインストールされていることを示します。
上記の操作を実行し、Vminitがインストールされていることを確認した後、仮想マシンに基づいて作成されたイメージをAlibaba Cloudにインポートできます。
(オプション) Vminitの設定
デフォルトでは、インスタンスが作成されると、すべてのVminitプラグインが自動的に実行され、ECSインスタンスが初期化されます。 カスタムイメージからECSインスタンスを作成し、インスタンスの起動時に特定の操作を自動的に実行したくない場合は、イメージの作成時に対応するプラグインを無効にできます。
C:\ProgramData\aliyun\vminit
ディレクトリにファイルを作成します。 ファイルは次の要件を満たす必要があります。ファイル名は
customized_config
である必要があります。ファイル名にサフィックスは追加されません。
ファイルに追加するコンテンツはJSON形式である必要があります。
説明ほとんどの場合、
ProgramData
ディレクトリは非表示になります。 ディレクトリにアクセスするには、オペレーティングシステムで [隠しファイル、フォルダ、およびドライブを表示] オプションを選択してください。これにより、隠しアイテムを表示および管理できます。次のセクションでは、特定のプラグインを無効にする方法について説明します。 次の例では, インスタンスのホスト名を自动的に割り当てる部品と, データディスクを自动的に初期化する部品を无効にしています。
Alibaba Cloudによるインスタンスホスト名の割り当てとデータディスクの初期化の防止
Alibaba Cloudがインスタンスホスト名を割り当て、データディスクを初期化できないようにするには、Plugin_Main_ConfigHostnameプラグインとPlugin_Main_ConfigDiskプラグインを無効にします。 次のデータをJSON形式で
customized_config
ファイルにコピーし、ファイルを保存します。{ "disabledPlugins": ["Plugin_Main_ConfigHostname", "Plugin_Main_ConfigDisk"] }
プラグインを再度有効にするには、customized_config
ファイルからプラグインの対応する設定を削除します。
よくある質問
Windowsインスタンスを作成するときにオペレーティングシステムが再起動するのはなぜですか?
原因: Windowsインスタンスが作成されると、インスタンスにホスト名を指定しなくても、Alibaba Cloudは自動的にインスタンスにホスト名を割り当てます。 Windowsインスタンスのオペレーティングシステムが再起動され、ホスト名が有効になります。
解決策: Alibaba CloudがWindowsインスタンスにホスト名を割り当てず、インスタンスのホスト名を指定する場合は、Plugin_Main_ConfigHostnameプラグインを無効にします。 プラグインを無効にした後、Alibaba CloudはWindowsインスタンスにホスト名を自動的に割り当てません。
関連ドキュメント
Vminitがインストールされると、すべてのVminitプラグインが自動的に有効になります。 インポートしたカスタムイメージからECSインスタンスを作成し、インスタンスの起動中にVminitが特定の操作を実行できないようにする場合は、イメージの作成時に特定のプラグインを無効にできます。 詳細については、「初期化ツール」をご参照ください。
イメージを作成するWindows仮想マシンにVminitをインストールした後、仮想マシンにvirtioドライバーをインストールする必要があります。 これにより、仮想マシンに基づいてイメージが作成され、Alibaba Cloudにインポートされ、ECSインスタンスの作成に使用された後、インスタンスがvirtio仮想化デバイスを適切に認識し、期待どおりに起動できるようになります。
Linux ECSインスタンスはcloud-initを使用して設定を初期化します。 詳細については、「cloud-init のインストール」をご参照ください。