インスタンスが Systems Manager Compliance ダッシュボードに非準拠と表示されるのはなぜですか?
Amazon Elastic Compute Cloud (Amazon EC2) インスタンスが AWS Systems Manager Compliance ダッシュボードに非準拠として表示されます。
簡単な説明
Systems Manager Compliance 機能では、マネージドインスタンスのフリートのコンプライアンスデータを確認できます。マネージドインスタンスのコンプライアンスステータスは、次の要因に基づいて準拠または非準拠と判断されます。
- Patch Manager のパッチ適用のステータス
- State Manager の関連付けのステータス
- カスタムコンプライアンス項目のステータス (該当する場合)
インスタンスのコンプライアンスステータスを判断するには、設定のコンプライアンスレポートを確認します。コンプライアンスレポートを確認するときは、コンプライアンス違反の各インスタンスのコンプライアンスタイプを特定します。
- コンプライアンスタイプのパッチは、Patch Manager のパッチ適用が原因でインスタンスが非準拠であることを示します。
- コンプライアンスタイプの関連付けは、State Manager の関連付けが原因でインスタンスが非準拠であることを示します。
注: Systems Manager Compliance でコンプライアンスデータのレポート作成を開始するには、Compliance を開始するための前提条件が満たされている必要があります。
コンプライアンスをサポートするパッチドキュメントが実行されると、インスタンスのパッチコンプライアンスステータスが更新されます。次の SSM パッチドキュメントは、コンプライアンスステータスの更新をサポートしています:
Quick Setup または Patch Manager を使用してパッチを設定できます。
解決策
Patch Manager のパッチ適用のステータスに基づくコンプライアンス違反
次の理由により、Patch Manager のパッチ適用に基づいて、インスタンスが非準拠として表示されることがあります:
パッチドキュメントがインスタンスで実行されなかった
インスタンスのパッチベースラインドキュメントの設定に従ってパッチが承認された後、インストール操作を使用するパッチドキュメントがインスタンスで実行されませんでした。問題を解決するには、次の手順を実行します。
- 設定コンプライアンスレポートを表示します。[パッチ] タブを選択し、[パッチの概要] を確認します。[Updates Needed] (必要な更新) が 0 以外の場合、1 つ以上の承認されたパッチをインストールする必要があるため、インスタンスは非準拠です。
- インストールする必要があるパッチを確認するには、下方向にスクロールして検索バーを選択し、状態が [Missing] (不足) に設定されているパッチを探します。
注: マネージドインスタンスの各パッチには、コンプライアンスステータスの値が割り当てられます。この値によって、そのインスタンスのコンプライアンスステータスが決まります。 - 非準拠のインスタンスでインストール操作を使用して、AWS-RunPatchBaseline ドキュメントを実行します。Patch Manager コンソールの [今すぐパッチを適用する] オプションを使用して、パッチ適用オペレーションを開始できます。または、Run コマンドを使用するか、メンテナンスウィンドウの一部として、AWS-RunPatchBaseline ドキュメントを実行することもできます。
注: デフォルトの AWS-RunPatchBaseline 設定では、パッチがリリースされた日から 7 日後に自動承認が設定されます。Windows、macOS、Linux 用のカスタムパッチベースラインを作成することもできます。詳細については、「Working with custom patch baselines」を参照してください。
パッチドキュメントは実行されたが、承認されたパッチの一部をインストールできなかった
インストール操作を使用した AWS-RunPatchBaseline ドキュメントがインスタンスで実行されました。ただし、承認されたパッチの一部は、インスタンス固有の理由でインスタンスにインストールできませんでした。以下の手順に従って、インスタンス固有の問題を特定します:
- 設定コンプライアンスレポートを表示します。[パッチ] タブを選択し、下方向にスクロールして検索バーを選択し、状態が [失敗] に設定されているパッチを探します。
- 失敗したパッチを書き留め、SSH または Session Manager を使用してインスタンスにログインします。
- インスタンスの SSM エージェントログと特定の操作ログを確認して、インスタンス固有の問題がないか確認します。
Linux ベースのインスタンス:
/var/log/amazon/ssm/amazon-ssm-agent.log
/var/lib/amazon/ssm/InstanceID/document/orchestration/CommandID
Windows ベースのインスタンス:
%PROGRAMDATA%\Amazon\SSM\Logs\amazon-ssm-agent.log
%PROGRAMDATA%\Amazon\PatchBaselineOperations
注: Install-PatchBaselineOperation-date という名前のログファイルを探してください
注: Patch Manager ではパッチは提供されません。代わりに、Patch Manager は各オペレーティングシステム (OS) の組み込みメカニズムを使用してパッチ適用を調整し、インスタンスに更新プログラムをインストールします。例えば、Patch Manager は Windows Update を使用して Microsoft Windows を実行しているインスタンスにパッチをインストールします。同様に、Patch Manager は、Amazon Linux 2 を実行しているインスタンスに yum を使用します。
パッチドキュメントは実行されたが、RebootOption パラメータが NoReboot に設定されている
インストール操作を使用したパッチドキュメントがインスタンスで実行され、承認されたすべてのパッチが正常にインストールされました。ただし、AWS-RunPatchBaseline ドキュメントの RebootOption パラメータは NoReboot に設定されています。問題を解決するには、次の手順を実行します。
- 設定コンプライアンスレポートを表示します。[パッチ] タブを選択し、下方向にスクロールして検索バーを選択し、状態が [InstalledPendingReboot] に設定されているパッチを探します。
注: InstalledPendingReboot 状態では、インスタンスが再起動およびスキャンされるまで、インスタンスは非準拠状態のままになります。 - インスタンスを再起動します。
- インスタンスをスキャンし、Systems Manager Compliance ダッシュボードにインスタンスが準拠として表示されることを確認します。
パッチドキュメントは実行されたが、拒否されたパッチがインスタンスにいくつか存在している
インストール操作を使用したパッチドキュメントがインスタンスで実行され、承認されたすべてのパッチが正常にインストールされました。しかし、拒否されたパッチの一部がインスタンスに存在しています。問題を解決するには、次の手順を実行します。
- 設定コンプライアンスレポートを表示します。後で使用できるように、非準拠の関連付けタイプに対応する関連付け ID を書き留めておきます。
- [パッチ] タブを選択し、下方向にスクロールして検索バーを選択し、状態が [InstalledRejected] に設定されているパッチを探します。
注: InstalledRejected の状態は、拒否されたパッチの一覧にパッチが追加される前にそのパッチがインストールされたことを示します。 - 拒否されたパッチを書き留め、SSH または Session Manager を使用してインスタンスにログインします。
- 拒否されたパッチをすべて削除します。
パッチドキュメントは実行されたが失敗した
パッチドキュメントはインスタンスで開始されましたが、正常に実行されませんでした。パッチプロセスがインスタンスで正常に実行されない場合、そのインスタンスのコンプライアンスは更新されません。
詳細については、「Errors when running AWS-RunPatchBaseline on Linux」および「Errors when running AWS-RunPatchBaseline on Windows Server」を参照してください。
State Manager の関連付けのステータスに基づくコンプライアンス違反
Systems Manager と State Manager の関連付けが作成されると、インスタンスの設定状態が定義されます。その状態が維持されない場合、Systems Manager Compliance ダッシュボードはインスタンスを非準拠として報告します。問題を解決するには、次の手順を実行します。
- 設定コンプライアンスレポートを表示します。後で使用できるように、非準拠の関連付けタイプに対応する関連付け ID を書き留めておきます。
- Systems Manager コンソールから、関連付けの履歴を表示します。
- 出力を確認して、関連付けが失敗した理由を理解します。詳細については、「State Manager の関連付けのステータスが「失敗」または「保留中」のままである状態をトラブルシューティングするにはどうすればよいですか?」を参照してください。
AWS-GatherSoftwareInventory ドキュメントの問題
AWS-GatherSoftwareInventory ドキュメントの実行に問題があるためにインスタンスが非準拠になった場合は、Systems Manager Inventory を使用して問題をトラブルシューティングします。
AWS CloudTrail を使用してコンプライアンスイベントを監視する
PutComplianceItems API コールは、カスタムコンプライアンスオブジェクトまたは関連付けに新しいコンプライアンス情報が追加されたときに行われます。PutInventory API コールは、インベントリ項目が存在しない場合に、インベントリ項目を追加または更新します。
詳細については、「Logging AWS Systems Manager API calls with AWS CloudTrail」を参照してください。

関連するコンテンツ
- 質問済み 1年前lg...
- 質問済み 4年前lg...
- 質問済み 3年前lg...
- 質問済み 2ヶ月前lg...
- 質問済み 4ヶ月前lg...
- AWS公式更新しました 5ヶ月前
- AWS公式更新しました 6ヶ月前
- AWS公式更新しました 7ヶ月前