EC2 Windows インスタンスの起動時に EC2Launch v1 エージェントを使用してタスクを実行する
Windows Server 2016 および 2019 用の Amazon マネージド AMI には、EC2Launch と呼ばれる一連の Windows Powershell スクリプトが含まれています。EC2Launch は最初のインスタンスの起動中にタスクを実行します。AWS Windows AMI に含まれる EC2Launch のバージョンについては、「AWS Windows AMI リファレンス」を参照してください。
注記
AWS Windows Server 2016 以降の OS バージョンの最新起動エージェントは EC2Launch v2 であり、EC2Config および EC2Launch の両方を置き換えるもので、EC2LaunchV2-Windows_Server-*
で始まる名前で Windows Server 2016 および 2019 AMI にプレインストールされています。移行ツールで「EC2Launch v2 への移行」を行うこともできますし、Windows Server 2016 および 2019 にエージェントを手動でインストールして設定することもできます。
IMDSv2 で EC2Launch を使用するには、バージョンは 1.3.2002730 以降でなければなりません。
インストールされている EC2Launch のバージョンを確認するには、次の Windows PowerShell コマンドを使用します。
Test-ModuleManifest -Path "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1" | Select Version
EC2Launch タスク
EC2Launch は最初のインスタンスの起動中に、デフォルトで以下のタスクを実行します。
-
インスタンスに関する情報をレンダリングする新しい壁紙を設定します。
-
コンピュータ名をインスタンスのプライベート IPv4 アドレスに設定します。
-
Amazon EC2 コンソールにインスタンス情報を送信します。
-
EC2 コンソールに RDP 証明書のサムプリントを送信します。
-
管理者アカウントに、ランダムなパスワードを設定します。
-
DNS サフィックスを追加します。
-
オペレーティングシステムパーティションを動的に拡張して、未使用の領域が含まれるようにします。
-
ユーザーデータを実行します (指定された場合)。ユーザーデータを指定する方法については、ユーザーデータ入力を使用して EC2 インスタンスを起動するときにコマンドを実行するを参照してください。
-
メタデータサービスと AWS KMS サーバーに到達するために永続的な静的ルートを設定します。
重要
このインスタンスからカスタム AMI を作成している場合、これらのルートは OS 設定の一部としてキャプチャされます。また、AMI から起動された新しいインスタンスは、サブネットの位置に関係なく、同じルートを保持します。ルートを更新するには、カスタム AMI の起動時に Server 2016 以降のメタデータ/KMS ルートを更新するを参照してください。
以下のタスクは、EC2Config サービスとの下位互換性を維持するために役立ちます。また、起動中にこれらのタスクを実行するように EC2Launch を設定することもできます。
-
セカンダリ EBS ボリュームを初期化します。
-
EC2 コンソールのログに Windows イベントログを送信します。
-
Windows の使用準備ができている旨のメッセージを EC2 コンソールに送信します。
EC2Launch のディレクトリ構造
EC2Launch はデフォルトでは、Windows Server 2016 以降の AMI のルートディレクトリ C:\ProgramData\Amazon\EC2-Windows\Launch
にインストールされます。
注記
Windows では、デフォルトで C:\ProgramData
以下のファイルとフォルダは非表示になります。EC2Launch のディレクトリとファイルを表示するには、Windows エクスプローラーにパスを入力するか、フォルダのプロパティを変更して、非表示のファイルとフォルダを表示する必要があります。
Launch
ディレクトリには以下のサブディレクトリがあります。
-
Scripts
— EC2Launch を構成する PowerShell スクリプトが格納されます。 -
Module
— Amazon EC2 関連するスクリプトを構築するためのモジュールが格納されます。 -
Config
— カスタマイズ可能なスクリプト設定ファイルが格納されます。 -
Sysprep
— Sysprep リソースが格納されます。 -
Settings
— Sysprep グラフィカルユーザーインターフェイスのアプリケーションが格納されます。 -
Library
- EC2 起動エージェントの共有ライブラリが含まれています。 -
Logs
— スクリプトによって生成されたログファイルが格納されます。
Telemetry
テレメトリは、AWSを使用して、要件の理解を深め、問題を診断し、AWSのサービスのユーザーエクスペリエンスを向上するのに役立つ追加情報です。
EC2Launch v2 バージョン 1.3.2003498
およびそれ以降のバージョンは、使用状況メトリクスやエラーなどのテレメトリを収集します。このデータは、EC2Launch が実行される Amazon EC2 インスタンスから収集されます。これには、AWSによって所有されるすべての Windows AMI が含まれます。
EC2Launch では、以下のテレメトリを収集しています。
-
使用状況の情報— エージェントのコマンド、インストール方法、スケジュールされた実行頻度。
-
エラーと診断情報— エージェントのインストールと実行エラーコード。
収集されるデータの例:
2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsAgentScheduledPerBoot=true
2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsUserDataScheduledPerBoot=true
2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandCode=1
2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandErrorCode=5
2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallCode=2
2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallErrorCode=0
テレメトリーはデフォルトでは有効になっています。テレメトリ収集はいつでも無効にできます。テレメトリが有効な場合、EC2Launch は、追加の顧客通知なしでテレメトリデータを送信します。
テレメトリを有効または無効にするかの選択が収集されます。
テレメトリの収集は、オプトインまたはオプトアウトできます。テレメトリのオプトインまたはオプトアウトの選択は、ユーザーのテレメトリオプションを確実に遵守するために収集されます。
テレメトリー可視性
テレメトリが有効な場合、Amazon EC2 コンソールの出力に次のように表示されます。
2021/07/15 21:44:12Z: Telemetry: <Data>
インスタンスでのテレメトリの無効化
システム環境変数を設定してテレメトリを無効にするには、管理者として次のコマンドを実行します。
setx /M EC2LAUNCH_TELEMETRY 0
インストール中にテレメトリを無効にするには、次のように install.ps1
を実行します。
. .\install.ps1 -EnableTelemetry:$false