0

假设我在弹性 beantalk 中有一个 prod 环境和一个 dev 环境。我将我的代码部署到 dev 并且它工作并且一切都很好,但是当我部署到生产时我得到一个错误(注意这是可能的,因为有时实例在部署和 apache 中断期间被破坏)。此解决方案的优缺点是什么:

  1. 有 2 个产品环境,您可以在每次部署时在它们之间切换
  2. 部署到未使用的那个
  3. 如果部署有效,请将 yourdomain.com 指向新产品,如果没有,则您的旧产品是安全的

现在,搜索引擎优化是一个问题——如果我在两个弹性豆茎环境之间切换我的域,搜索引擎优化会受到损害吗?

4

1 回答 1

3

以下解决方案是我多次使用的解决方案,但请记住在生产使用之前始终测试您的解决方案。

该解决方案将使用以下环境名称,您应将其映射到内部 DNS 名称:

PROD01 .elasticbeanstalk.com > www.example.com
PROD02 .elasticbeanstalk.com
DEV01 .elasticbeanstalk.com > dev-www.example.com

通常,在本地开发和测试您的应用程序后,您会将应用程序部署到 AWS Elastic Beanstalk 环境DEV01。此时,您的应用程序将在 URL dev-www.example.com 上运行。

现在您已经测试了您的应用程序,很容易编辑您的应用程序、重新部署并查看结果。

当您对您对应用程序所做的更改感到满意时,您可以将其部署到您的PROD02 .elasticbeanstalk.com 生产环境。使用Application Versions 页面将在DEV01上运行的代码提升到PROD02上。使用您的主机文件确保一切正常,然后点击URL 交换。

这将无缝切换PROD01 .elasticbeanstalk.com 和PROD02 .elasticbeanstalk.com 环境 URL,并且应用程序的停机时间为零。

确保所有流量都已切换后,您可以按照相同的方法更新原始生产环境,切换回并删除PROD01 .elasticbeanstalk.com 以防止产生额外费用(或者如果您不介意,可以保留它$$ 支出)。

于 2014-10-28T08:15:43.710 回答