失敗した Patch Manager (Linux) の操作のトラブルシューティング方法を教えてください。

所要時間2分
0

失敗した Patch Manager (Linux) の操作をトラブルシューティングしたいです。

簡単な説明

パッチ操作が失敗する理由は複数あり、エラーのトラブルシューティングは使用しているオペレーティングシステムによって異なる場合があります。エラーは AWS マネジメントコンソールまたは API レスポンスで確認できます。ただし、コンソール出力は 48,000 文字に切り捨てられるため、特定の問題がわかりにくくなります。このような問題については、マネージドノードに保存されている全出力を確認するのがベストプラクティスです。Amazon CloudWatch (CloudWatch) と Amazon Simple Storage Service (Amazon S3) に送信された出力を使用して、さらにトラブルシューティングを行うこともできます。

Patch Manager (Linux) の操作が失敗した場合に表示されるエラーは次のとおりです。

  • 権限が拒否されました / コマンドの実行に失敗しました
  • ペイロードをダウンロードできません
  • そのようなファイルまたはディレクトリはありません
  • 別のプロセスが yum ロックを取得しました
  • パッケージマネージャーと Python バージョンの組み合わせがサポートされていません
  • オペレーティングシステムがサポートされていません
  • 出力が切り捨てられました

解決方法

Patch Manager (Linux) の操作に失敗したときに表示されるエラーをトラブルシューティングするには、次の手順を実行してください。

権限が拒否されました / コマンドの実行に失敗しました

次のエラーの例は、/var/lib/amazonnoexec 権限でマウントされている場合に発生します。

/var/lib/amazon/ssm/<instanceid>/document/orchestration/<commandid>/PatchLinux/_script.sh: Permission deniedfailed to run commands: exit status 126

このエラーを解決するには、/var/log/amazon/var/lib/amazon に専用パーティションを設定し、それらが exec 権限でマウントされていることを確認してください。

ペイロードをダウンロードできません

次のエラーの例は、マネージドノードに、指定された Amazon S3 バケットへのアクセスに必要なアクセス権限がない場合に発生します。

Unable to download payload: https://s3.DOC-EXAMPLE-BUCKET.region.amazonaws.com/aws-ssm-region/patchbaselineoperations/linux/payloads/patch-baseline-operations-X.XX.tar.gz.failed to run commands: exit status 156

このエラーを解決するには、ネットワーク設定を更新し、リージョナル Amazon S3 エンドポイントにアクセスできることを確認します。詳細については、「SSM Agent と AWS マネージド S3 バケットとの通信」を参照してください。

そのようなファイルまたはディレクトリはありません

次のエラーの例は、以下の理由で発生します。

  • AWS-RunPatchBaseline を実行する 2 つのコマンドが、同じマネージドノードで同時に実行された
  • /var ディレクトリに使用可能なディスク容量が不足している
IOError: [Errno 2] No such file or directory: 'patch-baseline-operations-X.XX.tar.gz'
Unable to extract tar file: /var/log/amazon/ssm/patch-baseline-operations/patch-baseline-operations-1.75.tar.gz.
failed to run commands: exit status 155
Unable to load and extract the content of payload, abort.
failed to run commands: exit status 152

このエラーを解決するには、次の手順を実行してください。

  • メンテナンスウィンドウに、AWS-RunPatchBaseline を実行する実行コマンドタスクが 2 つ以上含まれていないことを確認してください。タスクを同じ優先度に設定し、同じターゲット ID で実行することはできません。必要に応じて優先度レベルを並べ替えます。
  • 同じスケジュールで AWS-RunPatchBaseline を実行し、同じマネージドノードをターゲットにしている State Manager の関連付けが 1 つだけであることを確認してください。
  • /var ディレクトリの下のディスク容量を解放します。

別のプロセスが yum ロックを取得しました

次のエラーの例は、yum がすでに実行されているマネージドノードで AWS-RunPatchBaseline を実行していて、別のプロセスがデータベースをロックしている場合に発生します。

MM/DD/YYYY HH:MM:SS root [INFO]: another process has acquired yum lock, waiting 2 s and retry.

このエラーを解決するには、次の点を確認してください。

  • State Manager の関連付け、メンテナンスウィンドウタスク、またはスケジュールに基づいて AWS-RunPatchBaseline を実行するその他の設定が、同じマネージドノードを同時にターゲットにしていない。
  • 手動の yum 操作が同時に実行されていない。

パッケージマネージャーと Python バージョンの組み合わせがサポートされていません

次のエラーの例は、サポートされているバージョンの Python 3 が RHEL、Debian サーバー、Raspberry Pi、または Ubuntu Server インスタンスにインストールされていない場合に発生します。

An unsupported package manager and python version combination was found. Dnf requires Python 2 or Python 3 to be installed.

このエラーを解決するには、必要なサーバーに Python 3 (3.0-3.9) のバージョンをインストールします。

オペレーティングシステムがサポートされていません

次のエラーの例は、オペレーティングシステムがサポートされていない場合に発生します。

An error occurred (UnsupportedOperatingSystem) when calling the GetDeployablePatchSnapshotForInstance operation: patch_common.exceptions. PatchManagerError: ('Unsupported Operating System', 146)

このエラーを解決するには、サポートされているオペレーティングシステムを使用してください。

出力が切り捨てられました

このエラーは、パッチ処理が失敗し、コンソールの出力が切り捨てられ、エラーを表示できない場合に発生します。コンソール出力は 48,000 語で切り捨てられます。

このエラーを解決するには、次の場所にあるインスタンスの出力全体を確認してください。

注: すべてのの文字列を必要な値に置き換えてください。

/var/lib/amazon/ssm/<example-instance-id>/document/orchestration/<example-command-id>/awsrunShellScript/PatchLinux/stdout

実行コマンドの出力を Amazon S3 または CloudWatch に送信するようにオペレーションを設定することもできます。

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

関連するコンテンツ