EC2Launch v2 の概要 - Amazon Elastic Compute Cloud

EC2Launch v2 の概要

EC2Launch v2 は、インスタンスの起動時、またはインスタンスが停止後に起動された場合、または再起動された場合にタスクを実行するサービスです。

Amazon EC2 起動サービスの比較

次の表に、EC2Config、EC2Launch v1、EC2Launch v2 の機能の主な相違点を示します。

機能 EC2Config EC2Launch v1 EC2Launch v2
として実行 Windows サービス

PowerShell スクリプト

Windows サービス
サポート対象

Windows 2003

Windows 2008

Windows 2008 R2

Windows 2012

Windows 2012 R2

Windows 2016

Windows 2019 (LTSCとSAC)

Windows 2008

Windows 2008 R2

Windows 2012

Windows 2012 R2

Windows 2016

Windows 2019 (LTSCとSAC)

Windows 2022

設定ファイル

XML XML

YAML

管理者のユーザー名を設定

いいえ いいえ

はい

ユーザーデータサイズ

16 KB 16 KB

60 KB (圧縮)

AMI で作成されたローカルユーザーデータ

いいえ いいえ はい、設定可能です
ユーザーデータでのタスク設定 いいえ いいえ はい

設定可能な壁紙

いいえ いいえ

はい

タスクの実行順序のカスタマイズ

いいえ いいえ

はい

設定可能なタスク

15

9

20 (起動時)

Windows イベントビューワーのサポート

はい

いいえ

はい

イベントビューワーのイベントタイプの数

2

0

30

EC2Launch v2 の概念

次に示す各概念は、EC2Launch v2 の使用を考慮する際の理解に役立ちます。

タスク

タスクを呼び出して、インスタンスに対してアクションを実行できます。EC2Launch v2 で使用可能なタスクの完全なリストについては、「EC2Launch v2 のタスク」を参照してください。各タスクには、タスクを実行できるステージ、定義された頻度、入力が含まれます。タスクは、agent-config ファイルまたは user-data で設定できます。

ステージ

ステージとは、サービスによって実行されるタスクの論理的なグループです。一部のタスクは、特定のステージでのみ実行できます。その他は複数のステージで実行できます。ローカルデータを使用する場合は、タスクを実行するステージを指定する必要があります。ユーザーデータを使用する場合、ステージは暗黙で指定されます。

次のリストは、各ステージを実行順に示しています。

  1. Boot

  2. Network

  3. PreReady

  4. PostReady

  5. UserData

[Frequency] (頻度)

タスク頻度は、ブートコンテキストに応じて、いつタスクを実行するかをスケジュールするために使用します。

次の頻度を指定できます。

  • 1 回 — タスクは、AMI の初回起動時 (Sysprep の終了時) に 1 回実行されます。

  • 常時 — タスクは起動エージェントが実行されるたびに実行されます。起動エージェントは、以下の場合に実行されます。

    • インスタンスの起動または再起動

    • EC2Launch サービスの実行

    • EC2Launch.exe run の呼び出し

agent-config

agent-config ファイルは、EC2Launch v2 の設定フォルダに置かれています。これには、Boot、Network、PreReady、PostReady の各ステージの設定が含まれます。このファイルを使用して、AMI の初回起動時または後続の起動時に実行するタスクのインスタンスの設定を指定します。

デフォルトでは、EC2Launch v2 のインストール時にインストールされる agent-config ファイルに、標準の Amazon Windows AMI で使用される推奨設定が含まれています。設定ファイルを修正すると、EC2Launch v2 が指定する AMI での、デフォルトのブート処理を変更できます。

ユーザーデータ

ユーザーデータは、インスタンスの起動時に設定できるデータです。ユーザーデータを更新して、カスタム AMI やクイックスタート AMI の設定を動的に変更できます。EC2Launch v2 は、60 KB のユーザーデータの入力長をサポートします。ユーザーデータに含まれるのは UserData ステージのみであるため、ユーザーデータは agent-config ファイルの後に実行されます。インスタンスの起動ウィザードを使用してインスタンスを起動するときにユーザーデータを入力することも、EC2 コンソールからユーザーデータを変更することもできます。ユーザーデータの操作方法の詳細については、「Windows インスタンスでの起動時のコマンドの実行」を参照してください。

EC2Launch v2 のタスク

EC2Launch v2 では、ブートが行われるたびに、次のタスクを実行できます。

  • インスタンスに関する情報をレンダリングする新しい壁紙を設定し、必要に応じてカスタマイズします。

  • ローカルマシンに作成される管理者アカウントの属性を設定します。

  • 検索サフィックスのリストに DNS サフィックスを追加します。まだ存在しないサフィックスのみがリストに追加されます。

  • 追加ボリュームのドライブ文字を設定し、これらを拡張して使用可能な領域を使用します。

  • インターネットまたは設定からファイルをディスクに書き込みます。設定からのコンテンツは、base64 でデコードまたはエンコードできます。インターネットからのコンテンツは解凍できます。

  • インターネットまたは設定からスクリプトを実行します。設定からのスクリプトは、base64 でデコードできます。インターネットからのスクリプトは解凍できます。

  • 指定された引数でプログラムを実行します。

  • コンピュータ名を設定します。

  • インスタンス情報を Amazon EC2 コンソールに送信します。

  • RDP 証明書のサムプリントを EC2 コンソールに送信します。

  • オペレーティングシステムパーティションを動的に拡張して、未使用の領域が含まれるようにします。

  • ユーザーデータを実行します。ユーザーデータを指定する方法については、「EC2Launch v2 タスクの設定」を参照してください。

  • メタデータサービスと AWS KMS サーバーに到達するように、非永続的な静的ルートを設定します。

  • 非ブートパーティションを MBR または GPT に設定します。

  • Sysprep 後に Systems Manager (SSM) サービスを開始します。

  • ENA 設定を最適化します。

  • 新しい Windows バージョンで OpenSSH を有効にします。

  • ジャンボフレームを有効にします。

  • EC2Launch v2 で実行するように Sysprep を設定します。

  • Windows イベントログを発行します。

テレメトリ

テレメトリは、AWSを使用して、要件の理解を深め、問題を診断し、AWSのサービスのユーザーエクスペリエンスを向上するのに役立つ追加情報です。

EC2Launch v2 バージョン2.0.592 およびそれ以降のバージョンは、使用状況指標やエラーなどのテレメトリを収集します。このデータは、EC2Launch v2 が実行される Amazon EC2 インスタンスから収集されます。これには、AWSによって所有されるすべての Windows AMI が含まれます。

EC2Launch v2 では、以下のテレメトリを収集しています。

  • 使用状況の情報— エージェントのコマンド、インストール方法、スケジュールされた実行頻度。

  • エラーと診断情報— エージェントのインストールと実行エラーコード。

収集されるデータの例:

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 v2 は、追加の顧客通知なしでテレメトリデータを送信します。

テレメトリー可視性

テレメトリが有効な場合、Amazon EC2 コンソールの出力に次のように表示されます。

2021/07/15 21:44:12Z: Telemetry: <Data>

インスタンスでのテレメトリの無効化

1 つのインスタンスのテレメトリを無効にするには、システム環境変数を設定するか、MSI を使用してインストールを変更します。

システム環境変数を設定してテレメトリを無効にするには、管理者として次のコマンドを実行します。

setx /M EC2LAUNCH_TELEMETRY 0

MSI を使用してテレメトリを無効にするには、MSIをダウンロードした後で、以下のコマンドを実行します:

msiexec /i ".\AmazonEC2Launch.msi" Remove="Telemetry" /q