Systems Manager Run Command の失敗をトラブルシューティングするにはどうしたらいいですか?

所要時間2分
0

AWS Systems Manager Run Command を使用して、マネージド Amazon Elastic Compute Cloud (Amazon EC2) インスタンスでコマンドを実行すると、プロセスが失敗します。

解決策

前提条件

Run Command を使用して EC2 インスタンスを管理する前に、AWS Identity and Access Management (IAM) ユーザーポリシーを設定する必要があります。ユーザーポリシーは、コマンドを実行するすべてのユーザーに必要です。設定を確認するには、次の手順に従ってください。

  1. Systems Manager の IAM インスタンスプロファイルロールが EC2 インスタンスにアタッチされていることを確認します。詳細については、「Systems Manager にインスタンスのアクセス許可を設定する」を参照してください。
  2. ロールまたはユーザーに対して作成された IAM ポリシーを確認します。エンドポイントはコマンドを送受信する必要があるため、ポリシーには ec2messages API 呼び出しの権限を含める必要があります。

注:デフォルトのホスト管理設定を設定すると、Systems Manager は IAM インスタンスプロファイルなしで EC2 インスタンスを自動的に管理します。関連するすべての EC2 インスタンスは、Instance Metadata Service Version 2 (IMDSv2) を使用する必要があります。デフォルトのホスト管理設定は、AWS Systems Manager Agent (SSM Agent) バージョン 3.2.582.0 以降で使用できます。コマンドを送受信するにはエンドポイントが必要なので、IAM ロールにアタッチされたポリシーで ec2messages API 呼び出しの権限を設定します。AWSSystemsManagerDefaultEC2InstanceManagementRole をデフォルトの IAM ロールとして設定します。このロールには、Systems Manager で EC2 インスタンスを管理するために必要な最小限の権限セットが含まれています。

Run Command エラーのトラブルシューティング

Systems Manager の [Fleet Manager] で EC2 インスタンスが [マネージドノード] の下に表示され、[SSM エージェントの ping ステータス] が [オンライン] になっている必要があります。Run Command が失敗した場合は、次のトラブルシューティングオプションを試してください。

Run Command のステータスの詳細を確認する

  1. Run Command のステータスの詳細を確認してください。
  2. Systems Manager コンソールを開き、ナビゲーションペインから [コマンドを実行] を選択します。
  3. ハイパーリンクされたコマンド ID を選択して、コマンドのステータスページを開きます。
  4. [ターゲットと出力] セクションから、ハイパーリンクされたインスタンス ID を選択し、出力を確認します。

出力が切り捨てられたら、SSH を使用して EC2 インスタンスに接続し、次のディレクトリに移動してエラーの詳細を確認してください。終了ステータスコードを書き留めておいてください。その他のトラブルシューティング手順については、「Systems Manager Run Command のトラブルシューティング」を参照してください。

LinuxmacOS の場合:

  • /var/lib/amazon/ssm/<instance-id>/document/orchestration/<command-id>/<Plugin-name>/<Step-name>/stdout
  • /var/lib/amazon/ssm/<instance-id>/document/orchestration/<command-id>/<Plugin-name>/<Step-name>/stderr

Windows の場合:

  • %ProgramData%\Amazon\SSM\InstanceData\<ManagedInstance-ID>\document\orchestration\<Command-ID>\<plug-in>\<step_number.plug-in>\stdout
  • %ProgramData%\Amazon\SSM\InstanceData\<ManagedInstance-ID>\document\orchestration\<Command-ID>\<plug-in>\<step_number.plug-in>\stderr

SSM エージェントのログを確認する

障害の詳細については、SSM エージェントのログを確認してください。

LinuxmacOS の場合は、次のディレクトリでログを見つけます。

  • /var/log/amazon/ssm/amazon-ssm-agent.log
  • /var/log/amazon/ssm/errors.log
  • /var/log/amazon/ssm/audits/amazon-ssm-agent-audit-YYYY-MM-DD

Windows の場合は、次のディレクトリでログを見つけます。

  • %PROGRAMDATA%\Amazon\SSM\Logs\amazon-ssm-agent.log
  • %PROGRAMDATA%\Amazon\SSM\Logs\errors.log
  • %PROGRAMDATA%\Amazon\SSM\Logs\audits\amazon-ssm-agent-audit-YYYY-MM-DD

SSM エージェントのログにエラーを解決するために必要な情報が含まれていない場合は、デバッグログで問題を再現できるようにしてください。

関連情報

AWS Systems Manager のドキュメント

AWS Systems Manager のセットアップ

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

関連するコンテンツ