
三种分法,对应三种规模
按人:每人一个密钥,额度独立。适合五到十人,活比较杂的团队。优点是账单清楚,缺点是有人用不完、有人不够用。
按项目:一个项目一个密钥。适合产品化的团队,成本能直接算进项目。缺点是同一个项目的成员之间还会混。
按部门:部门一个密钥,部门内部再分。适合大组织,缺点是粒度粗,出问题只能追到部门。

十人以下按人,十人以上按项目,这是比较稳的经验。
规模再往上,按部门加项目两个维度打标,否则跨部门协作的项目永远归不到账上。
共享密钥的四个坑
账单无法归因。月底看到一笔钱,不知道是哪个功能花的,优化无从下手。
一人跑批全员被限流。批量任务把每分钟额度占满,其他人的实时请求全部 429。
密钥泄露范围不可控。一个密钥贴在代码里,谁都能用,出事查不到人。

额度用完没人认领。大家都以为是别人用的,结果一起停摆。
- 账单说不清
- 跑批拖垮实时
- 泄露查不到人
- 用完没人认领
按项目拆怎么做
一个项目一个密钥,密钥名里带项目代号。看账单时按密钥聚合,就知道每个项目花了多少。
如果平台支持标签,再按环境打标:开发、测试、生产。开发环境的调用量经常比生产还大,不分开看不出问题。

每个密钥设独立限额。跑批的密钥给大额度但限并发,实时的密钥给小额度但保优先级。
密钥别写进代码仓库。用环境变量或者密钥管理服务,这一条没有例外。
还有个细节:密钥要能轮换。换的时候老密钥先保留一周,等所有服务都切完再停,否则半夜会有一批服务挂掉。
人走了怎么回收
三样东西要处理:个人密钥、共享文档里的密钥、本地配置里的密钥。
第一样最容易,后台点一下。第二样最容易被忘,文档里贴过的密钥,离职后还在。第三样最隐蔽,同事电脑里的配置文件。
一个季度做一次密钥盘点:列出所有密钥、对应项目、最后使用时间。三个月没用的直接删,用的人走了的立刻删。
常见问题
要不要给每个人设额度上限?
要,但别设太紧。上限的作用是防异常,不是省钱。按人均用量的三倍设,超了先问再调。
开发环境要不要单独密钥?
要。开发环境的调用量经常超过生产,混在一起看不出真实成本。
怎么让团队愿意用?
别把成本算到个人。按项目算,让团队自己优化,比自上而下压指标有效。


