更多關於 AWS Systems Manager:Inventory、Compliance 與組態管理
深入探討 AWS Systems Manager 的進階功能,包括 Inventory 軟體清單、Compliance 合規管理、Maintenance Window 維護窗口,以及 AppConfig 和 Parameter Store 的組態管理應用,幫助企業實現自動化運維與 ISO 稽核合規。
前幾篇我們提到 Systems Manager 的相關應用
可以啟用 Session Manager 讓不同使用者可以登入同一台機械
可以排成上 Patch 做漏洞修補
可以在目標機械上執行 script 語法
可以做狀態合規管理
其實最終目的是相同的
都是為了讓我們對於管理的機械有更高的掌握度
而這些更高的掌握度直接關聯的就是 ISO 稽核
當然我們清楚 ISO 要做的事情不僅僅是這些
因此這篇我將補足介紹剩下能夠協助做到管理的部分
Inventory(軟體清單)
什麼是 Inventory
Inventory 是 AWS Systems Manager 中用於收集和管理 EC2 實例資訊的功能。它能夠定期掃描受管機械,收集作業系統、安裝的應用程式、網路配置等詳細資訊。
使用 State Manager 定期執行 AWS-GatherSoftwareInventory
透過在 State Manager 中建立 Association,指定 AWS-GatherSoftwareInventory 文件,可以定期執行軟體清單收集任務:
- 自動化收集:無需手動逐台檢查,系統自動定期執行
- 完整的軟體列表:不僅記錄作業系統版本,更詳細列出每台機械安裝的軟體及版本
- 雲端版本的資產管理工具:相當於企業級 IT 資產管理工具(如 Lansweeper)的雲端實現
Inventory 的優勢
- 合規審計:快速生成機械資產清單供稽核使用
- 安全漏洞追蹤:了解所有機械上安裝的軟體版本,便於識別安全漏洞
- 成本優化:掌握軟體授權使用情況,避免過度購買或授權風險
Compliance(合規管理)
什麼是 Compliance
Compliance 是 Systems Manager 提供的合規監控儀表板,用於追蹤所有 Association 的執行狀態和合規情況。
Compliance 的核心功能
在 State Manager 建立的 Association,包含以下內容的執行狀態都會在 Compliance 中明確呈現:
- Patch Manager 執行結果
- 哪些機械已成功執行補丁更新
- 哪些機械因故未能正確套用補丁
- 詳細的補丁安裝失敗原因
- Association 執行追蹤
- 每個 Association 的最後執行時間
- 執行是否成功或失敗
- 機械是否正確關連到相關文件
- 合規儀表板
- 快速概覽所有受管機械的合規狀態
- 識別不合規的機械,進行針對性修正
- 生成合規報告供 ISO 稽核使用
實踐建議
建立清晰的 Compliance 追蹤策略:
- 定義明確的合規基線標準
- 定期檢視 Compliance 報告
- 針對不合規項目設定告警和自動修復策略
Maintenance Window(維護窗口)
什麼是 Maintenance Window
Maintenance Window 允許你定義特定的時間段,在這些時間內執行維護任務(如補丁更新、軟體安裝等)。
Maintenance Window 的價值
- 避免業務中斷:在預定維護窗口執行關鍵更新,減少對業務的影響
- 符合變更管理流程:確保維護任務在經過核准的時間進行
- 自動化維護排程:無需手動協調,系統自動在維護窗口執行任務
設定 Maintenance Window 的關鍵步驟
- 定義維護窗口的開始時間和持續時間
- 指定要執行的任務(如 Patch Manager)
- 設定目標機械的選擇方式(按 Tag 或 Resource Group)
- 配置失敗時的重試策略
組態管理(Configuration Management)
組態管理是現代 IT 運維的核心,AWS Systems Manager 提供了多層次的組態管理解決方案。
AppConfig(應用程式組態管理)
AppConfig 用於管理應用程式的組態設定,特別適合於動態修改應用行為的場景。
AppConfig 的主要特性
- 動態組態更新
- 無需重新部署應用程式,動態修改組態
- 支援功能開關(Feature Flags)
- 支援 A/B 測試的組態分發
- 分階段部署
- 驗證組態變更前進行測試
- 漸進式部署新組態到所有實例
- 自動回滾機制
- 與應用程式無縫集成
- SDK 支援主流程式語言(Java、Python、Node.js 等)
- 應用程式可即時獲取最新組態
AppConfig 的使用場景
- 功能開關管理:快速啟用或關閉新功能
- A/B 測試:為不同使用者群組提供不同的應用行為
- 動態限流配置:根據系統負載動態調整限流閾值
Parameter Store(參數儲存)
Parameter Store 是 Systems Manager 提供的鍵值對存儲服務,用於集中管理應用程式和伺服器的設定組態。
Parameter Store 的主要特性
- 集中式參數管理
- 儲存資料庫連線字串、API 密鑰等敏感資訊
- 支援加密儲存(使用 KMS)
- 版本控制,便於回滾
- 靈活的參數類型
- String:普通字串參數
- StringList:字串列表
- SecureString:加密敏感資訊(密碼、API 密鑰等)
- 與 IAM 無縫集成
- 使用 IAM 策略控制參數存取權限
- 審計日誌完整記錄參數存取情況
Parameter Store 與環境變數的對比
| 特性 | 環境變數 | Parameter Store |
|---|---|---|
| 存儲位置 | 本地作業系統 | AWS 雲端 |
| 安全性 | 需要手動加密 | 支援 KMS 加密 |
| 版本控制 | 不支援 | 支援多版本管理 |
| 集中管理 | 不支援 | 支援跨應用程式集中管理 |
| 變更通知 | 無 | 可透過 EventBridge 通知 |
Parameter Store 的最佳實踐
1
2
3
4
5
/myapp/prod/db/hostname
/myapp/prod/db/port
/myapp/prod/db/username
/myapp/prod/api/key
/myapp/prod/cache/ttl
使用分層結構組織參數,便於管理和查詢。
Systems Manager 與 ISO 稽核合規
為何 Systems Manager 對 ISO 稽核很重要
- 完整的審計追蹤
- Inventory:証明系統資產清單完整可控
- Compliance:証明系統維護和補丁管理有序執行
- CloudTrail 集成:完整的操作日誌
- 自動化符合要求
- State Manager:確保定期執行合規檢查
- Maintenance Window:確保變更管理流程受控
- Parameter Store:敏感資訊管理有跡可尋
- 降低人為錯誤
- 自動化執行減少手動操作遺漏
- 版本控制確保配置一致性
- 執行記錄提供完整的稽核證據
ISO 稽核實踐建議
- 建立完整的組態基線
- 使用 Inventory 記錄初始資產狀態
- 定期比對當前狀態與基線
- 建立合規監控
- 定期檢視 Compliance 儀表板
- 設定告警規則追蹤不合規項目
- 文件化管理流程
- 記錄所有 Association 和 Maintenance Window 設定
- 保留執行日誌供稽核查詢
- 實施變更管理
- 所有組態變更透過 Parameter Store 進行
- 使用版本控制追蹤變更歷史
總結
AWS Systems Manager 不僅提供了強大的運維自動化工具,更重要的是為企業提供了完整的合規管理和審計追蹤能力。通過組合使用 Inventory、Compliance、Maintenance Window、AppConfig 和 Parameter Store 等功能,企業可以:
- 提高運維效率:自動化日常維護任務
- 增強安全性:集中管理敏感資訊,完整追蹤變更
- 確保合規:生成審計證據,簡化稽核流程
- 降低風險:最小化人為錯誤,確保配置一致性
這正是現代雲端運維的核心價值所在。