以下解决方案是我多次使用的解决方案,但请记住在生产使用之前始终测试您的解决方案。
该解决方案将使用以下环境名称,您应将其映射到内部 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 以防止产生额外费用(或者如果您不介意,可以保留它$$ 支出)。