【发布时间】:2021-05-24 01:32:59
【问题描述】:
我有一个关于使用CloudFormation 设计和组织AWS Serverless 资源的架构问题。
目前我有多个按域特定目的组织的堆栈,并且效果很好。大多数包含Lambdas 的堆栈都必须使用Serverless 进行转换(全部使用SAM)。使用EventBridge 和S3+Events 的组合可以促进异步通信并且运行良好。我遇到的问题是同步通信。
我不想使用从其他堆栈导出的名称从其他堆栈引用 Lambdas 并直接调用它们,因为这会导致更新和版本问题(如果在其他堆栈中引用了输出导出,我无法更改资源除非首先删除引用,否则对于 CI/CD 并保持关注点分开并不理想)。
我一直使用API Gateway 作为抽象,但感觉相当沉重。有这种分离很好,但必须有域和 DNS 解析 + 将 API GW 暴露在外部感觉不对。也许有更好的方法将API GW 配置为仅限内部。如果您在这方面取得了成功,请您指点我的方向吗?
有没有更好的方法以同步的方式从不同的堆栈抽象调用Lambda 函数? (Common template patterns 代表 CF 或类似的东西?)
【问题讨论】:
标签: amazon-web-services architecture amazon-cloudformation aws-api-gateway aws-serverless