メニュー
Amazon EC2 Systems Manager
ユーザーガイド

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

以下の情報を参考にして、Run Command に関する問題のトラブルシューティングを行います。

インスタンスの場所

[Select Target instances] を選択しても必要なインスタンスのリストが表示されない場合は、以下のことを確認します。

  • インスタンスに SSM エージェントの最新バージョンをインストールしました。SSM エージェントでは、Amazon EC2 Windows Amazon Machine Image (AMI) があらかじめ設定されています。Linux AMI は設定されていません。インスタンスに SSM エージェントをインストールする方法の詳細については Linux に SSM エージェントをインストールする (Linux の場合) または Windows に SSM エージェントをインストールする (Windows の場合) を参照してください。

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

Health API を使用してインスタンスのステータスを確認する

Amazon EC2 Health API を使用すると、Amazon EC2 インスタンスに関する次の状態を迅速に調べることができます。

  • 1 つまたは複数のインスタンスのステータス

  • インスタンスから最後にハートビート値が送信された日時

  • SSM エージェントのバージョン

  • オペレーティングシステム

  • EC2Config サービスのバージョン (Windows)

  • EC2Config サービスのステータス (Windows)

Windows インスタンスで Health API を使用する

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

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

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

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

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

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

Linux インスタンスで Health API を使用する

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

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

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

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

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

Copy
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 のセキュリティロールを設定する」を参照してください。

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

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

エージェントログの表示

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

Windows の場合

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

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

Linux の場合

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

  • /var/log/amazon/ssm/error.log

Linux では、seelog.xml ファイルを更新することで、ログを拡張することができます。デフォルトでは、設定ファイルここにあります: /opt/amazon/ssm/seelog.xml。

cihub/seelog の設定について詳しくは、cihub/seelog Wiki を参照してください。cihub/seelog 設定の例については、cihub/seelog examples を参照してください。