導入
サーバー台数が数十〜数百台になると、「1台1台にSSHでログインしてパッチを当てる」「設定値をコードに直書きする」といった運用は破綻します。AWS Systems Manager(SSM)は、この手作業の運用をまとめて自動化・標準化するための総合ツールです。
説明
Systems Managerには複数の機能がありますが、SAPで頻出するのは次の4つです。
| 機能 | やること |
|---|---|
| Run Command | 多数のインスタンスに対し、SSH不要でコマンドを一斉実行 |
| Automation | 複数ステップの運用手順(パッチ適用・AMI作成など)をドキュメント化し自動実行 |
| Patch Manager | OS・ミドルウェアのパッチ適用をスケジュール管理 |
| Parameter Store | 設定値・シークレットを一元管理し、コードから参照 |
flowchart TD
SSM["Systems Manager"] --> RC["Run Command<br/>一斉コマンド実行"]
SSM --> AU["Automation<br/>手順のドキュメント化"]
SSM --> PM["Patch Manager<br/>パッチ適用の自動化"]
SSM --> PS["Parameter Store<br/>設定値/シークレット一元管理"]
RC -.SSHもキーペアも不要.-> EC2["管理対象インスタンス群"]
- Run Command / Automation: どちらもSSH不要でIAM権限だけで実行できるため、踏み台サーバーや開いたポートを減らせる(セキュリティ改善にも直結)。Automationは「AMI作成→テスト→タグ付け」のような複数ステップを1つのドキュメントにまとめ、定期実行やイベント駆動で回せる。
- Patch Manager: メンテナンスウィンドウを定義し、対象インスタンス群に段階的(カナリア方式)にパッチを適用できる。手動でのパッチ管理の属人化を解消する。
- Parameter Store: 環境ごとのDB接続文字列やAPIキーを、コードや環境変数に直書きせず一元管理する。KMSと組み合わせて暗号化も可能(より高度なシークレット管理はSecrets Managerが自動ローテーションに対応)。
読んでみよう
「多数のEC2にSSHせずコマンドやパッチを適用したい」はRun Command / Patch Manager、「複数ステップの運用作業を自動化・標準化したい」はAutomation、「設定値をコードから外出しして一元管理したい」はParameter Storeが対応します。「運用のオーバーヘッドを削減したい」という要件文がSystems Manager全般を示す合図になります。