EC2 Windows インスタンスの起動時に EC2Launch v1 エージェントを使用してタスクを実行する - Amazon Elastic Compute Cloud

EC2 Windows インスタンスの起動時に EC2Launch v1 エージェントを使用してタスクを実行する

EC2Launch は、Windows Server 2016 および 2019の AMI で EC2Config サービスを置き換えた Windows PowerShell スクリプトのセットです。これらの AMI の多くはまだ利用可能です。すべてのサポートされている Windows バージョンの最新の起動サービスは EC2Launch v2 です。これは、EC2Config と EC2Launch の両方を置き換えます。詳細については、「EC2 Windows インスタンスの起動時に EC2Launch v2 エージェントを使用してタスクを実行する」を参照してください。

注記

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 コンソールに送信します。

Windows Server 2019 の詳細については、Microsoft.com にある「Compare Features in Windows Server Versions (Windows Server 各バージョンの機能の比較)」を参照してください。

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 バージョン 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