【问题标题】:Does AWS Elastic Beanstalk Swap Environment Url swaps environments for git push?AWS Elastic Beanstalk 交换环境 URL 是否为 git push 交换环境?
【发布时间】:2014-12-18 02:13:45
【问题描述】:

我已阅读有关 aws 零停机时间的文档,但似乎无法理解在这种情况下会发生什么?

  • 我有一个在生产环境中运行的名为“red”的环境
  • 我将环境复制为“蓝色”
  • 我在我的应用上使用 eb init 来推送到名为 blue 的新环境。
  • 我的新版本在蓝色环境下成功上线运行
  • 我交换了环境 url(我还没做过,害怕,我猜)
  • 一段时间后,我的流量被定向为蓝色,红色将在监控中显示零流量。 问题是 现在如果我在命令行中使用 git aws.push 会推送到红色还是蓝色?

如果它变成红色,我有一个零停机时间的过程。如果它被推到蓝色,这是否意味着我必须再次 eb init?

如果我必须再次 eb 初始化,这意味着

  • 销毁红色(旧)环境
  • 将蓝色复制为红色
  • eb 再次为红色环境初始化

这似乎根本不正确。我可能会遗漏一些东西。在 ebs 上实现零停机的正确方法是什么?我读过很多书,但似乎无法理解这些观点。谢谢!

【问题讨论】:

    标签: git amazon-web-services deployment amazon-elastic-beanstalk


    【解决方案1】:

    当您使用 aws.config 设置 aws.push 时,您会设置应用程序和要推送到的环境,请参见下文:

    AWS Access Key [default to ]:
    AWS Secret Key [default to ]:
    AWS Region [default to eu-west-1]:
    AWS Elastic Beanstalk Application [default to your-application]: 
    AWS Elastic Beanstalk Environment [default to red]:
    

    您需要做的就是再次运行 git aws.config 并将您的 AWS Elastic Beanstalk 环境 更改为等于 blue

    我建议您通过复制当前 red 环境配置(在操作下 >> 保存配置)来创建一个 red2 环境,然后然后在构建 red2 时应用配置。然后使用 git aws.push 将您的代码推送到 blue 环境中,进行测试,然后使用 Application Versions 页面将运行在 blue 上的代码提升到red2

    与此同时,所有实时流量仍处于红色

    然后您可以使用您的主机文件或仅测试 red2 弹性 beanstalk URL,确保一切正常,然后点击 URL 交换。

    您将交换 REDRED2

    【讨论】:

    猜你喜欢
    • 2018-11-01
    • 2018-04-27
    • 2020-10-13
    • 2021-09-29
    • 2015-08-05
    • 2015-12-29
    • 2016-12-29
    • 2016-04-20
    • 2012-07-18
    相关资源
    最近更新 更多