Patch Manager を使用して EC2 Windows インスタンスでパッチ適用オペレーションが成功した後、不足している KB パッチのトラブルシューティングを行う方法を教えてください。

所要時間2分
0

AWS Systems Manager の機能である Patch Manager を使用して、Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスで不足しているパッチのトラブルシューティングを行実行したいです。

簡単な説明

次の事例は、パッチが見つからない 場合の最も一般的な理由です。

  • パッチがインスタンスOSタイプに適用されない。
  • Microsoft Knowledge Base (KB) パッケージの詳細がベースライン構成と一致しない。
  • 後続のパッチがすでにリリースされている。
  • パッチがWindows Server Update Services (WSUS) リリースチャネルで利用できない。
  • 既にインスタンスにパッチがインストールされている。

解決方法

このパッチは、インスタンス OS タイプには適用できません

インスタンスにパッチを適用可能かどうかを確認するには、次の手順を実行してください。

  1. Windows Update カタログを開きます。
  2. Microsoft KB 記事の ID を検索するには、パッチ ID を使用します。パッチ ID の例: KB3216916
  3. [製品] で、値がマネージドノードの値と一致しているかどうかを確認します。
  4. 管理対象ノードの製品名は、[システム設定] (Microsoft Web サイト) で確認できます。

KB パッケージの詳細がベースラインの構成と一致しません

KB 分類、重大度、およびリリース日がベースライン構成と一致しているかどうかを確認するには、以下の手順を実行します。

  1. AWS Systems Manager コンソールを開きます。
  2. ナビゲーションペインの [ノード管理] で、[実行コマンド] を選択します。
  3. [コマンド履歴] タブを選択します。
  4. パッチ適用用の [コマンド ID] を選択して、マネージドノードを選択します。
  5. [出力] を選択して [ベースライン] パラメータの設定を確認します。

分類、重大度、および承認の遅延日は、Microsoft Update カタログのパッケージの詳細と一致する必要があります。デフォルトのパッチベースラインを使用しており、パッチ分類が基準と異なる場合は、カスタムパッチベースラインを作成する必要があります。

次のいずれかの方法で特定の KB がパッチベースラインで承認されているかどうかを確認できます。

**注:**次のコマンドを実行するには、最新の AWS コマンドラインインターフェイス (AWS CLI)AWS Tools for PowerShell をローカルマシンまたは EC2 インスタンスにインストールします。

パッチベースラインに関する効果的なパッチの説明 AWS CLI コマンド

特定の KB がパッチベースラインで承認されているかどうかを確認するには、describe-effective-patches-for-patch-baseline を実行します。

以下は、KB2124261 がパッチベースライン pb-abdce123456789fgh で承認されているかどうかを確認するコマンドの例です。

aws ssm describe-effective-patches-for-patch-baseline --baseline-id pb-abdce123456789fgh --query "EffectivePatches[][Patch][?KbNumber=='KB2124261'][]"

GetDeployablePatchSnapshotForInstance API

GetDeployablePatchSnapshotForInstance API を使用してスナップショットを生成するコマンドの例です。以下は、スナップショット ファイルをデスクトップにダウンロードする PowerShell コマンドの例です。

: アタッチされた IAM インスタンスプロファイルから取得した認証情報を用いて、ターゲット EC2 インスタンスから次の PowerShell コマンドを実行します。IAM インスタンスプロファイルが、アタッチされたターゲット EC2 インスタンスからのコマンドを実行しない場合、無効なトークンリクエストエラーが表示される場合があります。

$instanceId = Invoke-WebRequest -Uri http://169.254.169.254/latest/meta-data/instance-id
$snap = Get-SSMDeployablePatchSnapshotForInstance -SnapshotId '521c3536-930c-4aa9-950e-01234567abcd' -InstanceId $instanceId -Verbose
(New-Object Net.WebClient).DownloadFile($snap.SnapshotDownloadUrl, "$env:UserProfile\Desktop\01-snapshot.json")

**注:**スナップショット ID は任意の GUID と置き換えることができます。New-GUID コマンドを使用して、PowerShell からスナップショット ID の置換を生成します。

後のパッチはすでにリリースされています

次の手順を実行すると、新しいパッチがリリースされているかどうかを確認できます。

  1. Windows Update カタログを開きます。
  2. Microsoft KB 記事の ID を検索するには、パッチ ID を使用します。パッチ ID の例: KB5015808
  3. [製品] で、値がマネージドノードの値と一致しているかどうかを確認します。次に、対応するタイトルを選択して、新規に [アップデートの詳細] ウィンドウを開きます。
  4. [パッケージの詳細] タブを選択します。次に、[このアップデートは次のアップデートに置き換えられました] に、新しいパッチがあるかどうかを確認します。

この更新プログラムを WSUS リリースチャネル内で利用することはできません

パッチマネージャーは、Microsoft Windows OS 上で、マイクロソフトが Microsoft Update で発行して WSUS で自動的に利用可能になっている、利用可能な更新プログラムの一覧を取得します。パッチが WSUS リリースチャネル内で使用できないとき、パッチマネージャーがその特定のパッチを選択することはありません。

パッチの利用可能性を確認するには、以下の手順を実行します。

  1. Windows Update カタログを開きます。
  2. Microsoft KB 記事の ID を検索するには、パッチ ID を使用します。パッチ ID の例: KB5015808
  3. **[詳細情報]**で、サポート記事を選択します。たとえば、2022 年 7 月 12 日 - KB5015808 (OS ビルド 14393.5246) を参照することができます。
  4. Microsoft のサポート記事で、[リリースチャネル] セクションを参照することもできます。次に、アップデートプログラムが Windows Server Update Services (WSUS) リリースチャネルで利用可能かどうかを確認します。

既にインスタンスにパッチがインストールされた状態です

パッチは、手動によるパッチ適用などでインスタンスにすでにインストール済みである可能性があります。次のいずれかの方法で、パッチがインスタンスにインストール済みであることを確認できます。

Windows Update OS のログ

インストール済みの更新プログラムの一覧は、Get-Hotfix コマンドまたは PSWindowsUpdate モジュールを使用することで取得できます。以下のコマンド例では PSWindowsUpdate モジュールを使用しています。このコマンドは、デスクトップに、WindowsUpdates.txt ファイルをダウンロードします。

Install-Module PSWindowsUpdate
Get-WUHistory | ForEach-Object { new-object psobject -Property @{Date = $_.Date; KB = $_.KB; Title = ($_ | Select-Object -ExpandProperty Title) } } | Out-File $env:UserProfile\Desktop\WindowsUpdates.txt

フリートマネージャーコンソール

AWS Systems Manager の機能であるフリートマネージャーを使用することで、パッチがインスタンスにすでにインストールされているかどうかを確認できます。フリートマネージャーコンソールを使用するには、以下の手順を実行してください。

  1. AWS Systems Manager コンソールを開きます。
  2. ナビゲーションペインで、[フリートマネージャー] を選択します。
  3. マネージドノードを選択し、[ノードの概要] を選択します。
  4. [パッチ] で、見つからない KB を検索します。

describe-instance-patches AWS CLI コマンド

パッチがプログラムによってインストールされているかどうかを確認するには、describe-instance-patches コマンドを実行します。

以下は、KB4521862 を検索しているAWS CLI コマンドの例です。

aws ssm describe-instance-patches --instance-id "i-0b806abcdef12345" --filters "Key=KBId,Values=KB4521862"
AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ