我在Elastic Beanstalk上托管一个Django网站。我还没有将它链接到自定义域,并且过去通过Beanstalk环境域名访问它,如下所示:http://mysite-dev.eu-central-1.elasticbeanstalk.com/ 今天我在网站上做了一些压力测试,这导致它开启了几个新的EC2实例。不久之后,我通过本地命令行将新版本部署到beanstalk环境,而3个实例仍然并行运行。由于超时,更新失败。一旦环境终止了除一个实例之外的所有实例,我再次尝试部署。这次它奏效了。但从那时起,我再也无法通过EB环境域名访问该站点。我总是得到一个"花了太长时间才回应"错误。 我可以通过我的ec2实例的IP地址以及我的负载均衡器的DNS访问它。 beanstalk环境很健康,日志没有显示任何错误。 beanstalk环境的域也是Django中允许的主机设置的一部分。所以我的第一个假设是安全组设置有问题。 由于负载均衡器正在通过,似乎问题出在Beanstalk环境的域中。据我所知,beanstalk域名指向负载均衡器,然后重定向到实例?那么环境更新与新实例的结合是否会以某种方式破坏连接?如果是,我该如何解决这个问题,如果没有其他原因可以解决? 作为云托管的开发者和新手,我的理解在这方面相当有限。我的问题似乎与此问题类似Elastic Beanstalk URL root not working - EC2 Elastic IP and Elastic IP Public DNS working ,但还没有帮助我 非常感谢!
答案 0 :(得分:0)
更新:一天后一切恢复正常。环境URL的工作原理与依赖关系在一夜之间恢复一样。 显然服务器可能会遇到停机,但由于网站在直接访问ec2实例ip和负载均衡器dns时工作正常,我仍然对这里发生的事情感到有些困惑。 如果有人对此行为有解释,我很乐意听到。 否则,对于那些经历过拙劣更新之后遇到类似问题的人:在绝望中撕掉你的头发之前,试着让患者一夜之间离开,让AWS生态系统发挥其神奇作用。