Patch Manager のトラブルシューティング - AWS Systems Manager

Patch Manager のトラブルシューティング

AWS Systems Manager の一機能である Patch Manager で問題が生じた場合にトラブルシューティングする際は、次の情報が役に立ちます。

問題:「Invoke-PatchBaselineOperation」:baseline_overrides.json についての「アクセスが拒否されました」エラーまたは「S3 からファイルをダウンロードできません」エラー

問題: パッチポリシーによって指定されたパッチ適用オペレーションを実行すると、次の例のようなエラーが表示されます。

Example error on Windows Server
----------ERROR------- Invoke-PatchBaselineOperation : Access Denied At C:\ProgramData\Amazon\SSM\InstanceData\i-02573cafcfEXAMPLE\document\orchestr ation\792dd5bd-2ad3-4f1e-931d-abEXAMPLE\PatchWindows\_script.ps1:219 char:13 + $response = Invoke-PatchBaselineOperation -Operation Install -Snapsho ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (Amazon.Patch.Ba...UpdateOpera tion:InstallWindowsUpdateOperation) [Invoke-PatchBaselineOperation], Amazo nS3Exception + FullyQualifiedErrorId : PatchBaselineOperations,Amazon.Patch.Baseline.Op erations.PowerShellCmdlets.InvokePatchBaselineOperation failed to run commands: exit status 0xffffffff
Example error on Linux
[INFO]: Downloading Baseline Override from s3://aws-quicksetup-patchpolicy-123456789012-abcde/baseline_overrides.json [ERROR]: Unable to download file from S3: s3://aws-quicksetup-patchpolicy-123456789012-abcde/baseline_overrides.json. [ERROR]: Error loading entrance module.

原因: Quick Setup でパッチポリシーを作成しましたが、マネージドノードの一部には、既にインスタンスプロファイル (EC2 インスタンスの場合) またはサービスロール (EC2 以外のマシンの場合) がアタッチされています。ただし、次の画像に示すように、[インスタンスにアタッチされている既存のインスタンスプロファイルに必要な IAM ポリシーを追加] チェックボックスをオンにしませんでした。


                    [既存のインスタンスプロファイルに必要な IAM ポリシーを追加] チェックボックス。

パッチポリシーを作成すると、ポリシーの設定 baseline_overrides.json ファイルを保存するための Amazon S3 バケットも作成されます。ポリシーの作成時に [インスタンスにアタッチされている既存のインスタンスプロファイルに必要な IAM ポリシーを追加] チェックボックスをオンにしない場合、S3 バケット内で baseline_overrides.json にアクセスするために必要な IAM ポリシーとリソースタグは、既存の IAM インスタンスのプロファイルとサービスロールに自動的に追加されません。

解決策 1: 既存のパッチポリシー設定を削除し、代わりのポリシーを作成します。その際には、必ず [インスタンスにアタッチされている既存のインスタンスプロファイルに必要な IAM ポリシーを追加] チェックボックスをオンにしてください。これにより、この Quick Setup 設定によって作成された IAM ポリシーは、既にインスタンスプロファイルまたはサービスロールがアタッチされているノードに適用されます。(デフォルトでは、Quick Setup は、インスタンスプロファイルまたはサービスロールをまだ持っていないインスタンスとノードに必要なポリシーを追加します。) 詳細については、「Quick Setup パッチポリシーを使用して組織全体のパッチ適用を自動化する」を参照してください。

解決策 2: Quick Setup で使用する各 IAM インスタンスプロファイルと IAM サービスロールに、必要な許可とタグを手動で追加します。手順については、パッチポリシー S3 バケットの許可 を参照してください。

問題: パッチ適用が失敗したものの、明らかな原因やエラーメッセージが表示されない

問題: パッチ適用操作はエラーメッセージを返さずに失敗します。

考えられる原因: AWS-RunPatchBaseline の呼び出しが、複数同時に起きた場合、互いに競合し、パッチ適用タスクが失敗する可能性があります。これはパッチログには表示されない場合があります。

同時実行中のパッチ適用操作が相互に中断されたかどうかを確認するには、Run Command にあるコマンド履歴、AWS Systems Manager の機能を確認してください。パッチ適用に失敗したマネージドノードでは、マシンへパッチを適用するために、複数の操作が 2 分以内の間隔で試行されたかどうかを確認します。このシナリオでは、場合によって処理が失敗する可能性があります。

次のコマンドを使用して、同時パッチ適用を試みているかどうかを確認するために、AWS Command Line Interface (AWS CLI) を使用することもできます。node-id の値は、マネージドノードの ID で置き換えてください。

aws ssm list-commands \ --filter "key=DocumentName,value=AWS-RunPatchBaseline" \ --query 'Commands[*].{CommandId:CommandId,RequestedDateTime:RequestedDateTime,Status:Status}' \ --instance-id node-id \ --output table

解決策: 同じマネージドノード上で競合するパッチ適用操作が原因でパッチ適用が失敗したと判断した場合は、パッチ適用の設定を調整して、問題が再度起こらないようにします。例えば、2 つのメンテナンスウィンドウでパッチ適用時間が重複して指定されている場合は、そのうちの 1 つを削除または修正します。メンテナンスウィンドウで 1 つのパッチ適用操作が指定されているが、パッチポリシーで同じ時間に別のパッチ操作が指定されている場合は、そのタスクをメンテナンスウィンドウから削除することを検討してください。

このシナリオでパッチ適用操作の競合が失敗の原因ではないと判断した場合は、AWS Support に問い合わせることをお勧めします。

問題: 想定外のパッチコンプライアンス結果

問題: Scan オペレーション後に生成されたパッチ適用コンプライアンスの詳細を確認すると、結果にパッチベースラインに設定されたルールを反映していない情報が含まれています。例えば、パッチベースラインの [Rejected patches] (拒否されたパッチ) リストに追加した例外は、Missing として表示されます。または、パッチベースラインで Critical パッチのみと指定されている場合でも、Important に分類されたパッチが未適用と表示されます。

原因: Patch Manager は現在、Scan オペレーションを実行する複数の方法をサポートしています。

  • Quick Setup で設定されているパッチポリシー

  • Quick Setup で設定されているホスト管理オプション

  • パッチ Scan または Install のタスクを実行するためのメンテナンスウィンドウ

  • オンデマンドの [Patch now] (今すぐパッチ適用) オペレーション

Scan オペレーションを実行すると、最新のスキャンのコンプライアンスの詳細が上書きされます。Scan オペレーションを実行するために複数の方法を設定していて、それぞれの方法によってルールが異なるさまざまなパッチベースラインが使用されている場合、パッチコンプライアンスの結果も異なります。

解決方法: 想定外のパッチコンプライアンスの結果を避けるため、Patch Manager Scan オペレーションを実行する方法は一度に 1 つだけ使用することをお勧めします。詳細については、「パッチコンプライアンスデータに対する意図しない上書きの回避」を参照してください。

Linuxで AWS-RunPatchBaseline を実行時のエラー

トピック

問題:「そのようなファイルまたはディレクトリがありません」というエラー

問題: AWS-RunPatchBaseline 実行時、パッチ適用が次のいずれかのエラーで失敗する。

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

原因 1: AWS-RunPatchBaseline を実行する 2 つのコマンドが同じマネージドノード上で同時に実行されています。これにより、競合状態が作成され、正しく作成されていない、またはアクセスされていない一時的な file patch-baseline-operations* という結果になります。

原因 2: /var ディレクトリー以下の不十分なストレージ領域

解決策 1: メンテナンスウィンドウに、AWS-RunPatchBaseline を同じ優先度レベル、同じターゲット ID で実行する 2 つ以上の Run Command タスク がないことを確保します。その場合は、優先順位を並べ替えます。Run Command は AWS Systems Manager の一機能です。

解決策 2: 同じターゲットに対し、同じスケジュールで AWS-RunPatchBaseline を使用する Run Command タスクは、一度に 1 つのメンテナンスウィンドウだけが実行するようにします。このような場合は、スケジュールを変更してください。

解決策 3: 同じスケジュールで同じマネージドノードをターゲットにして AWS-RunPatchBaseline を実行する State Manager の関連付けは 1つだけにしてください。State Manager は AWS Systems Manager の一機能です。

解決策 4: アップデートパッケージ用の /var ディレクトリー下に、十分なストレージ領域を解放します。

問題:「別のプロセスが yum ロックを取得しました」というエラー

問題: AWS-RunPatchBaseline を実行すると、パッチ適用は、次のエラーで失敗する。

12/20/2019 21:41:48 root [INFO]: another process has acquired yum lock, waiting 2 s and retry.

原因: マネージドノードが別のオペレーションで実行を開始し、パッケージマネージャ yum プロセスを取得した状態で、AWS-RunPatchBaseline ドキュメントがすでに実行されている。

解決策: State Manager の関連付けやメンテナンスウィンドウタスクなど、スケジュールに従って AWS-RunPatchBaseline を実行する設定が、同じ時間帯に同じマネージドノードをターゲットにしないようにします。

問題:「権限が拒否された/コマンドを実行できませんでした」というエラー

問題: AWS-RunPatchBaseline を実行すると、パッチ適用は、次のエラーで失敗する。

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

原因:/var/lib/amazon/noexec 許可でマウントされている可能性。これは、SSM Agent がペイロードスクリプトを/var/lib/amazon/ssm にダウンロードし、その場所からそれらを実行することが問題です。

解決策: 排他パーティションを /var/log/amazon および /var/lib/amazon に設定し、exec 許可でマウントされているようにする。

問題:「ペイロードをダウンロードできません」というエラー

問題: AWS-RunPatchBaseline を実行すると、パッチ適用は、次のエラーで失敗する。

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 Simple Storage Service (Amazon S3) バケットへのアクセスに必要な許可がない。

解決策: S3 エンドポイントに到達できるようにネットワーク設定を更新します。詳細については、SSM Agent と AWS マネージド S3 バケットとの通信 で Patch Manager の S3 バケットへの必要なアクセスに関する情報を参照してください。

問題:「サポートされていないパッケージマネージャとPythonバージョンの組み合わせ」エラー

問題: AWS-RunPatchBaseline を実行すると、パッチ適用は、次のエラーで失敗する。

An unsupported package manager and python version combination was found. Apt requires Python3 to be installed.
failed to run commands: exit status 1

原因: サポートされているバージョンの Python 3 が Debian Server、Raspberry Pi OS、または Ubuntu Server インスタンスにインストールされていない。

解決策: Debian Server、Raspberry Pi OS、および Ubuntu Server マネージドノードに必要なサポートされているバージョンの python3 (3.0~3.10) をサーバーにインストールします。

問題: 特定のパッケージを除外するために指定されたルールを Patch Manager が適用しない。

問題: 形式 exclude=package-name/etc/yum.conf ファイルで指定した特定のパッケージを除外しようとしたが、Patch Manager Install オペレーションでは除外されない。

原因: Patch Manager が、/etc/yum.conf ファイルで指定された除外項目を取り込まない。

解決策: 特定のパッケージを除外するには、カスタムパッチベースラインを作成し、インストールしないパッケージを除外するルールを作成します。

問題: パッチ適用が失敗し、TLS へのサーバー名表示拡張を利用できないことが Patch Manager から報告される

問題: パッチ適用操作が、次のメッセージを発行する。

/var/log/amazon/ssm/patch-baseline-operations/urllib3/util/ssl_.py:369: 
SNIMissingWarning: An HTTPS request has been made, but the SNI (Server Name Indication) extension
to TLS is not available on this platform. This might cause the server to present an incorrect TLS 
certificate, which can cause validation failures. You can upgrade to a newer version of Python 
to solve this. 
For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

原因: このメッセージはエラーを示していません。代わりに、オペレーティングシステムと共に配布されている古いバージョンの Python が TLS サーバー名表示をサポートしていないという警告が表示されます。Systems Manager のパッチペイロードスクリプトは、SNI をサポートする AWS APIに接続する際に、この警告を出します。

解決策: このメッセージが報告されたときにパッチ適用の失敗をトラブルシューティングするには、stdout および stderr ファイルの内容を確認する。これらのファイルを S3 バケットまたは Amazon CloudWatch Logs に保存するようにパッチベースラインを設定していない場合は、Linux マネージドノードの次の場所にファイルを配置することができます。

/var/lib/amazon/ssm/instance-id/document/orchestration/Run-Command-execution-id/awsrunShellScript/PatchLinux

問題: Patch Manager が「試行するミラーはもうありません」と報告する

問題: パッチ適用操作が、次のメッセージを発行する。

[Errno 256] No more mirrors to try.

原因: マネージドノードに設定されているリポジトリーが正しく動作していません。エラーの原因として以下が考えられます。

  • yum キャッシュが破損している。

  • ネットワーク関連の問題により、リポジトリ URL にアクセスできない。

解決策: Patch Manager は、マネージドノードのデフォルトのパッケージマネージャーを使用してパッチ適用オペレーションを実行します。リポジトリーが正しく構成され、動作していることを確認します。

問題: 「curl から返されたエラーコードは 23 です」というメッセージが表示されてパッチが失敗する

問題AWS-RunPatchBaseline を使用するパッチオペレーションに失敗すると、次のようなエラーが発生することがあります。

05/01/2023 17:04:30 root [ERROR]: Error code returned from curl is 23

原因: システムで使用している curl ツールには、ファイルシステムへの書き込みに必要な権限がありません。これは、パッケージマネージャーのデフォルトの curl ツールが、snap でインストールされたものなど、別のバージョンに置き換えられた場合に発生する可能性があります。

解決方法: 別のバージョンがインストールされたときにパッケージマネージャーから提供された curl バージョンがアンインストールされた場合は、再インストールします。

複数の curl バージョンをインストールしたままにしておく必要がある場合は、パッケージマネージャーに関連付けられているバージョンが、PATH 変数にリストされている最初のディレクトリにあることを確認してください。これを確認するには、echo $PATH コマンドを実行して、システム上の実行ファイルがチェックされているディレクトリの現在の順序を確認します。

問題: パッチ適用が失敗し、「Error unpacking rpm package…」(rmp パッケージの解凍中にエラーが発生しました...) というメッセージが表示される

問題: パッチ適用操作が次のようなエラーで失敗します。

Error : Error unpacking rpm package python-urllib3-1.25.9-1.amzn2.0.2.noarch
python-urllib3-1.25.9-1.amzn2.0.1.noarch was supposed to be removed but is not!
failed to run commands: exit status 1

原因 1: 特定のパッケージが複数のパッケージインストーラー (両方など) に存在する場合、pipyum の両方、または dnf など、デフォルトのパッケージマネージャーを使用したときにコンフリクトが発生する可能性があります。

urllib3 パッケージで発生することが多く、pipyumdnf などに見られます。

原因 2: python-urllib3 パッケージが壊れています。これは、yum または dnf によって rpm パッケージが前もってインストールされたあと、pip によってパッケージファイルがインストールまたは更新された場合に発生することがあります。

解決策: コマンド sudo pip uninstall urllib3 を実行し、デフォルトのパッケージマネージャー (yum または dnf) にのみ、パッケージを保持することで、pip から python-urllib3 パッケージを削除します。

問題:「Errors were encountered while downloading packages」(パッケージのダウンロード中にエラーが発生しました) というメッセージが表示されてパッチ適用が失敗する

問題: パッチ適用中に、次のようなエラーが表示されます。

YumDownloadError: [u'Errors were encountered while downloading 
packages.', u'libxml2-2.9.1-6.el7_9.6.x86_64: [Errno 5] [Errno 12] 
Cannot allocate memory', u'libxslt-1.1.28-6.el7.x86_64: [Errno 5] 
[Errno 12] Cannot allocate memory', u'libcroco-0.6.12-6.el7_9.x86_64: 
[Errno 5] [Errno 12] Cannot allocate memory', u'openldap-2.4.44-25.el7_9.x86_64: 
[Errno 5] [Errno 12] Cannot allocate memory',

原因: このエラーは、マネージドノードで利用可能なメモリが不足している場合に発生する可能性があります。

解決策: スワップメモリを設定するか、インスタンスを別のタイプにアップグレードしてメモリサポートを増やします。その後、新しいパッチ適用操作を開始します。

問題:「The following signatures couldn't be verified because the public key is not available」(公開鍵が利用できないため、次の署名を検証できませんでした) というメッセージが表示されてパッチ適用が失敗します。

問題: Ubuntu Server を使用するパッチ適用に失敗すると、次のようなエラーが発生することがあります。

02/17/2022 21:08:43 root [ERROR]: W:GPG error: 
http://repo.mysql.com/apt/ubuntu  bionic InRelease: The following 
signatures couldn't be verified because the public key is not available: 
NO_PUBKEY 467B942D3A79BD29, E:The repository ' http://repo.mysql.com/apt/ubuntu bionic

原因:: GNU Privacy Guard (GPG) キーの有効期限が切れているか、キーがありません。

解決策: GPG キーを更新するか、キーをもう一度追加してください。

例えば、前に示したエラーを見ると、467B942D3A79BD29 キーがないため、追加する必要があります。そのためには、次のコマンドのいずれかを実行します。

sudo apt-key adv --keyserver hkps://keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 467B942D3A79BD29

または、すべてのキーを更新するには、以下のコマンドを実行します。

sudo apt-key adv --keyserver hkps://keyserver.ubuntu.com --refresh-keys

この後もエラーが再発する場合は、リポジトリを管理している組織に問題を報告することをおすすめします。修正が利用できるようになるまでは、パッチ処理中にリポジトリを省略するため /etc/apt/sources.list ファイルを編集できます。

そのためには、sources.list を編集用に開き、リポジトリの行を見つけて、その行の先頭にコメントアウトする # 文字を挿入します。ファイルを保存してから閉じます。

問題:「NoMoreMirrorsRepoError」というメッセージが表示されてパッチ適用が失敗します。

問題: 次のようなエラーが表示されます。

NoMoreMirrorsRepoError: failure: repodata/repomd.xml from pgdg94: [Errno 256] No more mirrors to try.

原因: ソースリポジトリにエラーがあります。

解決策: リポジトリを管理している組織に問題を報告することをおすすめします。エラーが修正されるまでは、オペレーティングシステムレベルでリポジトリを無効にできます。そのためには、以下のコマンドを実行します。repo-name の値を次のリポジトリ名で置き換えます。

yum-config-manager --disable repo-name

次に例を示します。

yum-config-manager --disable pgdg94

このコマンドを実行した後、別のパッチ適用操作を実行します。

問題: 「Unable to download payload」(ペイロードをダウンロードできません) というメッセージが表示されてパッチ適用が失敗します。

問題: 次のようなエラーが表示されます。

Unable to download payload: 
https://s3.dualstack.eu-west-1.amazonaws.com/aws-ssm-eu-west-1/patchbaselineoperations/linux/payloads/patch-baseline-operations-1.83.tar.gz.
failed  to run commands: exit status 156

原因: マネージドノードの設定にエラーがあるか、不完全です。

解決策: マネージドノードが次のように設定されていることを確認します。

  • セキュリティグループのアウトバウンド TCP 443 ルール。

  • NACL のエグレス TCP 443 ルール。

  • NACL のイングレス TCP 1024-65535 ルール。

  • S3 エンドポイントへの接続を提供するルートテーブル内の NAT/IGW。インスタンスがインターネットにアクセスできない場合は、S3 エンドポイントとの接続を確立します。そのためには、VPC に S3 ゲートウェイエンドポイントを追加し、マネージドノードのルートテーブルと統合します。

問題:「install errors: dpkg: error: dpkg frontend is locked by another process」(インストールエラー:dpkg: エラー:dpkg フロントエンドが別のプロセスによってロックされています) というメッセージが表示されてパッチ適用が失敗します。

問題: 次のようなエラーが発生してパッチ適用が失敗することがあります。

install errors: dpkg: error: dpkg frontend is locked by another process
failed to run commands: exit status 2
Failed to install package; install status Failed

原因: パッケージマネージャーは、オペレーティングシステムレベルのマネージドノード上で既に別のプロセスを実行しています。他のプロセスが完了するまでに長い時間がかかる場合は、Patch Manager パッチ適用操作はタイムアウトして失敗することがあります。

解決策: パッケージマネージャーを使用している他のプロセスが完了したら、新しいパッチ適用操作を実行します。

問題: Ubuntu Server へのパッチ適用が「dpkg was interrupted」(dpkg が中断されました) というエラーで失敗します。

問題: Ubuntu Server では、次のようなエラーで、パッチ適用が失敗します。

E: dpkg was interrupted, you must manually run
'dpkg --configure -a' to correct the problem.

原因: 1 つまたは複数のパッケージの設定が間違っています。

解決方法: 以下のステップを実行します。

  1. 以下のコマンドを 1 つずつ実行して、どのパッケージが影響を受けるか、また各パッケージの問題点を確認してください。

    sudo apt-get check
    sudo dpkg -C
    dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package}\n' | grep -E ^.[^nci]
  2. 以下のコマンドを実行して、問題のあるパッケージを修正します。

    sudo dpkg --configure -a
  3. 前のコマンドで問題が完全に解決されなかった場合は、以下のコマンドを実行します。

    sudo apt --fix-broken install

問題: パッケージマネージャーユーティリティがパッケージの依存関係を解決できません。

問題: マネージドノード上のネイティブパッケージマネージャーがパッケージの依存関係を解決できず、パッチ適用が失敗します。以下のエラーメッセージ例は、パッケージマネージャーとして yum を使用するオペレーティングシステムでのこのタイプの問題を示しています。

09/22/2020 08:56:09 root [ERROR]: yum update failed with result code: 1, 
message: [u'rpm-python-4.11.3-25.amzn2.0.3.x86_64 requires rpm = 4.11.3-25.amzn2.0.3', 
u'awscli-1.18.107-1.amzn2.0.1.noarch requires python2-botocore = 1.17.31']

原因: Linux オペレーティングシステムでは、Patch Manager はマシン上のネイティブパッケージマネージャを使用して、yumdnfaptzypper のようなパッチ操作を実行します。アプリケーションは、必要に応じて依存パッケージを自動的に検出、インストール、更新、または削除します。ただし、次のような状況によっては、パッケージマネージャーが依存関係の操作を完了できなくなる場合があります。

  • オペレーティングシステムには複数の競合するリポジトリが設定されています。

  • ネットワーク関連の問題により、リモートリポジトリの URL にアクセスできません。

  • 間違ったアーキテクチャのパッケージがリポジトリで見つかりました。

解決策: さまざまな理由の依存性の問題で、パッチ適用が失敗する可能性があります。そのため、トラブルシューティングの支援を受けるには、AWS Support にお問い合わせください。

Windows Server で AWS-RunPatchBaseline 実行時のエラー

問題:製品ファミリ/製品ペアの不一致

問題: Systems Managerコンソールでパッチベースラインを作成するとき、製品ファミリーと製品を指定します。たとえば、以下のように選択します。

  • Product family (製品ファミリー)Office]:

    Product (製品)Office 2016]:

原因: 一致していない製品ファミリー/製品ペアでパッチベースラインを作成しようとすると、エラーメッセージが表示されます。以下の理由で、これが発生する場合があります。

  • 有効な製品ファミリーと製品ペアが選択されましたが、その後、製品ファミリーの選択が削除されました。

  • [Available and matching options (利用可能なマッチングオプション)] サブリストからではなく、[Obsolete or mismatched options (サポートされなくなった、または不一致のオプション)] サブリストから製品が選択されました。

    製品の [Obsolete or mismatched options (サポートされなくなった、または不一致のオプション)] サブリストの項目が、SDK またはAWS Command Line Interface( AWS CLI )create-patch-baseline コマンドにより誤って入力された可能性があります。これは、タイプミスがあったか、製品が間違った製品ファミリーに割り当てられたことを意味します。以前のパッチベースラインに指定されても、 Microsoft から入手可能なパッチがない場合、その製品は、[Obsolete or mismatched options (サポートされなくなった、または不一致のオプション)] サブリストにも含まれます。

解決策: この問題を回避するには、[Currently available options (現在利用可能なオプション)] サブリストから常にオプションを選択します。

AWS CLI の describe-patch-properties コマンド、または DescribePatchProperties API コマンドを使用して、利用可能なパッチのある製品を表示することもできます。

問題:AWS-RunPatchBaseline 出力が HRESULT ( Windows Server )を返す。

問題: 次のようなエラーが発生しました。

----------ERROR-------
Invoke-PatchBaselineOperation : Exception Details: An error occurred when 
attempting to search Windows Update.
Exception Level 1:
 Error Message: Exception from HRESULT: 0x80240437
 Stack Trace: at WUApiLib.IUpdateSearcher.Search(String criteria)..
(Windows updates)
11/22/2020 09:17:30 UTC | Info | Searching for Windows Updates.
11/22/2020 09:18:59 UTC | Error | Searching for updates resulted in error: Exception from HRESULT: 0x80240437
----------ERROR-------
failed to run commands: exit status 4294967295

原因: この出力は、ネイティブの Windows Update API がパッチ適用操作を実行できなかったことを示します。

解決策: エラーを解決するためのトラブルシューティング手順を特定するには、次の microsoft.com トピックの HResult コードを確認します。

問題: マネージドノードに Windows Update カタログまたは WSUS へのアクセスがない

問題: 次のようなエラーが発生しました。

Downloading PatchBaselineOperations PowerShell module from https://s3.aws-api-domain/path_to_module.zip to C:\Windows\TEMP\Amazon.PatchBaselineOperations-1.29.zip.

Extracting PatchBaselineOperations zip file contents to temporary folder.

Verifying SHA 256 of the PatchBaselineOperations PowerShell module files.

Successfully downloaded and installed the PatchBaselineOperations PowerShell module.

Patch Summary for

PatchGroup :

BaselineId :

Baseline : null

SnapshotId :

RebootOption : RebootIfNeeded

OwnerInformation :

OperationType : Scan

OperationStartTime : 1970-01-01T00:00:00.0000000Z

OperationEndTime : 1970-01-01T00:00:00.0000000Z

InstalledCount : -1

InstalledRejectedCount : -1

InstalledPendingRebootCount : -1

InstalledOtherCount : -1

FailedCount : -1

MissingCount : -1

NotApplicableCount : -1

UnreportedNotApplicableCount : -1

EC2AMAZ-VL3099P - PatchBaselineOperations Assessment Results - 2020-12-30T20:59:46.169

----------ERROR-------

Invoke-PatchBaselineOperation : Exception Details: An error occurred when attempting to search Windows Update.

Exception Level 1:

Error Message: Exception from HRESULT: 0x80072EE2

Stack Trace: at WUApiLib.IUpdateSearcher.Search(String criteria)

at Amazon.Patch.Baseline.Operations.PatchNow.Implementations.WindowsUpdateAgent.SearchForUpdates(String

searchCriteria)

At C:\ProgramData\Amazon\SSM\InstanceData\i-02573cafcfEXAMPLE\document\orchestration\3d2d4864-04b7-4316-84fe-eafff1ea58

e3\PatchWindows\_script.ps1:230 char:13

+ $response = Invoke-PatchBaselineOperation -Operation Install -Snapsho ...

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : OperationStopped: (Amazon.Patch.Ba...UpdateOperation:InstallWindowsUpdateOperation) [Inv

oke-PatchBaselineOperation], Exception

+ FullyQualifiedErrorId : Exception Level 1:

Error Message: Exception Details: An error occurred when attempting to search Windows Update.

Exception Level 1:

Error Message: Exception from HRESULT: 0x80072EE2

Stack Trace: at WUApiLib.IUpdateSearcher.Search(String criteria)

at Amazon.Patch.Baseline.Operations.PatchNow.Implementations.WindowsUpdateAgent.SearchForUpdates(String searc

---Error truncated----

原因: このエラーは、Windows Update コンポーネント、または Windows Update カタログもしくは Windows Server Update Services (WSUS) への接続の欠如にまつわる可能性があります。

解決策: マネージドノードがインターネットゲートウェイ、NAT ゲートウェイ、または NAT インスタンスを介して Microsoft Update Catalog に接続されていることを確認します。WSUS を使用している場合は、マネージドノードがお使いの環境内の WSUS サーバーに接続されていることを確認します。目的の送信先への接続が確立されている場合は、Microsoft のドキュメントで考えられる他の HResult 0x80072EE2 の原因を確認してください。これは、オペレーティングシステムレベルに問題があることを示している可能性があります。

問題:パッチベースラインオペレーション PowerShell モジュールがダウンロードできない

問題: 次のようなエラーが発生しました。

Preparing to download PatchBaselineOperations PowerShell module from S3.
                    
Downloading PatchBaselineOperations PowerShell module from https://s3.aws-api-domain/path_to_module.zip to C:\Windows\TEMP\Amazon.PatchBaselineOperations-1.29.zip.
----------ERROR-------

C:\ProgramData\Amazon\SSM\InstanceData\i-02573cafcfEXAMPLE\document\orchestration\aaaaaaaa-bbbb-cccc-dddd-4f6ed6bd5514\

PatchWindows\_script.ps1 : An error occurred when executing PatchBaselineOperations: Unable to connect to the remote server

+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException

+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,_script.ps1

failed to run commands: exit status 4294967295

解決策: Amazon Simple Storage Service (Amazon S3) へのマネージドノードの接続とアクセス許可を確認します。マネージドノードの AWS Identity and Access Management (IAM) ロールに使用するのは、「SSM Agent と AWS マネージド S3 バケットとの通信」に挙げた最小限の許可である必要があります。ノードは、Amazon S3 ゲートウェイエンドポイント、NAT ゲートウェイ、またはインターネットゲートウェイを介して Amazon S3 エンドポイントと通信する必要があります。AWS Systems Manager SSM Agent (SSM Agent) の VPC エンドポイント要件の詳細については、「ステップ 2: VPC エンドポイントを作成する」を参照してください。

問題: パッチが見つからない

問題: AWS-RunPatchbaseline は正常に完了しましたが、一部のパッチが見つからない。

一般的な原因とその解決策を以下に示します。

原因 1: ベースラインが有効ではありません。

解決策 1: これが原因かどうかを確認するには、以下の手順を実行します。

  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Run Command] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開いた際、メニューアイコン ( 
    The menu icon
  ) を選択してナビゲーションペインを開き、[Run Command] を選択します。

  3. [Command history (コマンド履歴)] タブをクリックし、ベースラインをチェックするコマンドを選択します。

  4. パッチがないマネージドノードを選択します。

  5. [Step 1 - Output (ステップ 1 - 出力)] を選択し、BaselineId 値を見つけます。

  6. 割り当てられたパッチベースライン設定、つまり、パッチベースラインのオペレーティングシステム、製品名、分類、および重大度を確認します。

  7. [Microsoft Update Catalog] に移動します。

  8. Microsoft Knowledge Base (KB) の記事 ID (KB3216916 など) を検索します。

  9. [Product] (成果) の値がマネージドノードの値と一致することを確認し、対応する [Title] (タイトル) を選択します。新しい [Update Details (詳細を更新)] ウィンドウが開きます。

  10. [Overview (概要)] タブで、[classification (分類)]と [MSRC severity (MSRC の重大度)]は、前に見つけたパッチベースライン設定と一致する必要があります。

原因 2: パッチが置き換えられました。

解決策 2: これが本当かどうかを確認するには、以下の手順を実行します。

  1. [Microsoft Update Catalog] に移動します。

  2. Microsoft Knowledge Base (KB) の記事 ID (KB3216916 など) を検索します。

  3. [Product] (成果) の値がマネージドノードの値と一致することを確認し、対応する [Title] (タイトル) を選択します。新しい [Update Details (詳細を更新)] ウィンドウが開きます。

  4. [Package Details (パッケージの詳細)] タブに移動します。[This update has been replaced by the following updates: (この更新は次の更新に置き換えられました:)] ヘッダーの下でエントリを探します。

原因 3: WSUS と Window のオンライン更新プログラムは、Microsoft によって独立したリリースチャネルとして処理されるため、同じ修正プログラムの KB 番号が異なる可能性があります。

解決策 3: パッチの適格性を確認します。パッケージが WSUS で利用できない場合は、OS Build 14393.3115 をインストールします。パッケージがすべてのオペレーティングシステムビルドで利用できる場合は、OS Build 18362.1256 および 18363.1256 をインストールします。

に連絡するAWS Support

トラブルシューティングの解決策がこのセクションまたは AWS re:Postでの Systems Manager問題で見つからない、そして開発者、ビジネス、またはエンタープライズ AWS Support プランがある場合は、AWS Support で技術サポートケースを作成できます。

AWS Support に連絡する前に、以下の情報を収集します。

  • SSM Agent ログ

  • Run Command コマンド ID、メンテナンスウィンドウ ID、またはオートメーション実行 ID

  • Windows Server マネージドノードの場合では、以下も収集します。

    • パッチのインストール方法 Windows タブで説明されている %PROGRAMDATA%\Amazon\PatchBaselineOperations\Logs

    • Windows の更新ログ:Windows Server 2012 R2 以前の場合、%windir%/WindowsUpdate.log を使用してください。Windows Server 2016 以降の場合は、%windir%/WindowsUpdate.log を使用する前にまず PowerShell コマンド Get-WindowsUpdateLog を実行します

  • Linux マネージドノードの場合では、以下も収集します。

    • /var/lib/amazon/ssm/instance-id/document/orchestration/Run-Command-execution-id/awsrunShellScript/PatchLinux ディレクトリの内容。