AWS Systems Manager によるフリート管理 - パッチ適用・インベントリ・ Run Command の自動化

Patch Manager でパッチ適用を自動化し、Run Command でリモート操作を効率化する。Session Manager による SSH 不要のシェルアクセスも紹介します。

Systems Manager の主要機能

Systems ManagerEC2 インスタンスとオンプレミスサーバーの運用管理を統合するサービスです。SSM Agent がインストールされたインスタンスをマネージドノードとして管理し、パッチ適用、コマンド実行、セッション接続、インベントリ収集、パラメータ管理などの機能を提供します。SSM Agent は Amazon Linux 2、Amazon Linux 2023、Ubuntu、Windows Server の AMI にプリインストールされています。Systems Manager 自体の利用料金は無料で、EC2 インスタンスの料金のみが発生します。

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 に自動記録され、誰がいつどのコマンドを実行したかを監査できます。 Systems Manager に関する詳しい解説はAmazon の関連書籍でも確認できます。

Systems Manager の料金

Systems Manager の主要機能 (Patch Manager、Run Command、Session Manager、Inventory) は無料で利用できます。SSM Agent のインストールと実行にも追加料金は発生しません。コストが発生するのは、Advanced パラメータ (Parameter Store の 8 KB 超パラメータ、月額約 0.05 ドル/パラメータ)、OpsCenter の OpsItem (1,000 件あたり約 2.97 ドル)、Change Manager の変更リクエスト (1,000 件あたり約 0.326 ドル) などの高度な機能のみです。EC2 を運用するすべての環境で、無料の基本機能を有効化しない理由はありません。

まとめ

Systems Manager は EC2 フリートの運用管理を統合・自動化するサービスです。Patch Manager でパッチ適用を自動化し、Run Command でリモート操作を効率化し、Session Manager で安全なシェルアクセスを提供します。無料で利用でき、EC2 を運用するすべての環境で導入を推奨します。