AWS Systems Manager によるフリート管理 - パッチ適用・インベントリ・Run Command の自動化
Systems Manager による EC2 フリートのパッチ管理、インベントリ収集、Run Command によるリモート操作の自動化を解説します。
Systems Manager の主要機能
Systems Manager は EC2 インスタンスとオンプレミスサーバーの運用管理を統合するサービスです。SSM Agent がインストールされたインスタンスをマネージドノードとして管理し、パッチ適用、コマンド実行、セッション接続、インベントリ収集、パラメータ管理などの機能を提供します。SSM Agent は Amazon Linux 2、Amazon Linux 2023、Ubuntu、Windows Server の AMI にプリインストールされています。Systems Manager 自体の利用料金は無料で、EC2 インスタンスの料金のみが発生します。
この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
Patch Manager によるパッチ管理
Patch Manager は OS とアプリケーションのパッチ適用を自動化します。パッチベースラインで適用するパッチの分類 (セキュリティ、バグ修正、機能強化) と重要度 (Critical、Important、Medium、Low) を定義し、承認ルール (リリース後 7 日で自動承認など) を設定します。メンテナンスウィンドウでパッチ適用のスケジュール (毎週日曜 2:00 AM など) を定義し、業務時間外に自動実行します。パッチコンプライアンスダッシュボードでフリート全体のパッチ適用状況を一覧でき、未適用のインスタンスを特定できます。パッチ適用前にスナップショットを自動取得する設定も可能で、パッチ適用後の問題発生時にロールバックできます。
Run Command と Session Manager
Run Command は SSM ドキュメント (定義済みのコマンドセット) をマネージドノードにリモート実行する機能です。AWS-RunShellScript でシェルコマンドを実行し、AWS-RunPowerShellScript で PowerShell コマンドを実行します。ターゲットはタグ、リソースグループ、手動選択で指定でき、数千台のインスタンスに同時にコマンドを送信できます。Session Manager はブラウザベースのシェルアクセスを提供し、SSH キーの管理やセキュリティグループでの SSH ポート開放が不要になります。セッションのログは S3 や CloudWatch Logs に自動記録され、誰がいつどのコマンドを実行したかを監査できます。
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。
まとめ
Systems Manager は EC2 フリートの運用管理を統合・自動化するサービスです。Patch Manager でパッチ適用を自動化し、Run Command でリモート操作を効率化し、Session Manager で安全なシェルアクセスを提供します。無料で利用でき、EC2 を運用するすべての環境で導入を推奨します。
AWS の優位点
- Patch Manager で OS とアプリケーションのパッチ適用をスケジュール化し、パッチベースラインでインストールするパッチを制御できる
- Run Command で数千台の EC2 インスタンスにリモートでコマンドを実行でき、SSH 接続なしでサーバーを操作できる
- Session Manager でブラウザベースのシェルアクセスを提供し、SSH ポートを開放せずにインスタンスに接続できる
- Inventory でインスタンスのソフトウェア、ネットワーク設定、Windows レジストリを自動収集し、フリート全体の構成を可視化できる
- Automation ランブックで複数ステップの運用タスク (AMI 作成、インスタンス再起動、パッチ適用) を定義し、承認フロー付きで自動実行できる