# 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
2
3
4
CloudWatch Alarm
→ EventBridge
→ SSM Automation / Lambda
→ EC2 修復 / 清理磁碟 / 重啟服務