~~NOCACHE~~ ## EC2Launch WindowsOSのインスタンスに入っているEC2Launchの設定です。少しはまったのでメモ ### オレオレ推奨設定 #### 設定ポイント ポイントは以下の2点 ・Administrator Password:パスワードは変更されたくないので「Do Nothing」 ・InitializeInstance.ps1は起動ごとに実行されるようにする。 ※バックアップからリストアした際にInstanceIDが変わってしまうが、メタデータが更新されないようで新しいInstanceIDでssmが動いていなかった。  直RDPでなく、セッションマネージャ運用の為に気付きました。セッションマネージャ運用のみのシステムは気を付けよう。 #### 設定詳細 下記設定に加え、Powershellから以下のコマンドを実行する。(EC2Launchがインスタンス起動ごとに実行されるようスケジュールする) C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -SchedulePerBoot https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/ec2launch.html#ec2launch-config ^ 設定項目 ^ 説明 ^ 規定値 ^ 推奨値 ^ 備考 ^ | Set Computer Name | Set the computer name of the instance ip-. \\ Disable this feature to persist your own computer name setting. | 無効 | 無効 | インスタンスのコンピュータ名を設定しますip- 。\\ この機能を無効にすると、独自のコンピューター名設定が保持されます。 | | Set Wallpaper | Overlay instance information on the current wallpaper. | 有効 | 有効 | 現在の壁紙にインスタンス情報をオーバーレイします。 | | Extend Boot Volume | Extend OS partition to consume free space for boot volume. | 有効 | 有効 | OSパーティションを拡張して、ブートボリューム用の空き領域を消費します。 | | Add DNS Suffix List | Add DNS suffix list to allow DNS resolution of servers running in EC2 \\ without providing the fully qualified domain name. | 有効 | 有効 | DNSサフィックスリストを追加して、完全修飾ドメイン名を\\ 指定せずにEC2で実行されているサーバーのDNS解決を許可します。 | | Handle User Data | Execute user data provided at instance launch.\\ Note: This will be re-enabled when running shutdown with sysprep below. | 無効 | 無効 | インスタンスの起動時にユーザーデータを実行します。 | | Administrator Password | Random (Retrieve from console) | 有効 | 無効 | EC2Launch は、ユーザーのキーを使用してパスワードを生成し、暗号化します。\\ ※InitializeInstance.ps1が実行されると変更される。 | | ::: | Specify (Temporarily store in config file) | 無効 | 無効 | EC2Launch は、adminPassword で指定したパスワードを使用します。\\ パスワードベタ打ちの為、セキュリティ上良くない。 | | ::: | Do Nothing (Customize Unattend.xml for sysprep) | 無効 | 有効 | EC2Launch は、unattend.xml ファイルで指定したパスワードを使用します。\\ ※InitializeInstance.ps1が実行されても変更されない。 | | Sysprep | Sysprep is a Microsoft tool that prepares an image for multiple launches. | C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 || Sysprepは、複数の起動用にイメージを準備するMicrosoftツールです。 | | ::: | Run EC2Launch on every boot (instead of just the next boot). | 無効 | 無効 | 次回起動でEC2Launchを実行します。\\ InitializeInstance.ps1が実行されるがSysprepは実行されない。 | #### InitializeInstance.ps1は何をしているの? ソースに書いてある文言をそのままGoogle翻訳してみた。なるほどわからんが多分こんな感じ。 ^ 項目 ^ 説明 ^ 多分こんな感じ ^ | 0. Wait for sysprep: to ensure that sysprep process is finished. | 0. sysprepを待ちます:sysprepプロセスが終了したことを確認します。 | sysprepが実行される場合は待ちます | | 1. Add routes: to connect to instance metadata service and KMS service. | 1.ルートを追加します:インスタンスメタデータサービスとKMSサービスに接続します。 | 環境変数の登録 | | 2. Wait for metadata: to ensure that metadata is available to retrieve. | 2.メタデータを待つ:メタデータを取得できることを確認します。 | メタデータにアクセス | | 3. Rename computer: to rename computer based on instance ip address. | 3.コンピューターの名前を変更します。インスタンスのIPアドレスに基づいてコンピューターの名前を変更します。 | ホスト名の変更 | | 4. Display instance info: to inform user about your instance/AMI. | 4.インスタンス情報の表示:インスタンス/ AMIについてユーザーに通知します。 | インスタンス情報をコンソールに表示する | | 5. Extend boot volume: to extend boot volume with unallocated spaces. | 5.ブートボリュームの拡張:未割り当てのスペースでブートボリュームを拡張します。 | ディスクの未使用領域の拡張 | | 6. Set password: to set password, so you can get password from console | 6.パスワードの設定:コンソールからパスワードを取得できるようにパスワードを設定します | Administratorのパスワード再設定 | | 7. Windows is Ready: to display "Message: Windows is Ready to use" to console. | 7. Windowsは準備ができています:コンソールに「メッセージ:Windowsは使用する準備ができています」を表示します。 | 左記の記載の通り | | 8. Execute userdata: to execute userdata retrieved from metadata | 8.ユーザーデータの実行:メタデータから取得したユーザーデータを実行します | ユーザーデータの実行 | | 9. Register disabled scheduledTask: to keep the script as scheduledTask for future use. | 9.無効なscheduledTaskを登録します:将来の使用のためにスクリプトをscheduledTaskとして保持します。 | タスクスケジューラにAmazon Ec2 Launchを登録する。 | {{tag>AWS Windows Ec2Launch 実践的}}