【问题标题】:AWS Lambda and Gateway API - blue/green deployment with cloudformationAWS Lambda 和 Gateway API - 使用 cloudformation 的蓝/绿部署
【发布时间】:2017-06-12 16:26:18
【问题描述】:

使用 cloudformation 模板使用 Gateway API 部署 lambda 函数时,我想将不同阶段创建的 Gateway API 放在 route53 后面,因此可以使用加权流量进行蓝/绿部署。是否可以自动化整个过程而无需手动登录到控制台进行配置?

【问题讨论】:

    标签: aws-lambda aws-api-gateway amazon-route53 blue-green-deployment


    【解决方案1】:

    您将无法执行此操作。 API Gateway 不会理解您的 Route53 别名。目前还没有针对 API 网关和 Lambda 的开箱即用的蓝/绿解决方案。

    【讨论】:

    • Bob,您可以分享任何链接,以便在 lambda 前面为 Gateway API 进行加权流量蓝/绿部署吗?
    • 今天实现这一目标的唯一方法是在您尝试平衡的 2 个 lambda 之间放置一个 Lambda(或 API Gateway + Lambda)。我没有任何文档,因为这不是理想的配置。我们希望将来能够为 API Gateway 添加对此类部署的支持。
    • 添加另一个 lambda 来拆分流量会产生更多的成本和延迟,这可能不是首选方法...如果没有网关 API,对于带有 route53 的 lambda 本身,任何用于加权蓝/绿的参考架构部署?
    • @Hammer 目前没有,由于所指出的限制。
    • @p.magalhaes 正如我之前的评论中提到的:我们希望在未来增加对此类部署的支持,但我无法确定它们何时可用。
    【解决方案2】:

    @鲍勃,

    我已经看到你的一些答案,我问过另一个,我有一个工作解决方案,它依赖于 SWITCH 作为 APIG 阶段的基本路径映射。

    虽然 AWS 刚刚引入了 Canary,但它依赖于 CodeDeploy,我们很多人在使用无服务器框架之类的东西时并不使用它。

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

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

    【讨论】:

      【解决方案3】:

      AWS API Gateway 现在支持蓝/绿和金丝雀部署。

      另一种流量转移模式是启用蓝/绿部署。这种近乎零停机时间的版本使流量能够转移到新的实时环境(绿色),同时仍然保持旧的生产环境(蓝色)温暖,以防需要回滚。由于 API Gateway 允许您定义转移到特定环境的流量百分比;这种部署方式可能是一种有效的技术。由于蓝/绿部署旨在减少停机时间,因此许多客户采用这种模式进行生产更改。

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

      【讨论】:

        猜你喜欢
        • 2021-09-16
        • 2019-04-13
        • 2018-08-06
        • 2023-02-04
        • 2015-10-05
        • 2019-05-20
        • 2021-10-08
        • 2020-07-23
        • 2020-07-21
        相关资源
        最近更新 更多