AWS Systems Manager
ユーザーガイド

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

Run Command は、各コマンド実行のステータスの詳細を提供します。コマンドのステータスの詳細については、「コマンドのステータスについて」を参照してください。このトピックの情報を使用して、Run Command の問題のトラブルシューティングを行うこともできます。

インスタンスの場所

[Run a command (コマンドを実行)] ページで、SSM ドキュメントの実行を選択して、[Targets (ターゲット)] セクションで [Manually selecting instances (インスタンスの手動選択)] を選択すると、コマンドを実行するために選択できるインスタンスのリストが表示されます。表示されると予測されるインスタンスが表示されていない場合は、次の要件を確認します。

  • SSM エージェント: 最新バージョンの SSM エージェント がインスタンスにインストールされている。Amazon EC2 Windows Amazon Machine Images (AMI) と一部の Linux AMI のみが SSM エージェント で事前設定されている。インスタンスに SSM エージェント をインストールまたは再インストールする方法の詳細については Amazon EC2 Linux インスタンスで SSM エージェント をインストールし設定する または Windows インスタンスで SSM エージェント をインストールし設定する を参照してください。

  • IAM インスタンスロール: インスタンスに Systems Manager API との通信を可能にする AWS Identity and Access Management (IAM) ロールが設定されていることを確認します。また、ユーザーアカウントに Systems Manager API と通信できる IAM ユーザー信頼ポリシーがあることを確認します。詳細については、「Systems Manager の IAM インスタンスプロファイルの作成」を参照してください。

  • ターゲットオペレーティングシステムタイプ: 更新するインスタンスのタイプをサポートする SSM ドキュメントが選択されていることをもう一度確認します。ほとんどの SSM ドキュメントは、Windows インスタンスと Linux インスタンスの両方をサポートしますが、そうでないものもあります。たとえば、SSM ドキュメント AWS-InstallPowerShellModule を選択した場合、Windows インスタンスにのみ適用され、ターゲットインスタンスのリストに Linux インスタンスは表示されません。

Windows インスタンスのステータス情報の取得

1 つまたは複数のインスタンスに関するステータス詳細を取得するには、次のコマンドを使用します。

Get-SSMInstanceInformation -InstanceInformationFilterList @{Key="InstanceIds";ValueSet="instance-ID","instance-ID"}

現在オンラインステータスが報告されている、アカウントに登録済みのすべてのインスタンスを表示するには、フィルタを指定せずに次のコマンドを実行します。各ステータスを表示するには、ValueSet="Online" の値を "ConnectionLost" または "Inactive" に置き換えてください。

Get-SSMInstanceInformation -InstanceInformationFilterList @{Key="PingStatus";ValueSet="Online"}

どのインスタンスで EC2Config サービスの最新バージョンが実行されているか確認するには、次のコマンドを使用します。該当する詳細を表示するには、ValueSet="LATEST" の値を特定のバージョン (3.0.54、3.10 など) に置き換えてください。

Get-SSMInstanceInformation -InstanceInformationFilterList @{Key="AgentVersion";ValueSet="LATEST"}

Linux インスタンスのステータス情報の取得

1 つまたは複数のインスタンスに関するステータス詳細を取得するには、次のコマンドを使用します。

aws ssm describe-instance-information --instance-information-filter-list key=InstanceIds,valueSet=instance-ID

現在オンラインステータスが報告されている、アカウントに登録済みのすべてのインスタンスを表示するには、フィルタを指定せずに次のコマンドを実行します。各ステータスを表示するには、ValueSet="Online" の値を "ConnectionLost" または "Inactive" に置き換えてください。

aws ssm describe-instance-information --instance-information-filter-list key=PingStatus,valueSet=Online

最新バージョンの SSM エージェント が実行されているインスタンスを確認するには、次のコマンドを使用します。該当する詳細を表示するには、ValueSet="LATEST" の値を特定のバージョン (1.0.145、1.0 など) に置き換えてください。

aws ssm describe-instance-information --instance-information-filter-list key=AgentVersion,valueSet=LATEST

describe-instance-information API オペレーションが AgentStatus に Online を返した場合は、そのインスタンスは Run Command を使用した管理の準備ができています。ステータスが Inactive の場合は、インスタンスに以下のいずれかの問題があります。

  • SSM エージェント がインストールされていない。

  • インスタンスにアウトバウンドのインターネット接続がない。

  • インスタンスが SSM API と通信できる IAM ロールで起動されていない、または IAM ロールのアクセス許可が Run Command に対して正しくない。詳細については、「Systems Manager の IAM インスタンスプロファイルの作成」を参照してください。

SSM エージェント のトラブルシューティング

Run Command を使用したコマンドの実行で問題が発生した場合は、SSM エージェント に問題がある可能性があります。以下の情報を利用して SSM エージェント ログファイルを表示し、エージェントをトラブルシューティングしてください。

SSM エージェント ログファイルを表示する

SSM エージェント は、以下のファイルに情報をログとして記録します。これらのファイルの情報は、問題をトラブルシューティングするのに役立ちます。

注記

Windows ファイルエクスプローラーを使用してこれらのログを表示することを選択した場合は、Folder Options で隠しファイルとシステムファイルの表示を必ず有効にしてください。

Windows の場合

  • %PROGRAMDATA%\Amazon\SSM\Logs\amazon-ssm-agent.log

  • %PROGRAMDATA%\Amazon\SSM\Logs\errors.log

Linux の場合

  • /var/log/amazon/ssm/amazon-ssm-agent.log

  • /var/log/amazon/ssm/errors.log

SSM エージェント デバッグログの有効化

Windows Server および Linux マネージドインスタンスで SSM エージェント のデバッグログを有効にするには、次の手順を使用します。

  1. Systems Manager Session Manager を使用して、デバッグログを有効にするインスタンスに接続するか、マネージドインスタンスにログオンします。詳細については、「Session Manager の操作」を参照してください。

  2. seelog.xml.template ファイルのコピーを作成します。seelog.xml へのコピーの名前を変更します。このファイルは次のディレクトリにあります。

    1. Windows Server: %PROGRAMFILES%\Amazon\SSM\seelog.xml.template

    2. Linux: /etc/amazon/ssm/seelog.xml.template

  3. seelog.xml ファイルを編集して、デフォルトのログ記録の動作を変更します。次の例に示すように、[minlevel] の値を [info] から [debug] に変更します。

    <seelog type="adaptive" mininterval="2000000" maxinterval="100000000" critmsgcount="500" minlevel="debug">
  4. Windows のみ: 次のエントリを探します。

    filename="{{LOCALAPPDATA}}\Amazon\SSM\Logs\amazon-ssm-agent.log"

    次のパスを使用するようにこのエントリを変更します。

    filename="C:\ProgramData\Amazon\SSM\Logs\amazon-ssm-agent.log"
  5. Windows のみ: 次のエントリを探します。

    filename="{{LOCALAPPDATA}}\Amazon\SSM\Logs\errors.log"

    次のパスを使用するようにこのエントリを変更します。

    filename="C:\ProgramData\Amazon\SSM\Logs\errors.log"
  6. 再起動 SSM エージェント.

    • Windows Server: Windows Services Manager を使用して Amazon SSM Agent を再起動します。

    • Linux: 次のコマンドを実行します。

      sudo restart amazon-ssm-agent