AWS Systems ManagerによるEC2運用自動化|Session Manager・Run Command・Patch Managerの実践

AWS Systems ManagerによるEC2運用自動化|SSM Session Manager・Patch Manager・Run Commandの実践
「EC2にSSHで入らずにコマンドを実行したい」「OSのパッチ適用を自動化したい」——AWS Systems ManagerのSession Manager・Run Command・Patch Manager・パラメータストアを使ったEC2運用自動化を解説します。
💡 Systems ManagerはEC2のSSH不要化・パッチ適用自動化・設定管理の3つを実現するAWSの運用効率化サービス。SSHアクセスキーの管理が不要になりセキュリティリスクも大幅に下がります。
1. Session Manager:SSHなしでEC2に接続
Session ManagerはAWS Systems Manager経由でEC2インスタンスにブラウザまたはAWS CLIからアクセスするサービスです。SSHポート(22番)を一切開けずにEC2に接続できるため、セキュリティグループの設定がシンプルになります。接続にはEC2インスタンスにSSMエージェントのインストールとIAMロールの設定が必要です。
2. Run CommandでEC2を一括操作
# Run CommandでNginxを一括再起動(タグで対象EC2を指定)
aws ssm send-command \
--document-name "AWS-RunShellScript" \
--parameters "commands=["sudo systemctl restart nginx"]" \
--targets "Key=tag:Environment,Values=production" \
--region ap-northeast-1
# 実行結果の確認
aws ssm list-command-invocations \
--command-id "COMMAND-ID" \
--detailsRun Commandを使えば「productionタグが付いた全EC2インスタンスで同時にNginxを再起動する」という操作がコマンド1行で実行できます。
3. Patch Managerで自動パッチ適用
- パッチベースラインの定義:「セキュリティパッチは自動適用・メジャーアップデートは適用しない」等のルールをパッチベースラインとして定義する
- メンテナンスウィンドウとの組み合わせ:「毎週日曜日の深夜2〜4時にパッチを自動適用する」メンテナンスウィンドウを設定する
- パッチ適用前後のスナップショット:パッチ適用前にAMIスナップショットを自動取得してロールバック手段を確保する
4. パラメータストアでシークレット管理
DBのパスワード・APIキー等のシークレット情報をEC2のコード内にハードコードするのは危険です。Systems Managerのパラメータストア(または AWS Secrets Manager)に保存してアプリケーション起動時に動的に取得するアプローチが現代のベストプラクティスです。パラメータストアは標準パラメータは無料で使えます。
- Session Managerでシポート22を開けずにEC2にアクセスできる。踏み台サーバーも不要になる
- Run CommandでタグベースのEC2を一括操作できる。メンテナンス作業の効率が大幅に向上する
- Patch Managerでパッチ適用を自動化してメンテナンスウィンドウで計画的に実行する
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。




