如何解决AWS Fargate CloudFormation模板部署时日志组解析错误
部署错误解决方案
错误根因
当前报错是因为fargate-template.yml中定义FargateLogGroup资源时,没有显式指定LogGroupName属性,结合你使用的serverless-cloudformation-sub-variables插件的解析逻辑,在解析!Ref FargateLogGroup引用时,插件误将日志组的属性结构当成了返回值,导致无法正常识别日志组名称。
修复方法
修改fargate-template.yml中的FargateLogGroup资源配置,显式指定LogGroupName即可,推荐使用AWS栈名作为名称的一部分避免重复,修改后的配置如下:
FargateLogGroup: Type: "AWS::Logs::LogGroup" Properties: LogGroupName: !Sub "/ecs/fargate-scraper/${AWS::StackName}" RetentionInDays: 1
额外说明
日志开头的配置警告不影响本次错误的修复,如果需要消除警告,可以检查serverless.yml文件中的events配置层级,确认函数触发事件的格式符合Serverless框架的规范。
修改完成后重新执行sls deploy -v即可正常部署。
内容的提问来源于stack exchange,提问作者mmz
相关产品推荐
相关产品推荐

