ども。あいしんくいっと(@ithinkitnet)です。
今回はAWSのEC2でWindowsのAMIを作って、それを雛型として展開するのであればSysprepは必ずかけようね。
といったお話です。
Sysprepは固有情報を一般化してくれます。
簡単に言うと、ホスト名やIPアドレスといった固有の設定を消してくれたりしてくれる、といったところですね。
このSysprepをかけておかないとSIDが重複したりして、ドメイン参加時に問題になったりする場合があるので、展開用の雛型を作成する場合は必須です!
AWSのEC2では通常のSysprepではなく、EC2ConfigServiceと呼ばれる独自のサービスでSysprepが用意されているので、そちらを利用します。
まぁ、処理の中でWindowsの「Sysprep」が呼ばれてたりするみたいですけどね。
EC2Configとは?
インスタンスの初回/毎回起動時に複数の初期起動タスクを実行しています。
初回起動時には以下のタスクが実行されるようです。
- 管理者アカウントに、ランダムに生成した暗号化パスワードを設定
- リモートデスクトップに使用されるホスト証明書を生成しインストール
- オペレーティングシステムパーティションを動的に拡張して、未使用の領域が含まれるようする
毎回のインスタンス起動時には以下のタスクが実行されているみたいですね。
- プライベート IP アドレスと一致するようにコンピュータのホスト名を変更
- key management server (KMS)を構成し、必要に応じて Windows のアクティベーションを行う
- EBSボリュームおよびインスタンスストアボリュームをフォーマットおよびマウントし、ボリューム名をドライブ文字にマップ
- イベントログエントリをコンソールに出力し、トラブルシューティングに役立てる
- 指定されたユーザーデータ(および、インストールされていれば Cloud-Init)を実行します。
とまぁ、実に色々とやっているようです。
詳しくはコチラを参照♪
参考 EC2Config サービスを使用した Windows インスタンスの設定docs.aws.amazon.com
EC2ConfigのSysprep手順
1. 「Windowsボタン」→「EC2」と入力すると補完してくれるので「ec2ConfigService Setting」をクリック。
2. 「Image」タブの「Administrator Password」で「Specify」を選択し、任意のパスワードを入力し 「Shutdown with Sysprep」をクリック。
※画像間違ってますね、「Shutdown With Sysprep」を選択して下さい20150625 画像修正済み
3. 再度、確認のポップアップが表示されるが「OK」をクリック。
4. Sysprep処理が開始されます。
これでSysprepがかかった状態でインスタンスがシャットダウンされます。
そのインスタンスから新しいAMIを作成すれば展開用の雛型作成は完了となります。
SysprepをかけたインスタンスでAMIを作成して展開出来たよ!
Sysprepを実行したインスタンスで作成したAMIで無事に展開が出来ました。
AWSコンソールからシステムログを見るとSysprepの処理が実行され、問題なく起動されました。
Sysprepかけたインスタンスの情報(ホスト名とか)もきちんと初期化されていました。
ithinkit
以下、参考サイト
参考 Sysprep Windows 7technet.microsoft.com 参考 docs.microsoft.comtechnet.microsoft.com
以上、あいしんくいっとでした。