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

标签 amazon-web-services logging aws-cloudformation

我一直在设置 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/

相关文章:

function - 使用 ECS 任务定义和服务更新 Cloudformation 堆栈会导致堆栈挂起

ruby-on-rails - AWS实例运行时间

amazon-web-services - 连接到 AWS Transfer for SFTP

Java Logger - 配置更改未反射(reflect)在运行时

javascript - @sentry/node 集成将 Bunyan 日志调用包装为面包屑

amazon-web-services - AWS CDK 中 S3 存储桶策略中的白名单 IP 地址

amazon-web-services - 有没有办法使用多个 aws 配置文件来部署(更新)无服务器堆栈?

amazon-web-services - 具有混合实例策略的 Auto Scaling 组的 AWS 创建策略

amazon-web-services - AWS ECS 服务创建(Ec2 Launch 类型)保持“Create IN Progress”状态并在回滚后显示“Create Failed”状态

c# - 在运行时在 NLog 中添加/删除日志文件