Cloudformation根堆栈资源无法通过无服务器插件拆分堆栈正确拆分

问题描述

我们使用serverless-plugin-split-stacks将资源分成嵌套堆栈,并按照以下说明在serverless.yml中进行设置。

custom:
  splitStacks:
    perFunction: false
    perType: true
    perGroupFunction: false
  webpack:
    webpackConfig: ./webpack.config.js
    includeModules: true

一切顺利,直到遇到以下错误为止

错误:CloudFormation模板无效:模板格式错误:资源数量206>大于最大允许数量200

发生此错误时,嵌套堆栈的情况如下。

Serverless: [serverless-plugin-split-stacks]:    Resources per stack:
Serverless: [serverless-plugin-split-stacks]:    - (root): 206
Serverless: [serverless-plugin-split-stacks]:    - APInestedStack: 55
Serverless: [serverless-plugin-split-stacks]:    - PermissionsnestedStack: 49

我的问题是即使我们已正确设置了拆分堆栈,为什么不将根堆栈中的资源拆分为新堆栈呢?

如果我在这里错过了任何事情,请对此进行教育。感谢所有有用的建议。

解决方法

这个 npm 包 serverless-plugin-split-stacks 不起作用。此软件包已弃用 - 失败 - BUG 如需更多信息:https://www.npmjs.com/package/serverless-plugin-split-stacks

要解决您的问题(CloudFormation 的 200 资源限制的无服务器解决方法),请阅读一些提示: https://www.serverless.com/blog/serverless-workaround-cloudformation-200-resource-limit