Automation Assembler で、vSphere に展開された Windows マシンを初期化するには、イメージが Cloudbase-Init をインストールして設定を行った vSphere テンプレートに基づいている必要があります。

イメージの作成

  1. vSphere を使用して Windows 仮想マシンを作成し、パワーオンします。
  2. この仮想マシンで、Windows にログインします。
  3. Cloudbase-Init をダウンロードします。

    https://cloudbase.it/cloudbase-init/#download

  4. Cloudbase-Init セットアップ用の .msi ファイルを起動します。

    インストールの際、ユーザー名として [Administrator] を入力し、実行オプションとして LocalSystem を選択します。

    Cloudbase-Init インストール ウィザードのアカウント画面

    他の設定項目はデフォルト値のままにすることができます。

  5. インストールの実行を許可します。ただし、セットアップ ウィザードの最後の完了画面は閉じないでください。
    重要: セットアップ ウィザードの最後の画面は閉じないでください。
  6. セットアップ ウィザードの完了画面が開いた状態で、Windows を使用して Cloudbase-Init のインストール パスに移動し、次のファイルをテキスト エディタで開きます。

    conf\cloudbase-init-unattend.conf

  7. 図に示すように、metadata_servicesOvfService に設定します。 設定がない場合は追加します。

    metadata_services=cloudbaseinit.metadata.services.ovfservice.OvfService

  8. cloudbase-init-unattend.conf を保存して閉じます。
  9. 同じフォルダにある次のファイルをテキスト エディタで開きます。

    conf\cloudbase-init.conf

  10. 図に示すように、first_logon_behaviourmetadata_services、および plugins を設定します。 設定がない場合は追加します。
    first_logon_behaviour=always
    . . .
    metadata_services=cloudbaseinit.metadata.services.ovfservice.OvfService
    . . . 
    plugins=cloudbaseinit.plugins.windows.createuser.CreateUserPlugin,cloudbaseinit.plugins.windows.setuserpassword.SetUserPasswordPlugin,cloudbaseinit.plugins.common.sshpublickeys.SetUserSSHPublicKeysPlugin,cloudbaseinit.plugins.common.userdata.UserDataPlugin
    . . .
  11. cloudbase-init.conf を保存して閉じます。
  12. セットアップ ウィザードの完了画面で、Sysprep を実行するオプションと、Sysprep の実行後にシャットダウンするオプションを選択し、[終了] をクリックします。
    注: Sysprep を実行するとイメージの展開が機能しなくなるという問題が発生しています。

    展開時に、Automation Assembler は動的に生成されるカスタマイズ仕様を適用します。これにより、ネットワーク インターフェイスが切断されます。イメージ内の Sysprep の保留状態が原因で、カスタマイズ仕様の適用が失敗し、展開が切断されたままになることがあります。

    環境内でこの問題が発生している可能性がある場合は、イメージの作成時に Sysprep オプションを無効のままにしておきます。
    Cloudbase-Init インストール ウィザードの最後の画面
  13. 仮想マシンをシャットダウンした後で、vSphere を使用してテンプレートに変換します。

設定についての説明

次の表は、セットアップ中に行った設定内容を説明したものです。

設定 目的
ユーザー名、CreateUserPlugin、および SetUserPasswordPlugin Sysprep 実行後、初めて Cloudbase-Init を起動すると、CreateUserPlugin によって、ユーザー名の管理者アカウントが、パスワードが空の状態で作成されます。空のパスワードは、SetUserPasswordPlugin によって、クラウド テンプレートに含めるリモート アクセス パスワードに変更することができます。
最初のログイン動作 この設定により、初回ログイン時にパスワードの変更を求めるプロンプトがユーザーに表示されます。
メタデータ サービス Cloudbase-Init は、OvfService のみを一覧表示し、vCenter Server でサポートされていないその他のメタデータ サービスの検出を行いません。その結果、よりクリーンなログ ファイルが生成されます。これは他のサービスの検出を行うと、検出に失敗したというエントリがログに記録されるためです。
プラグイン Cloudbase-Init は、OvfService でサポートされている機能を備えたプラグインのみを一覧表示するため、ログはクリーンな状態になります。Cloudbase-Init は、指定された順序でプラグインを実行します。
LocalSystem として実行 一部の高度な初期化コマンドでは、Cloudbase-Init を専用の管理者アカウントで実行することが必要になります。この設定は、そのようなコマンドをサポートします。