AWS Systems Manager ドキュメント AWSEC2-RunSysprep を試してみた

AWS Systems Manager ドキュメント AWSEC2-RunSysprep を試してみた

2025.08.06

はじめに

テクニカルサポートの 片方 です。
Amazon が提供する、AWSEC2-RunSysprep ドキュメントをご存じですか。私は知りませんでした。
今回は、こちらの ドキュメント を利用して Windows Server 2022 の EC2 インスタンスへ Sysprep を実行したいと思います。

なお、一般的には Image Builder の RunSysPrep ステップにおいて、内部的にこちらの AWSEC2-RunSysprep ドキュメントを実行しているようです。

https://docs.aws.amazon.com/ja_jp/imagebuilder/latest/userguide/wfdoc-step-actions.html#wfdoc-step-action-run-sysprep

このステップアクションでは、ビルドインスタンスがスナップショット用にシャットダウンされる前に、Systems Manager API の sendCommand を使用して Windows インスタンス用の AWSEC2-RunSysprep ドキュメントを実行します。

やってみた

マネージドノードとして登録済みの Windows Server 2022 に対して実行しました。設定方法については省略させていただきます。

SSM マネジメントコンソール画面から左ペイン ドキュメントを選択します。
検索窓に 「sysprep」 と記載して "AWSEC2-RunSysprep" が表示されたら選択します。

001

「コマンドを実行する」 を選択します。

002

コマンドパラメーターはそのままに、お好みの方法で対象ノードを選択します。

あとは、実行すれば完了です。

003

非常に簡単ですね。
暫くすると、成功しました。

004

Output は以下の通りです。

005

07/30/2025 09:27:52 UTC | Info | Start of Start-AwsUwiSysprep

07/30/2025 09:27:53 UTC | Info | Starting EC2LaunchV2 method of sysprep.

07/30/2025 09:29:24 UTC | Info | Standard Output:

07/30/2025 09:29:24 UTC | Info | agent ran successfully

07/30/2025 09:29:24 UTC | Info | Sysprep sub-command: shutdown: false clean: false

07/30/2025 09:29:24 UTC | Info | 2025-07-30 09:27:58 Info: Preparing items to run Sysprep.

07/30/2025 09:29:24 UTC | Info | 2025-07-30 09:27:58 Console: Message: Successfully disabled hibernation

07/30/2025 09:29:24 UTC | Info | 2025-07-30 09:27:58 Info: Run sysprep

07/30/2025 09:29:24 UTC | Info | 2025-07-30 09:27:58 Info: Sysprep command: C:\Windows\System32\Sysprep\Sysprep.exe /oobe /quit /generalize /unattend:C:\ProgramData\Amazon\EC2Launch\sysprep\unattend.xml

07/30/2025 09:29:24 UTC | Info | Standard Error:

07/30/2025 09:29:24 UTC | Info | Sysprep process completed

07/30/2025 09:29:24 UTC | Info | Successfully executed EC2LaunchV2 method of sysprep.

Output 記載通り、AWSEC2-RunSysprep ドキュメントでは、以下の設定で行われていることを確認できます。

  • /generalize → SID のリセット、固有情報の削除
  • /oobe → 次回起動時に初期セットアップ(または unattended 処理)
  • /unattend:<path> → カスタム設定(ホスト名、ドメイン参加など)を適用
  • /quit → Sysprep GUI を表示せずに終了

https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/sysprep-command-line-options?view=windows-11

オプションを付与してやってみた

Id : sysprep-20240701
SysprepTimeout : 600000

006

Output は以下の通りです。

07/30/2025 10:01:58 UTC | Info | Start of Start-AwsUwiSysprep

07/30/2025 10:01:58 UTC | Info | Starting EC2LaunchV2 method of sysprep.

07/30/2025 10:02:02 UTC | Info | Timeout is '600000' milliseconds

07/30/2025 10:03:45 UTC | Info | Standard Output:

07/30/2025 10:03:45 UTC | Info | agent ran successfully

07/30/2025 10:03:45 UTC | Info | Sysprep sub-command: shutdown: false clean: false

07/30/2025 10:03:45 UTC | Info | 2025-07-30 10:02:03 Info: Preparing items to run Sysprep.

07/30/2025 10:03:45 UTC | Info | 2025-07-30 10:02:03 Console: Message: Successfully disabled hibernation

07/30/2025 10:03:45 UTC | Info | 2025-07-30 10:02:03 Info: Run sysprep

07/30/2025 10:03:45 UTC | Info | 2025-07-30 10:02:03 Info: Sysprep command: C:\Windows\System32\Sysprep\Sysprep.exe /oobe /quit /generalize /unattend:C:\ProgramData\Amazon\EC2Launch\sysprep\unattend.xml

07/30/2025 10:03:45 UTC | Info | Standard Error:

07/30/2025 10:03:45 UTC | Info | Sysprep process completed

07/30/2025 10:03:45 UTC | Info | Successfully executed EC2LaunchV2 method of sysprep.

Id: sysprep-20240701 を指定したことで、ログファイルや作業ディレクトリがどの様になっているか確認しました。
なお、ドキュメントを実行した EC2 インスタンスの ルート EBS ボリュームを別 EC2 インスタンスに D: ドライブとしてアタッチして確認しました。

007

画像の通り、ログの保存場所が Id に基づいていることが分かります。

(C:)\ProgramData\Amazon\AWSUpdateWindowsInstance\sysprep-20240701\Start-AwsUwiSysprep\

まとめ

本ブログが誰かの参考になれば幸いです。

参考資料

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。

この記事をシェアする

facebookのロゴhatenaのロゴtwitterのロゴ

© Classmethod, Inc. All rights reserved.