ユーザーデータスクリプトを実行して EC2 Windows インスタンスを設定する場合の問題をトラブルシューティングする方法を教えてください。

所要時間1分
0

Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスでユーザーデータを変更したり、ユーザーデータスクリプトを実行したりすることができません。また、ユーザーデータログを確認したいのですが、どこにあるのかがわかりません。

解決策

ユーザーデータを変更または設定したが、インスタンスの起動時に実行されない。または、ユーザーデータを設定することができない

ユーザーデータを扱うときは、次の基準に従ってください。

  • ユーザーデータは Base64 エンコードする必要があります。
  • Base64 エンコードする前、ユーザーデータは、Raw 形式の 16 KB に制限されています。
  • ユーザーデータを取得するときは、Base64 デコードする必要があります。インスタンスメタデータまたは Amazon EC2 コンソールを使用して取得したデータは、自動的にデコードされます。
  • インスタンスを停止してからユーザーデータを変更すると、インスタンスを起動しても、更新されたユーザーデータが実行されません。
  • ユーザーデータスクリプトには、特別な構文が必要です。スクリプト構文の詳細と例については、「ユーザーデータスクリプト」を参照してください。
  • ローカルのテスト環境でスクリプトを実行して、構文を検証します。
  • EC2 インスタンスは 169.254.169.254 のメタデータサービスに接続する必要があります。
  • Sysprep を使用しないカスタム Windows イメージを使用すると、永続ルートが親インスタンスのデフォルトゲートウェイを指す場合があります。詳細については、「Amazon EC2 Windows インスタンスが「メタデータサービスの待機中」(Waiting for the metadata service) エラーを生成するのはなぜですか?」を参照してください。

デフォルトでは、EC2 インスタンスを再起動または起動してもユーザーデータは実行されない

EC2 インスタンスを最初に起動するとき、ユーザーデータはデフォルトで 1 回だけ実行されます。インスタンスを再起動または起動するたびにユーザーデータを実行するようにインスタンスを設定できます。

詳細については、「インスタンスを再起動または起動するときに、既存の EC2 Windows インスタンスでコマンドを実行する方法を教えてください。」を参照してください。

ユーザーデータログが見つからない

EC2Launch、EC2Launch v2、および EC2Config のログファイルには、標準出力と標準エラーストリーム出力が含まれています。ログファイルは、次の場所にあります。

  • EC2Launch v2: C:\ProgramData\Amazon\EC2Launch\log\agent.log
  • EC2Launch: C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
  • EC2Config: C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt

注: デフォルトでは、C:\ProgramData は隠しフォルダです。

関連情報

起動時に新しい EC2 Windows インスタンスでコマンドを実行する方法を教えてください。

Sysprep (システム準備) の概要 (マイクロソフト Web サイト)

AWS公式
AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ