在EKS Fargate中如何标记成本以在Cost Explorer中关联对应标签?
EKS Fargate 成本关联自定义标签到 Cost Explorer 解决方案
前提说明
你遇到的标签不生效问题是AWS默认行为:EKS集群标签、Fargate Profile标签、Kubernetes原生Pod标签不会自动同步为AWS成本分配标签,需要手动完成配置。
操作步骤
1. 激活成本分配标签
- 登录AWS根账号或拥有Billing管理权限的账号,进入Billing控制台的「成本分配标签」页面,找到你使用的
application自定义标签,手动开启激活。 - 标签激活后最长需要24小时同步到Cost Explorer体系,仅对激活后新产生的成本数据生效,历史数据无法回溯。
2. 配置Pod标签到Fargate资源的传递规则
方案1:使用EKS原生Pod标签传递功能(适用于EKS 1.21及以上版本)
EKS 1.21及以上版本原生支持将指定的Kubernetes Pod标签同步为Fargate计费资源的AWS标签,操作如下:
- 更新你的Fargate Profile,添加需要传递的标签映射规则,将Pod的
application标签同步为AWS资源的application标签,参考命令:
aws eks update-fargate-profile \ --cluster-name <你的EKS集群名称> \ --fargate-profile-name <你的Fargate Profile名称> \ --pod-execution-role-arn <你的Fargate执行角色ARN> \ --tags application=${POD_LABEL:application}
- 配置完成后,新调度到该Fargate Profile的Pod都会自动把
application标签同步到对应的Fargate计费资源上。
方案2:成本类别映射(适用于所有EKS版本)
如果你的集群版本不支持原生标签传递,可以通过Cost Explorer的成本类别功能手动归类:
- 先开启AWS Cost and Usage Report(CUR),导出所有成本数据到S3,匹配Fargate成本项的资源ID与你集群内采集的Pod标签数据,梳理出不同
application对应的Fargate成本范围。 - 进入Cost Explorer的「成本类别」页面,创建自定义规则,将符合特征的Fargate成本项直接归类到对应
application分组下,不需要修改资源本身的标签。
验证方法
配置完成后等待24-48小时,进入Cost Explorer,在筛选条件中选择application标签,即可看到对应的Fargate成本项已经关联到目标标签。
内容的提问来源于stack exchange,提问作者lennart
相关产品推荐
相关产品推荐

