# AWS - System Manager 自動修復 Auto-Healing
# System Manager Auto-Healing
SSM 是 AWS 中的 「免 SSH 的遠端維運 + 自動修復引擎」服務
# Run Command (免 SSH / 免 RDP 的遠端操作)
“How to run a command on EC2 without logging in?”
- SSM Run Command
用途
- 清除 log
- 重啟服務
- 套用系統參數
- 執行腳本
- 免 SSH 免 Bastion
EC2 必須具備
- SSM Agent
- IAM Role:AmazonSSMManagedInstanceCore
# SSM Automation Documents (自動修復的核心)
SOA 的 Auto-Healing 標準答案就是:
- Automation → runbook → 修復流程
常見內建 runbook
- AWS-RestartEC2Instance
- AWS-RunShellScript
- AWS-StopEC2Instance
- AWS-TerminateEC2Instance
- AWS-ResizeInstance
- AWS-ConfigureAWSPackage
- AWS-PatchInstance
文件結構通常包含
- Steps
- Input parameters
- Policies
- Targets
# Maintenance Windows(排程維運)
“How to perform scheduled operations automatically with no downtime?”
- Systems Manager Maintenance Window
用途
- 每週自動 Patch
- 每晚 Log Cleanup
- 每月 Security Update
- 定期重啟服務
組成要素
- Window → 時間
- Task → 做什麼(Run Command / Automation)
- Targets → 哪些 EC2 / Instances / Tags
# Patch Manager(自動打安全更新)
Patch Manager 可以
- 自動安裝 OS 更新
- 分 Stage:Scan → Install
- 支援 Baseline(Approved patches)
# EC2 自動修復模式(考試陷阱)
“EC2 異常時自動恢復,但不能重新建立新的 instance”
| 自動修復方式 | 行為 | 何時使用 |
|---|---|---|
| EC2 Auto Recovery | 修復同一台 instance(硬體異常) | 最安全、不換 IP |
| ASG Replace Unhealthy | 換新 instance | Instance 壞掉但不要求固定 IP |
| Restart / Reboot via SSM | 重啟 | 軟體異常 |
- Auto Recovery = 修復硬體
- ASG = 替換 instance
- SSM = 修復 OS / 軟體
# Event-driven Self-Healing(SOA-C03 最重要的監控自動化題目)
1 | CloudWatch Alarm |