# 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 | 設定的實際儲存位置 |