AWS Systems Manager の機能の 1 つである Patch Manager が、Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスでパッチ適用操作を実行しました。しかし、EC2 インスタンスにパッチが見つかりません。
簡単な説明
次の理由により、Windows インスタンスのパッチが適用されていない可能性があります。
- このパッチは、インスタンスのオペレーティングシステム (OS) タイプには適用されません。
- Microsoft Knowledge Base (KB) パッケージの詳細がベースライン構成と一致しない。
- 後続のパッチがすでにリリースされている。
- パッチが Windows Server Update Services (WSUS) リリースチャネルで利用できない。
- 既にインスタンスにパッチがインストールされている。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI のエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。AWS Tools for PowerShell がローカルマシンまたはインスタンスにインストールされていることを確認します。
パッチがインスタンス OS タイプに適用可能かどうかを確認する
次の手順を実行します。
- マネージドノードの OS を確認するには、Microsoft のウェブサイトの「Windows デバイスに関する情報を見つける」を参照してください。
- Microsoft のウェブサイトで Microsoft Update カタログを開きます。
- 検索バーにパッチ ID を入力して、Microsoft KB 記事 ID を検索します。
- [製品] で、ノードの OS を確認します。すべてのパッチがすべての OS に適用されるわけではありません。
KB 分類、重大度、およびリリース日がベースライン構成と一致しているかどうかを確認する
次の手順を実行して、KB パッケージの詳細を確認します。
- AWS Systems Manager コンソールを開きます。
- ナビゲーションペインで [コマンドの実行] をクリックします。
- [コマンド履歴] タブをクリックします。
- AWS-RunPatchBaseline オペレーションのコマンド ID を選択し、次にマネージドノードを選択します。
- [出力] をクリックして、[ベースライン] パラメータの設定を確認します。
分類、重大度、および承認の遅延日は、Microsoft のウェブサイトのMicrosoft Update カタログのパッケージの詳細と一致している必要があります。デフォルトのパッチベースラインを使用しており、パッチ分類が基準と異なる場合は、カスタムパッチベースラインを作成する必要があります。
Patch Manager が特定の KB を承認したかどうかを確認するには、次の AWS CLI コマンド describe-effective-patches-for-patch-baseline を実行します。
aws ssm describe-effective-patches-for-patch-baseline --baseline-id pb-abdce123456789fgh --query "EffectivePatches[][Patch][?KbNumber=='KB1234567'][]"
注: KB1234567 を実際の KB 番号に、pb-abdce123456789fgh をパッチベースライン ID に置き換えてください。
最新のパッチが既にリリースされているかどうかを確認する
次の手順を実行します。
- Microsoft のウェブサイトで Microsoft Update カタログを開きます。
- 検索バーにパッチ ID を入力して、Microsoft KB 記事 ID を検索します。
- マネージドノードの OS の [製品] で [タイトル] を選択し、[更新の詳細] ウィンドウを開きます。
- [パッケージの詳細] タブをクリックします。
- [このアップデートは次のアップデートに置き換えられました] に、新しいパッチがあるかどうかを確認します。最新のパッチがある場合は、手動でインストールできます。または、Systems Manager がパッチリストにパッチを追加した後に Patch Manager によって自動的にインストールされるまで待ってください。
パッチが WSUS リリースチャネルで入手可能かどうかを確認する
Windows OS の場合、Patch Manager は、Microsoft によって Microsoft Update に発行され WSUS で自動的に利用可能になっている、利用可能な更新プログラムの一覧を取得します。パッチが WSUS リリースチャネル内で利用できない場合、Patch Manager はそのパッチを使用しません。
パッチの利用可能性を確認するには、以下の手順を実行します。
- Microsoft のウェブサイトで Microsoft Update カタログを開きます。
- 検索バーにパッチ ID を入力して、Microsoft KB 記事 ID を検索します。
- [詳細情報] で、サポート記事を選択します。例については、Microsoft のウェブサイトの「2022 年 7 月 12 日 — KB5015808 (OS ビルド 14393.5246) - EXPIRED」を参照してください。
- Microsoft のサポート記事の「この更新プログラムのインストール」で、「リリースチャネル」を確認してください。Windows Server Update Services (WSUS) の [利用可能] 列が [はい] になっていることを確認します。WSUS からパッチを入手できない場合は、別のチャネルを使用して更新プログラムをダウンロードしてインストールする必要があります。
インスタンスにパッチを既にインストールしているかどうかを確認する
インスタンスにすでに手動でパッチをインストールしている場合、Patch Manager を使用してパッチを更新することはできません。
次のいずれかの方法で、パッチがインスタンスにインストール済みであるかどうかを確認できます。
Windows Update OS のログを確認する
インストールされている更新プログラムの一覧を取得するには、Get-Hotfix PowerShell コマンドまたは PSWindowsUpdate モジュールを使用します。
次のコマンド例では、PSWindowsUpdate モジュールを使用して WindowsUpdates.txt ファイルをデスクトップにダウンロードします。
Install-Module PSWindowsUpdateGet-WUHistory | ForEach-Object { new-object psobject -Property @{Date = $_.Date; KB = $_.KB; Title = ($_ | Select-Object -ExpandProperty Title) } } | Out-File $env:UserProfile\Desktop\WindowsUpdates.txt
Get-Hotfix コマンドの詳細については、Microsoft のウェブサイトの「Get-Hotfix」を参照してください。
Fleet Manager コンソールを確認する
次のステップを実行して、AWS Systems Manager の機能の 1 つである Fleet Manager を使用して、インスタンスにパッチが既にインストールされているかどうかを確認します。
- Systems Manager コンソールを開きます。
- ナビゲーションペインで [Fleet Manager] をクリックします。
- マネージドノードを選択し、[ノードの概要] をクリックします。
- [パッチ] で、パッチ ID を検索します。
describe-instance-patches コマンドを実行する
インスタンスにログインせずにパッチがインストールされているかどうかを確認するには、次の describe-instance-patches コマンドを実行します。
aws ssm describe-instance-patches --instance-id "i-12345abcdef12345" --filters "Key=KBId,Values=KB1234567"
注: i-12345abcdef12345 を実際のインスタンス ID に、KB1234567 をパッチ ID に置き換えてください。