パッチの自動的にはSystems Managerのパッチマネージャを使えば良いですが、再起動のタイミングコントロールが難しいです。
→ と思ったら、2023年3月~4月にかけて、パッチマネージャの再起動時間を指定するオプションが追加されていました。調べる限り、StateManger関連付け「AWS-InstanceRebootWithHooks」を利用しているようです。

けど、以下を見る限り、同時スロットの調整は出来ないんですよね。
本記事では任意タイミングで、一気にパッチを適用したい為の、StateManger関連付け構築をご紹介します。

前置き長かったですが、以下目次です。
作成していきます。
AWS Systems Managersのステータスマネージャから「関連付けの作成」を行います。

2つ作ります。
- Install用
- 再起動用
※これらを組み合わせたものがパッチマネージャになるため、今回の対応はよりローレベルな対応となります(その分、きめ細かいことが出来る)。
AWS-RunPatchBaseline
まずはパッチのスキャン&インストールを行うための関連付けの作成です。
以下、抜粋しながら手順書いていきます。
◇ドキュメントを選択してOperationに「Install」を選択します。

◇Reboot Optionに「NoReboot」を選択し、ターゲットは選択していきます。
タグ指定や手動指定などが可能です。

◇スケジュールを設定します。
色々な方法がありますが、任意日時としたい場合は次のようにします。
at(2023-04-20T04:00:00)
この場合だと、4月20日の4時(JSTだと13時)に実行です。

◇同時実行レートは問題なければ、100%指定のほうがわかりやすいと思いました。
※他の設定は特に変更せず(変更しても良い)。
・・・と、こんな感じでスキャン&インストールの関連付け作成は完成です。設定タイミングで動きます。実行の様子はステートマネージャから確認しつつ、run commandの実行履歴より詳しいログが見れます。

AWS-InstanceRebootWithHooks

ちょっと待って、普通の再起動とは違うの?

ちょっと違う。
こちらの関連付けによる再起動は、該当マシンのパッチ適用状態を調べて、再起動が必要な状態であれば、再起動を実施してくれるようです。
先ほどのパッチインストールのように作成していきます。
◇ドキュメントを選択してターゲットを設定

※パラメーターは特に変更せず。
続いてのスケジュール設定は先ほどのインストールと同等に設定します。試してないですが、パッチ適用が完了する前に動いた場合、再起動はスキップされると思われます。
→ そのため、パッチが適用完了になると思われる数時間先を設定しておきましょう。
最後に
以上の設定で、
- 任意タイミングでスキャン&パッチ適用が動作し、
- 任意タイミングで再起動が発生
するようになります。
本当はパッチマネージャでもっと細かいオプション指定が出来れば良いのですが、代表的な需要だけを載せているのでしょうか。仕方ないです。

1点関連で補足させてください。
そうそう、パッチベースラインはデフォルトのものが適用されます。けど、デフォルトのものは「自動承認から7日間待機」であるため、適用のタイミングによっては注意が必要です。
例えば…、4月10日に4月向けWindows累積セキュリティパッチがリリースされたとします。4月10日~17日はスキャンしても累積セキュリティパッチは適用されません。リリース段階でAWS側によって差し替えが発生するため、前回の3月向けWindows累積セキュリティパッチが適用される、とかは無いです。注意しましょう。

最後までご覧いただきありがとうございました!
コメント