切换我的域指向安全生产部署的位置

时间:2014-10-19 15:56:08

标签: elastic-beanstalk production-environment dev-to-production amazon-elastic-beanstalk

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

  1. 有2个prod环境,您可以在每次部署
  2. 之间切换
  3. 部署到未使用的
  4. 如果部署有效,请将yourdomain.com指向新制作,否则,旧制作是安全的
  5. 现在,SEO是一个问题 - 如果我在两个弹性beanstalk环境之间切换我的域名,SEO会受到伤害吗?

1 个答案:

答案 0 :(得分: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生产环境中。使用应用程序版本页面 DEV01 上运行的代码提升为 PROD02 。使用您的hosts文件确保一切正常,然后点击 URL swap。

这将在您的应用程序中无故障切换 PROD01 .elasticbeanstalk.com和 PROD02 .elasticbeanstalk.com环境网址。

一旦确定所有流量都已切换,您就可以按照相同的方法更新原始生产环境,切换回去并删除 PROD01 .elasticbeanstalk.com以防止额外费用(或如果你不介意花钱,你可以离开。