gpt4 book ai didi

amazon-web-services - 部署 AWS Cloudformation LogGroup 时出错,但它仍然创建资源

转载 作者:行者123 更新时间:2023-12-03 07:46:48 28 4
gpt4 key购买 nike

我一直在设置 AWS ECS 集群和服务,并且需要将日志添加到 CloudFormation。

每当我部署以下内容时(StackName 是作为 testxyzdailyprocessor5 提交的参数

Resources:
ECSLogGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: !Sub ${StackName}-ecslogs
RetentionInDays: 3

它生成一个错误事件,我使用 event['message'] 检索该事件

Stack creation initiated. Stack ID: arn:aws:cloudformation:us-east-2:501550104875:stack/testxyzdailyprocessor5/b621a810-2aaa-11ee-963d-02ad92224953
Error deploying CloudFormation template: An error occurred (InvalidParameterException) when calling the DescribeLogStreams operation: 1 validation error detected: Value '/aws/cloudformation/arn:aws:cloudformation:us-east-2:501550104875:stack/testxyzdailyprocessor5/b621a810-2aaa-11ee-963d-02ad92224953' at 'logGroupName' failed to satisfy constraint: Member must satisfy regular expression pattern: [\.\-_/#A-Za-z0-9]+

但是日志组创建成功了!

  1. 为什么有错误但创建成功

  2. 从哪里获取完整堆栈 arn 名称的名称 ( /aws/cloudformation/arn:aws:cloudformation:us-east-2:501550104875:stack/testxyzdailyprocessor5/b621a810-2aaa- 11ee-963d-02ad92224953 当我指定基于 ${StackName}-ecslogs 定义名称时?

我已将此资源日志放入一个独立文件中,它创建时没有任何错误!我可以在进一步的文件中做什么来更新该值。绝对不是故意的

想知道其他人是否见过/经历过? (完整模板文件位于:https://pastebin.com/02Z1NuUS)

最佳答案

这是正确的行为,因为日志组没有将 DeletionPolicy 属性设置为 Delete。默认为保留。 Cloudformation 在创建日志组之前不会回滚堆栈,因此它在回滚后就在那里。

还应该为日志组设置 UpdateReplacePolicy 的伴随属性。这控制着更新或替换时的行为,通常与删除时的行为相同。

在开发模板时,最好将这些设置为删除,否则您将遇到您所遇到的确切问题。

始终为日志组以及支持它们的大多数资源设置这两个值是一个好习惯。

文档中有更深入的解释:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html

关于amazon-web-services - 部署 AWS Cloudformation LogGroup 时出错,但它仍然创建资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76759674/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com