AWS - AppConfig
前言
許多架構師或是 DevOps 工程師在「安全地管理應用設定」會使用到 AppConfig 我們來介紹一下 AppConfig
AWS AppConfig 是 AWS System Manager(SSM) 的一部分,用來安全、可控地管理應用程式組態變更,支援**即時更新、版本控制、驗證與漸進式部署(Progressive Rollout)**。
為什麼需要 AppConfig
在傳統情況下
- 應用設定(如 API URL、Feature Toggle、門檻值)都常常寫在程式碼當中或是環境變數裡面。
- 更改設定通常需要重新啟動服務,重新部署
- 若設定錯誤,可能導致大規模故障
AppConfig 解決了以上問題
- 把設定與程式碼分開
- 改設定不需要重啟應用
- 可設定「逐步發布(Canary/Linear)」,避免一次性錯誤影響所有使用者
- 可驗證設定正確性(JSON Schema/Lambda Validator)
架構概念
AppConfig 核心組成
| 元件 | 說明 |
|---|---|
| Application | 代表你的應用程式 |
| Environment | 不同的部署環境 |
| Configuration Profile | 設定來源與驗證方式(如從 S3、SSM Parameter Store,AppConfig Hosted) |
| Validator | 驗證設定內容是否正確(JSON Schema/Lambda Validator) |
| Deployment Strategy | 設定如何部署 (AllAtOne、Linear、Canary/Custom |
| Hosted Configuration/S3/Secrets Manager/Parameter Store | 設定的實際儲存位置 |
