我有一个创建AWS Fargate集群的CDK项目。但当我使用 ApplicationLoadBalancedFargateService 时,它会自动添加 TaskRole 和 ExecutionRole。但我无法从 dependentOn 中删除 FargateServiceTaskDefTaskRoleYYYYY。
“取决于”:[ “FargateServiceTaskDefTaskRoleYYYYY”, “LoadBalancerPublicListenerECSGroupYYY23”, “负载均衡器公共监听器D231d” ]
从 FragateService 中删除依赖项。
通常,如果更高级别的构造没有按照您喜欢的方式构建资源,那么您最好的选择是停止使用它并构建自己的资源。
但是,在这种情况下,如果没有这两个角色,服务就无法运行。因此,限制不是更高级别构造的一部分,而是直接来自服务。因此,即使您构建自己的构造,您也必须在某个时候提供这些角色。
如果您想要重用角色而不是 CDK 正在构建的角色,您可以提供
taskRole
和 executionRole
到您正在使用的任何属性(taskDefinition
或 taskImageOptions
)。
https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ecs.FargateTaskDefinition.html