AWS Systems Manager Run Command 履歴の見方を調べてみた ~Quick Setup 経由で、どのパッチベースラインが適用されたかわからない編~
こんにちは。
お肌のシワは人生のバイナリログ
オペレーション部のかわけんです。
早速行ってみましょう↓
困っていた内容
AWS Systems Manager Quick Setup からパッチポリシーを使用しパッチ適用を実施すると、Run Command の実行履歴の ID がランダムな値で出力されます。
複数のパッチポリシーを運用していると、Run Command 履歴に大量の「AWS-RunPatchBaseline」が表示され、一覧からはどの実行がどのパッチポリシーかが分からない状況でした。
何が起きてるの?
ランダムな ID が生成されるのは AWS の仕様となります。
公式ドキュメントの「パッチポリシー操作におけるランダムパッチベースライン ID」に記載があるように、パッチポリシーを使った場合は以下のような動作になります。[1]
(Run Command ツールを使用して) Quick Setup がパッチ適用操作機能を実行するたびに、システムはパッチベースラインごとにランダム ID を生成します。この ID はパッチポリシーのパッチ適用操作ごとに異なり、この ID の示すパッチベースラインが、アカウントに保存されたりアクセスされたりすることはありません。
そのため、設定で選択したパッチベースラインの ID はパッチ適用ログに表示されません。これは、AWS のマネージドパッチベースラインと選択したカスタムパッチベースラインの両方に当てはまります。代わりに、ログに記録されるベースライン ID は、その特定のパッチ適用操作で生成されたベースライン ID です。
上記からも、Quick Setup で選択したベースラインのIDは実行ログには表示されません。
つまり実行結果のログだけを見ても、どのパッチポリシーが使われたかは判別できないようになっています。
でも大丈夫✌️
これは、Run Command から「Resource Code」を調べることで、どの Patch Manager 設定が適用されたかを確認できます。
方法1【コマンドパラメータから確認】
-
Run Command 履歴から、確認したいコマンドをクリック
-
「コマンドのパラメータ」を確認
-
BaselineOverride 部分を確認
この赤枠部分の gwdi8 が Resource code です。
方法2【実行ログから確認】
Run Command コマンド履歴の詳細ログにも同じ情報があります。
方法1と同様に、確認したいコマンド履歴からログを確認します。
09/12/2025 02:09:12 root [INFO]: Downloading Baseline Override from s3://aws-quicksetup-patchpolicy-123456789012-gwdi8/baseline_overrides.json
後半部分の「gwdi8」が Resouce Code です。
Resource Code がわかったら・・・
Resource code(今回は gwdi8 )がわかったら、Quick Setup コンソールにアクセスします。
Resource code が gwdi8 の設定を特定します。
ちなみに
この Resource Code は S3 バケット名にも使用されているので、S3 バケットからログを確認することも可能です。[2]
まとめ
Run Commandのパラメータを見るだけで、どのパッチポリシーが適用されたかがすぐにわかります。
特に複数のパッチポリシーを運用している場合は、この方法を覚えておくと地味に役立つかもしれません。
参考資料
[1] パッチポリシー操作におけるランダムパッチベースライン ID
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/quick-setup-patch-manager.html#qs-patch-baselines-and-compliance
[2] パッチポリシー S3 バケットの許可
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/quick-setup-patch-manager.html#patch-policy-s3-bucket-permissions
パッチポリシーを作成すると、Quick Setup は baseline_overrides.json という名前のファイルを含む Amazon S3 バケットを作成します。このファイルには、パッチポリシー用に指定したパッチベースラインに関する情報が保存されます。
S3 バケットの名前は、aws-quicksetup-patchpolicy-account-id-quick-setup-configuration-id の形式で付けられます。
例: aws-quicksetup-patchpolicy-123456789012-abcde