サイトアイコン puti se blog

AWS Windowsをsysprepしつつ「Windowパスワードの取得」出来るAMIにしたい

AWS上のEC2 Windowsインスタンスでは単純にAMI化して
そのAMIからインスタンスを作成するとsysprepはされないし、パスワードはAWS管理コンソール上の「Windowsパスワードの取得」から取得できなくなります。
※ AMI作成元のWindowsと同じパスワードになります。

バックアップのリストア用途なら良いですが、複製やAMI配布を考えた場合困ります。
AWS管理コンソールからキーペアを使用し「Windowパスワードの取得」が出来るようにAMI化するのはどうしたらよいでしょうか。

キーペアを使用し「Windowパスワードの取得」が出来るようにAMI化する方法

AMI化する前に以下の手順を踏みます。
以下、Windows Server 2012 R2で説明します。

1、「EC2ConfigService Settings」

すべてのプログラムから「EC2ConfigService Settings」を実行します。

2、aministrator password random

「image」タブを開き、Administrator Passwordで「Random」を選択し
「Shutdown with Sysprep」ボタンを押します。
すると、勝手にWindowsがシャットダウンします。

3、AMIを取得する

Windows EC2がStopしたら該当インスタンスを右クリックし「イメージ」-「イメージの作成」をしAMIを作成します。

これでこのAMIから作成されたWindowsインスタンスは初回起動時にSysprepされadministratorパスワードもランダムに初期化されます。

AMIを作成元のインスタンスもパスワードが初期化されSysprepされる

注意しなければならない点は、AMIを作成元のインスタンスも

Sysprepされると、Windowsが初期化され、コンピュータ名も変更されます。

上記は、クライアントからEC2インスタンスにリモートデスクトップ接続しに行った時に表示されるWindowsのコンピュータ名です。
気づきにくいですが、AMIを取得前とは変更されています(Windows初期化されている)

「Windowパスワードの取得」出来る仕組みは?正体は?

ここからは参考情報です。
sysprepは、sysprepを実行しシャットダウンするのですが
Administrator PasswordをRandomパスワードにしているのは上記config.xmlの設定です。

C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml

このconfig.xmlの「Ec2SetPassword」フィールドをEnableに変更するとAdministratorのパスワードが初期化されAWS管理コンソールから「Windowパスワードの取得」が出来るようになります。

この設定は次回再起動から有効になります。

モバイルバージョンを終了