AWS PatchManagerでパッチ適用の自動化を設定してみる

AWS PatchManagerとは

名の通りAWS上に存在するEC2インスタンスのOSパッチを管理するマネージドサービスです。
当サービスを用いることで、OSパッチの定期適用を自動化できます。

パッチベースライン

パッチベースラインとは

適用パッチ種別選定・承認ルールを管理する機能です。
製品種別および分類・重要度、リリースから何日でパッチを承認するか等が定義可能です。
※AWSで事前定義されているものもありますが、要件事に細かく設定したい場合、個別にベースラインを定義する必要があります。

[Systems Manger]-[パッチマネージャー]より、[パッチベースライン]タブ-[パッチベースラインの作成]にて作成が可能です。

パッチベースライン設定の一例

今回は例としてWindows Serverのパッチ適用承認ルールを設定してみます。

パッチベースライン作成画面より、オペレーティングシステムを「Windows」に設定します。

承認ルールについては、以下の項目を設定します。

■製品
パッチを承認する対象のWindows製品を指定します。
今回は個別の製品指定は無いので「All」を選択します。

■分類
承認するパッチの種類(セキュリティアップデート,機能アップデート等)を指定します。
今回は重要なアップデートのみ適用とするため、「CriticalUpdate」「SecurityUpdate」を指定します。

■重要度
承認するパッチのSeverityを指定します。
今回は「Critical」「Important」を指定します。

■自動承認
パッチがリリースされてから承認するまでの期間を指定します。
リリースされたパッチに不具合がある場合等にそなえて、リリースからある程度期間を持たせたい場合、本項目を定義します。
今回はリリースされてから2週間経ったものを許可する設定とし「14日間」を指定します。
※リリースされたものをそのまま承認する場合は「0日間」と定義します。

■パッチの例外
本セクションでは上記承認ルールに関わらず、強制的に適用するパッチ/拒否するパッチを指定可能です。
拒否されたパッチは、別パッケージと依存関係がある場合のみインストール/依存関係の有無に関わらず拒否の2つのアクションが設定可能です。

パッチポリシー

パッチポリシーとは

パッチのスキャンおよびインストールのスケジュール、適用対象のインスタンスを定義します。
個別に定義もしくは規定のパッチベースラインにて承認されたパッチが適用対象となります。

[Systems Manger]-[パッチマネージャー]より、[パッチポリシーの作成]にて作成が可能です。

※以前は「パッチグループ」というものを定義し、それに則ってスケジュール/適用を行う仕様となっていましたが、現在はパッチポリシーによる適用が推奨されています。

パッチポリシー設定の一例

上記で定義したWindowsServer用パッチベースラインを用いてパッチポリシーの設定をしてみます。

以下の項目を設定します。

■スキャンのスケジュール
パッチのスキャンスケジュールです。
毎月第3土曜の3:00にパッチスキャンが実行されるようcron式でスケジュール(UTC)します。

■インストールスケジュール
パッチインストールのスケジュールです。
毎月第3土曜の4:00にパッチインストールが実行されるようcron式でスケジュール(UTC)します。

それぞれcronで定義したスケジュールにて初めて処理が実行されるようにしたいため、
「最初の CRON 間隔までターゲットのスキャンを待ちます。」の項目にチェックを入れます。

また、適用後にパッチの反映まで完了させたいため、「必要に応じて再起動」にチェックを入れます。

■パッチベースライン
先ほど作成したパッチベースラインのルールを適用させるため、Windows Serverのベースラインを「カスタムベースライン」より作成したベースラインにて設定します。

■ログストレージにパッチ適用
S3にパッチ適用時の実行ログを書き込む場合はチェックを入れます。
今回は特に不要のため、チェックは外します。

■ターゲットノード
全てもしくは、リソースグループ・タグ、手動でのインスタンス指定が可能です。
今回は「OS」タグに「Windows」の値が設定されている対象を適用対象とするため、[ノードタグを指定]より、所定のタグ/値を指定します。

「インスタンスプロファイルのオプション」にて「必要な IAM ポリシーを、インスタンスにアタッチされている既存のインスタンスプロファイルに追加します。」にチェックを入れ、画面下部より[作成]を押下します。

設定が完了すると、Systems Mangerの「Quick Setup」にて設定されます。
ポリシーの編集/削除を実施する場合、[高速セットアップ]より対象のポリシーを選択し、任意の操作を選択します。

結果確認

実際にパッチ適用動作が実行されているか/適用成功しているかは、[パッチマネージャ]-[コンプライアンスレポート]タグより確認することができます。

また、[詳細を表示]でパッチ毎のインストール状況を確認することができます。

投稿者プロフィール

taro