【问题标题】:Difficulty with propagating tags in the AWS Cloud Development Kit (CDK)在 AWS 云开发工具包 (CDK) 中传播标签有困难
【发布时间】:2020-05-15 09:08:56
【问题描述】:

我们正在使用 AWS CDK 部署大部分基础设施,包括 ECS 资源。我有一个创建 ECS 集群、任务定义和任务的文件。根据the Tag class,然后我使用 Tag.add() 将标签应用于文件范围内的所有内容,包括所有 ECS 资源。

当我部署堆栈时,标签适用于集群和任务定义,但不适用于任务。我也没有收到任何错误消息;标签只是默默地不适用于任务。将标签直接应用于任务似乎不是受支持的解决方法,所以我被卡住了。有谁知道标记任务的解决方案?

【问题讨论】:

    标签: amazon-web-services aws-cdk


    【解决方案1】:

    直接将标签应用于任务似乎不是受支持的解决方法,所以我被卡住了。

    我对 ECS 任务不太熟悉,但是您是否尝试过将标签直接写入 CloudFormation 资源构造?

    来自https://docs.aws.amazon.com/cdk/latest/guide/cfn_layer.html

    修改 AWS Constructs 背后的 AWS CloudFormation 资源

    如果 [原文如此] 构造缺少功能或您正在尝试解决问题,您可以修改构造封装的 CFN 资源。

    所有构造都包含相应的 CFN 资源...

    访问 CFN 资源类的基本方法是使用 construct.node.defaultChild(Python:default_child),将其转换为正确的类型(如有必要),并修改其属性。

    原始覆盖

    如果 CFN 资源中缺少某些属性,您可以使用原始覆盖绕过所有类型。这也使得删除合成属性成为可能。

    使用addOverride 方法之一(Python:add_override)方法,如下例所示。

    # Get the AWS CloudFormation resource
    cfn_bucket = bucket.node.default_child
    
    # Use dot notation to address inside the resource template fragment
    cfn_bucket.add_override("Properties.VersioningConfiguration.Status", "NewStatus")
    cfn_bucket.add_deletion_override("Properties.VersioningConfiguration.Status")
    
    # add_property_override is a convenience function, which implies the
    # path starts with "Properties."
    cfn_bucket.add_property_override("VersioningConfiguration.Status", "NewStatus")
    cfn_bucket.add_property_deletion_override("VersioningConfiguration.Status")
    

    【讨论】:

    • 实际上我错过了文档的那部分。看起来它可能会起作用。我试试看,谢谢指点!
    【解决方案2】:

    如果您使用 ECS 模式构造(例如,ApplicationLoadBalancedFargateService),您可以通过添加以下标志来使其工作:

    enable_ecs_managed_tags=True,
                                                                                  
    propagate_tags=aws_ecs.PropagatedTagSource.TASK_DEFINITION,
    

    在那之后,我的标签从我的 CDK 堆栈传播到 ECS 集群/服务/任务定义,然后传播到底层任务。

    【讨论】:

      猜你喜欢
      • 2021-10-29
      • 2020-05-14
      • 2020-04-26
      • 1970-01-01
      • 2020-07-30
      • 1970-01-01
      • 2016-03-24
      • 2018-08-01
      • 1970-01-01
      相关资源
      最近更新 更多