AWS AppConfig 专业2019年〜
安全部署和管理应用程序配置的服务
它能做什么
AWS AppConfig 是一项安全部署和管理应用程序配置值及功能标志的服务。无需重新部署应用即可实时反映配置变更,具备渐进式发布和回滚功能。通过配置验证功能降低错误配置被部署的风险。作为 AWS Systems Manager 的一项功能提供。
使用场景
用于通过功能标志渐进式发布新功能、动态修改应用运行参数(超时值、重试次数等)、按环境管理配置(开发、预发布、生产)、切换维护模式等。
日常类比
可以将其比作电视遥控器。无需拆开电视机(应用程序)更换零件,用遥控器(AppConfig)就能自由调节音量和亮度(配置值)。而且可以逐步调整观察效果(渐进式发布),也能轻松恢复原状(回滚)。
什么是 AppConfig
AWS AppConfig 是一项安全管理和部署应用程序配置的服务。通常要改变应用行为需要修改代码并重新部署。使用 AppConfig,只需更改配置值即可改变应用行为,无需重新部署。内置了最小化配置变更风险的机制。
功能标志
使用 AppConfig 的功能标志功能,可以在不修改代码的情况下切换新功能的启用/禁用。例如,可以仅向 10% 的用户开放新搜索功能,确认无问题后逐步扩展到 100%,实现渐进式发布。出现问题时,只需禁用标志即可立即关闭功能。
安全部署
AppConfig 具备安全部署配置变更的机制。可以选择在一定时间内渐进式反映配置的部署策略。部署过程中如果触发 CloudWatch 告警,会自动回滚。还可以设置配置值验证(JSON Schema 或 Lambda 函数验证),防止错误值被部署。 想要深入了解安全部署,可以参考相关书籍(Amazon)。
开始使用
从 Systems Manager 控制台的 AppConfig 菜单创建应用,定义环境(开发、生产等)。创建配置文件并注册配置值,选择部署策略后进行部署。应用端使用 AppConfig Agent 或 API 获取配置值。Lambda 函数可作为 Lambda Extension 轻松集成。
注意事项
- AppConfig 按配置获取次数计费,免费套餐包含每月 100 万次配置获取
- 获取配置值需要设置轮询间隔,间隔过短会增加成本,过长则配置反映延迟
- 与 SSM Parameter Store 的区分:需要渐进式部署或验证时用 AppConfig,简单的键值存储用 Parameter Store