cloudformation由于嵌套堆栈造成无限递归的问题记录

突发奇想,既然cloudformation堆栈支持嵌套,即在堆栈中创建堆栈,那么如果在模板中指定创建堆栈自身会发生什么呢?

反正cloudformation只要不创建资源就不收费,索性尝试下。

使用以下模板上传到指定的s3桶中,之后将TemplateURL替换为s3的https路径,并重新上传到s3替代源文件(此时url保持不变)

AWSTemplateFormatVersion: '2010-09-09'

Parameters:
  InstanceType:
    Type: String
    Default: t3.small
    Description: 'EC2 instance type, e.g. m1.small, m1.large, etc.'
  KeyName:
    Type: String
    Default: test-key
    Description: Name of an existing EC2 KeyPair to enable SSH access to the web server
    
Resources:
  myStackWithParams:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: https://xxxxxx.s3.cn-north-1.amazonaws.com.cn/cloudformation.yaml
      Parameters:
        InstanceType: t2.micro
        KeyName: mykey

在cloudformation中使用这个s3对象为模板创建堆栈

没有出现预料中的递归检查错误,从下图中可以看到在不断创建新的堆栈

在这里插入图片描述
创建24个堆栈左右出现以下错误
在这里插入图片描述
事件中出现嵌套堆栈超出深度限制
在这里插入图片描述
没有找到堆栈深度限额的文档,不过确实存在递归的检测

此外,嵌套堆栈的删除过程极为缓慢(因为并没有创建资源,逻辑上不应该这么慢,可能是由于递归造成的处理困难)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值