AWS Systems Manager
# SSM
## features
- 全体
- クイックセットアップ: インスタンスをSSMで管理するように自動構成
- オペレーションの管理
- アプリケーションマネージメント
- リソースグループ: タグによるサーバ群のグループ管理
- AppConfig: アプリケーション設定(機能フラグ等)の管理
- パラメータストア: 設定パラメータの集中管理用データストア
- アクションと変更
- Automation
- Change Calendar: 実行可否を制御するカレンダー
- メンテナンスウィンドウ: 自動化処理のスケジュールと順序の管理
- インスタンスとノード
- コンプライアンス: コンプライアンスの適合状態ダッシュボード
- インベントリ: サーバ構成情報のインベントリを閲覧する
- マネージドインスタンス
- ハイブリッドアクティベーション
- セッションマネージャー
- Run Command
- ステートマネージャー: サーバ群の構成を指定した状態に維持する
- パッチマネージャー: サーバ群に指定ルールに基づきパッチを適用する
- ディストリビューター: サーバ群にパッケージをインストールする
- 共有リソース
- ドキュメント
## Functions
- AWS のリソースを把握する
- SSM Explorer(EC2)
- OpsCenter(OpsItem)
- OpsCenter OpsItems
- 運用作業項目(OpsItems)
- 運用タスク管理に利用
- CloudWatch Events のルールとして登録する
- SSMコンプライアンス(パッチ適用状況)
- インスタンスの中身を把握する
- 定型作業
- SSMドキュメント
- 運用処理を定義し、実行できる
- 実行方法
- RunCommand: OSでコマンドを実行
- Automation: AWSサービス全体のワークフロー
- ステートマネージャ; 定期実行
- 定義された状態に保つプロセスを自動化
- メンテナンスウィンドウ; 定期実行
- アクションを実行するスケジュールを定義
- サーバー群に対して定期的に処理を行うためのフレームワーク
- サービス停止を伴うような比較的重い処理
- ステートマネージャより細かい制御ができる
- Change Calendar でこれらを実行できる日を制御
- 実行可否の判定結果を提供する
- マルチアカウントで共有が可能
- SSM Automation に統合済み
- パッチマネージャー
- SSMディストリビューター
- ソフトウエアパッケージを安全に保存し配信
- 独自のソフトウエアパッケージの配布、インストールが可能
- 非定型作業
- アプリケーションの設定管理
## ベストプラクティス
## 料金
- 基本的に無料
- 有料
## how to
- 対象をマネージドインスタンスにする
- 対象にSSMエージェントを導入。SSM-Agent は SSM API をポーリング(アウトバウンド)する。
- インターネット経由のパターン
- VPCエンドポイント経由。プライベートネットワークから接続
- 対象インスタンスに`AmazonSSMManagedInstanceCore` をアタッチ。(これが最低限)
## 雑感
たくさんの機能があるので迷うが、blackbelt がまとまっていて理解しやすかった。
運用していて、すでに利用している機能も多いが、使いこなせるようになることで運用をもっと楽にセキュアにできるようになる可能性を感じた。
SSMドキュメントはCloudFormation で書いたりしたが
GitHub - athagi/ec2-backup 歴史を感じるyml になるんだなぁと思った。