You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CDK添加aws前缀标签报错 如何让服务展示在Cost Explorer标签列表

问题根因
  • aws: 前缀属于AWS预留的系统标签命名空间,仅允许AWS官方服务自行创建、修改,禁止用户手动配置这类标签,你手动添加aws:cloudformation:stack-name标签的操作违反了这个规则,所以触发CloudFormation部署报错。
  • 你看到第一个服务自带该标签,是CloudFormation部署栈时自动给关联资源打的系统标签,无需用户手动定义。
修复步骤

1. 先解决部署报错

删除代码中手动添加aws:cloudformation:stack-name标签的行,避免后续部署失败。

2. 配置Cost Explorer可筛选两个服务的成本

你可以选以下任意一种方案实现需求:

方案一:无需额外打标签,直接使用系统自带维度

Cost Explorer默认支持按CloudFormation栈名筛选成本,你直接在Cost Explorer的筛选条件中选择「Stack Name」,勾选两个服务对应的CloudFormation栈名称,即可分别查看两个服务的成本数据。

方案二:使用自定义标签统一筛选

如果希望用标签作为统一筛选维度,可以给第二个服务的所有资源打自定义标签,步骤如下:

  • 调整CDK代码,添加无aws:前缀的自定义标签,示例代码:
export class CdkStack extends cdk.Stack {
    constructor(scope: cdk.Construct, id: string, props: scStackProps<ICdkStackProps>) {
        super(scope, id, props);
        const {config, context} = props;
        const vpc = ec2.Vpc.fromLookup(this, "vpc", {
            vpcName: "baseInfrastructure/vpc",
        });
        // 使用自定义标签键,禁止使用aws:前缀
        cdk.Tags.of(this).add("ServiceName", `${config.container.name}`);
    }
}
  • 部署更新完成后,进入AWS控制台的Cost Explorer页面,打开「成本分配标签」设置,找到你自定义的标签键(比如示例中的ServiceName),勾选后点击激活。
  • 标签激活后最多等待24小时,对应的成本数据就会同步完成,你就可以在Cost Explorer中用这个标签筛选两个服务的成本了。

内容的提问来源于stack exchange,提问作者Ashish Karpe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:36:02