使用 AWS Systems Manager Parameter Store 管理配置与密钥 - 层级结构与加密

讲解 Parameter Store 对配置值和密钥信息的管理、层级结构设计以及与 Secrets Manager 的区分使用。

Parameter Store 概述

Parameter Store 是以层级方式管理配置数据和密钥信息的键值存储。与 Secrets Manager 专注于数据库凭证自动轮换不同,Parameter Store 管理应用配置全般(功能标志、端点 URL、阈值)和密钥信息。Standard 参数免费,最多可创建 10,000 个。

层级结构与 Secrets Manager 的区分使用

使用路径分隔符 (/) 构建参数名的层级结构。如 /myapp/prod/db/host、/myapp/prod/db/password 按环境和组件整理,通过 GetParametersByPath 批量获取特定路径下的参数。与 Secrets Manager 的区分使用:需要自动轮换的数据库凭证使用 Secrets Manager,其他配置值和密钥信息使用 Parameter Store。Parameter Store 也支持 Secrets Manager 引用 (aws:secretsmanager:),可统一使用两个服务。

与 Lambda 和 ECS 的集成

Lambda 函数获取 Parameter Store 参数时,使用 AWS Parameters and Secrets Lambda Extension。该扩展在本地缓存参数,无需每次 Lambda 执行都发起 API 调用。在 ECS 任务定义的 secrets 部分引用 Parameter Store 参数,作为容器环境变量注入。SecureString 参数使用 KMS 加密,通过 IAM 策略控制解密权限。参数版本管理可追踪变更历史,出现问题时可回滚到之前的版本。参数策略可设置有效期,自动通知过期参数。 如需深入了解配置管理的运维经验,专业书籍 (Amazon)会有所帮助。

Parameter Store 的定价

Standard 参数免费,每个账户最多可存储 10,000 个参数。Advanced 参数每个参数每月约 0.05 美元,支持最大 8KB 大小、参数策略和 100,000 个参数上限。API 调用 Standard 免费,Advanced 的高吞吐量选项每 10,000 请求约 0.05 美元。与 Secrets Manager(每个密钥每月 0.40 美元)相比,对于不需要自动轮换的配置值,Parameter Store 更具成本效益。

总结

Parameter Store 是以层级方式管理应用配置和密钥信息的服务。通过 Lambda 扩展利用缓存实现低延迟配置获取,通过 ECS 任务定义的 secrets 部分安全注入容器。Standard 参数免费可存储 10,000 个,与 Secrets Manager 相比,对于不需要自动轮换的配置值更具成本效益。