AWS Systems ManagerでAWS-RunPatchBaselineをRun Commandで実行して、Windowsインスタンスにパッチを適用する
以前の記事にあるように、EC2 WindowsインスタンスをAWS Systems Manager(SSM)のマネージドインスタンスとして登録してあるのを前提とします。
本記事では、このWindowsのマネージドインスタンスにSSMのRun CommandでAWS-RunPatchBaselineを実行してみます。
AWS-RunPatchBaselineでは引数として、ScanまたはInstallを選べます。
SSM ドキュメント AWS-RunPatchBaseline について - AWS Systems Manager
ですので、最初にScanを実行して、適用すべきパッチを確認した後で、Installを実行してみます。
AWS-RunPatchBaselineのScanの実行
SSMの画面で、Run Commandの画面を開いて、コマンドの実行を選択します。
続いて、検索条件に「ドキュメントのプレフィックス名」で「等しい」でAWS-RunPatchBaselineを入力して、ドキュメントをフィルターします。表示されたAWS-RunPatchBaselineを選択します。
同じ画面で、続いてターゲットインスタンスを指定します。
さらに同じ画面で、コマンドのパラメータでScanを選択して、
実行を選択します。
その後、進行中のステータスが表示されます。
その後、実行が成功し、実行ターゲットであったマネージドインスタンスのリンクを開いてみると以下のように今回のAWS-RunPatchBaselineのコマンドの実行結果が表示されます。
こちらのスクリーンショットの画面上部にあるプラグイン名 PatchLinuxのコマンドはステータスが成功にはなっていますが、出力を見ると、
Step execution skipped due to incompatible platform. Step name: PatchLinux
と表示され、Linuxのpatch適用はskipされたことがわかります。今回のターゲットはWindowsインスタンスのためです。
出力2を確認してみます。
Scan found the following updates missing: KB4093120
KB4093120のアップデートが不足しているようです。
記事執筆時点では、2018年5月2日ですが、2018年4月18日時点で出ている以下の修正が必要なようです。
https://support.microsoft.com/ja-jp/help/4093120/windows-10-update-kb4093120
AWS-RunPatchBaselineでInstallを実行してみる。
上記アップデートを実行してみます。
Scan時同様に、AWS Systems ManagerのRun Command画面でコマンドの実行を選択し、AWS-RunPatchBaselineのドキュメントを選択し、ターゲットのインスタンスも同様に選択します。そのうえでコマンドのパラメータはInstallを選択します。
Installの実行開始後、しばらくアップデートに時間がかかり、その間はステータスが進行中になっています。実行が完了して、成功すると、以下のように表示されます。
同じ画面でターゲットのインスタンスのリンクをクリックして
実際のInstallの実行結果を確認します。
KB4093120 Yes Success
インストールが問題なく実行完了できたことがわかりました。