AWS Lambda和Gateway API - 使用CloudFormation实现蓝/绿部署

4

当使用云形成模板部署带有网关API的lambda函数时,我希望将不同阶段创建的网关API放置在route53后面,以便可以使用加权流量进行蓝/绿部署。是否可能自动化整个过程,而无需手动登录控制台进行配置?

3个回答

5

您将无法做到这一点。您的Route53别名将不被API Gateway理解。目前,API网关和Lambda没有开箱即用的蓝/绿解决方案。


Bob,你能分享一些关于在Lambda前面的网关API进行加权流量蓝/绿部署的链接吗? - Hammer
2
今天实现这一点的唯一方法是在您尝试平衡的2个Lambda之间拥有一个Lambda(或API Gateway + Lambda)。我没有任何文档,因为这不是理想的配置。我们希望将来能够在API Gateway中支持这些部署。 - Bob Kinney
@Bob Kinney:你们是否计划创建一个使用API网关允许蓝/绿部署的功能? - p.magalhaes
1
正如我之前的评论所提到的:我们希望在未来增加对这种部署的支持,但我不能承诺何时会提供。 - Bob Kinney
@AshwinGupta,API Gateway和Lambda都推出了支持此用例的功能。https://aws.amazon.com/blogs/compute/implementing-canary-deployments-of-aws-lambda-functions-with-alias-traffic-shifting/ https://aws.amazon.com/about-aws/whats-new/2017/11/amazon-api-gateway-supports-canary-release-deployments/ - Bob Kinney
显示剩余9条评论

2
AWS API Gateway现在支持蓝/绿和金丝雀部署。
另一种流量转移模式是启用蓝/绿部署。这种近乎零停机时间的发布使流量可以转移到新的生产环境(绿色),同时仍保留旧的生产环境(蓝色),以防需要回滚。由于API Gateway允许您定义将哪个百分比的流量转移到特定环境,因此这种部署方式可以是一种有效的技术。由于蓝/绿部署旨在减少停机时间,因此许多客户在生产更改时采用这种模式。

https://docs.aws.amazon.com/wellarchitected/latest/serverless-applications-lens/bluegreen-deployments.html


0

@Bob,

我看到你在这方面有几个答案,我在另一个问题上也问过了。我有一个可行的解决方案,它依赖于SWITCH作为APIG阶段的基本路径映射。

虽然AWS刚刚推出了Canary,但它依赖于CodeDeploy,而我们很多人在使用类似Serverless框架时并不使用它。

这个想法很简单,当您部署时,可以在阶段(蓝色/绿色)之间切换基本路径映射,如果您在达到一定阈值后为每个非2XX错误触发SNS事件,那么您只需将基本路径映射切换回来即可立即生效?

这种方法有什么不可行的原因吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接