COLUMN
Quick SetupでPatch Managerを設定しEC2を自動アップデートしてみた
こんにちは。クラウドエンジニアの奥野です。
EC2インスタンスの情報セキュリティ対策、きちんとできていますか?
OSのアップデートは欠かせないものですが、業務の都合で調整が必要だったり、夜間でなければインスタンスの再起動ができなかったり、そのための人員を手配したりと、なかなか対応が進まないことはありませんか?また、複数台のインスタンスを1台ずつ手動でアップデートしているなんてこともあるのではないでしょうか?
このコラムでは、AWS Systems ManagerのQuick Setupを利用してPatch Managerを設定し、EC2インスタンスのOSを定期的にアップデートする方法をご紹介します。
面倒なOSアップデート作業の負担を少しでも軽くするヒントとして、ぜひ参考にしていただければ幸いです。
1. 目的とゴール
1-1. 目的
- Quick Setupを利用したPatch Manager設定によるOSアップデート作業の自動化
- 運用担当者の負荷軽減
- セキュリティパッチ適用の迅速化
- パッチ適用状況の可視化
1-2. ゴール
- 定義したスケジュール(例:毎週日曜日の深夜)に従い、対象EC2インスタンスへ自動的にOSパッチのスキャンと適用
- パッチ適用結果の確認
2. 前提条件
- 対象の全EC2インスタンスにSSM Agentがインストールされ、正常に動作していること
- Systems Managerと通信するための適切なIAMロール(最低限 AmazonSSMManagedInstanceCore ポリシーを含む)がアタッチされていること
- 対象EC2インスタンスが、利用リージョンのSystems Managerエンドポイントと通信可能であること(インターネット経由またはVPCエンドポイント経由)
3. 設定の紹介(Quick Setup操作)
ここからは、本題である設定方法です。Quick Setupのウィザードに従って、パッチ適用のターゲットやスケジュールなどを定義していきます。
3-1. 操作画面表示
Systems Managerの左ペインからQuick Setup(高速セットアップ)を選択します。ライブラリが表示されたら「Patch Manager」の「作成」ボタンを選択します。
3-2. パッチポリシー名
パッチポリシーの作成画面を操作していきます。任意の名称を入力してください。
3-3. スキャンとインストール
ここでは、スキャンのみ行うのか、それともインストールも一緒に実施するのかを設定します。また、スケジュールを設定し、それぞれ実行することもできます。
今回は毎日10時にスキャンを実行し、毎日11時にインストールを実行するように設定していきます。
「最初のCRON間隔まで更新プログラムのインストールを待ちます」のチェックボックスは、設定した時間になったら更新したいので、チェックしておきます。
インストール後に再起動も一緒に実行したい場合は「必要に応じて再起動」のチェックボックスをチェックしてください。
3-4. パッチベースライン
どのパッチをOSに適用するかを定義するルールのセットを選択します。
AWSが推奨する設定となる「推奨される既定値を使用」か、自分自身でカスタマイズした設定の「カスタムパッチベースライン」のどちらかを選択します。
今回は「推奨される設定値を使用」を選択します。
3-5. ログストレージにパッチ適用
こちらはパッチ適用したログを記録するかの設定となります。ログを出力したい場合は「S3バケットに出力を書き込む」をチェックし、出力先のS3バケットを選択します。
注意:S3バケットへログを出力するにはポリシーを正しく設定してください。
3-6. ターゲット
設定しているポリシーを他のリージョンにも設定する場合は「リージョンを選択」を選択後、対象となるリージョンを選んでください。他のリージョンには設定しない場合は「現在のリージョン」を選択してください。
3-7. ターゲットノード
パッチを適用する対象について設定します。
対象選択 | 説明 |
---|---|
すべての管理対象ノード | リージョン内の全インスタンスを対象とします |
リソースグループを指定 | リソースグループを使ってインスタンスを指定します |
ノードタグを指定 | タグを使ってインスタンスを指定します |
手動 | 対象インスタンスを指定します |
今回は「ノードタグを指定」を選択して設定していきます。
こちらは、同じKeyと値が設定されたEC2インスタンスが対象となります。
3-8. レートの制御
同時にパッチを適用するインスタンス数や、エラー発生時に処理を中止するしきい値を定める設定です。これにより、安全かつ管理された方法でパッチ適用を進めることができます。今回はデフォルト値としておきます。
3-9. インスタンスプロファイルのオプション
パッチ適用やスキャンを実行する際に、インスタンスにアタッチされているIAMポリシーに対して、必要な権限を自動的に追加するかどうかを選択する設定です。
選択した場合、動作するために必要な権限が追加されます。選択しない場合は、既存のIAMポリシーに必要な権限が不足していると、パッチ適用やスキャンが失敗する可能性があります。
今回は選択して先に進みます。
3-10. デプロイロール
Quick Setup サービス自体が、ユーザーに代わって Patch Manager の設定や関連リソースを作成・設定するために使用する IAM ロールを指定する項目です。今回は「Quick Setup で管理されたロールを使用」を選択して先に進みます。
これで設定は完了です。
4. 動作確認
設定が完了したら、動作確認をしてみましょう。
動作確認用に設定した設定値はこちらです。
4-1. EC2の準備
パッチを適用したい、対象となるEC2にタグを追加します。
4-2. 確認操作
設定した時間が経過したら状態を確認してみます。
Systems Managerのパッチマネージャーのコンプライアンスレポートを確認してみます。対象となるインスタンスが、パッチベースラインの基準を満たさない「非準拠 (Non-Compliant)」から、基準を満たす「準拠 (Compliant)」へ変わっていれば、パッチが適用されています。
まずは、Systems ManagerのRun Commandのコマンド履歴を確認してみます。
対象のインスタンスに対して設定した時間にPatch Managerに関連する「AWS-RunPatchBaseline」が動いていて「成功」となっているかと思います。
OSのコマンドでも、パッチの適用状況を確認してみましょう。今回は、Amazon Linux 2023で確認した内容を共有いたします。
どのようなパッケージがアップデートされたのか、下記コマンドを実行して確認してみます。
rpm -qa --last
コマンドを実行すると、パッケージリストをインストール日時順で表示してくれます。もっと詳細な実行結果を知りたい場合は、/var/log/dnf.log や、/var/log/dnf.rpm.log を確認してみてください。
# rpm -qa --last
python3-jinja2-2.11.3-1.amzn2023.0.6.noarch Mon Apr 14 01:17:12 2025
libxml2-2.10.4-1.amzn2023.0.9.x86_64 Mon Apr 14 01:17:10 2025
libcap-2.48-2.amzn2023.0.4.x86_64 Mon Apr 14 01:17:09 2025
kernel-tools-6.1.131-143.221.amzn2023.x86_64 Mon Apr 14 01:17:07 2025
kernel-libbpf-6.1.131-143.221.amzn2023.x86_64 Mon Apr 14 01:17:06 2025
kernel-6.1.131-143.221.amzn2023.x86_64 Mon Apr 14 01:16:44 2025
jq-1.7.1-49.amzn2023.0.2.x86_64 Mon Apr 14 01:16:38 2025
bind-utils-9.18.33-1.amzn2023.0.2.x86_64 Mon Apr 14 01:16:35 2025
bind-license-9.18.33-1.amzn2023.0.2.noarch Mon Apr 14 01:16:35 2025
bind-libs-9.18.33-1.amzn2023.0.2.x86_64 Mon Apr 14 01:16:35 2025
amazon-cloudwatch-agent-1.300052.1-1.amzn2023.x86_64 Mon Apr 14 01:16:32 2025
system-release-2023.7.20250331-0.amzn2023.noarch Mon Apr 14 01:16:04 2025
続いてパッチ適用後に再起動が行われたのかも確認してみます。
下記コマンドを実行して確認してみます。
uptime -s
コマンドを実行すると、最後にいつ起動したのかが確認できます。
# uptime -s
2025-04-14 01:18:42
これで、パッチも適用されていて、再起動も実施されたことが確認できたかと思います。
5. まとめ
Quick SetupでPatch Managerの設定を容易にし、EC2インスタンスのOSアップデート自動化による手作業の大幅削減を実現しましょう。
前提条件の整備と、業務に合わせた適切なスケジュール設定によって、情報セキュリティと効率性は両立可能です。ぜひ、このアプローチを皆さんの環境で試してみてください。
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
RECOMMEND
その他のコラム
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。