当实例在AWS弹性beanstalk中扩展时,将http重定向到https会失败吗?

时间:2018-01-06 16:44:51

标签: .htaccess amazon-web-services redirect amazon-ec2 elastic-beanstalk

我们在AWS弹性beanstalk上托管了一个应用程序,我们能够成功地从example.com重定向到https://www.example.com

如果我的应用程序有更多负载,那么自动扩展组会在后端再添加一个EC2实例来处理负载。

让我们说InstanceA正在运行并且负载增加并且InstanceB被添加,当负载正常时,自动扩展组终止其中一个实例,当前在我的应用程序中它正在删除旧的现有InstanceA,我们所有的重定向规则都是写在InstanceA上,因此当实例扩展时我的应用程序重定向失败。

请帮助,有没有选项来保存我现有的实例?或者我们是否需要为每个旋转的实例编写相同的重定向规则?

ELB如下所示 - enter image description here

2 个答案:

答案 0 :(得分:0)

即使您可以控制在ASG(Auto Scaling组)缩小时删除了哪个实例,它也不是一个好的解决方案:您的" InstanceA"可能因其他原因(例如EBS卷的失败等原因而被删除)

你不应该只有" InstanceA"持有重定向规则。重定向规则应该在所有实例上。

您的问题也不仅限于" InstanceA"被删除。当" InstanceB"启动后,用户可以先被发送到那里(从而满足您的负载平衡),那些重定向规则将需要在那里。

您绝不应手动编辑ASG后面的单个EC2实例。所有EC2实例都应视为临时和可删除。

在部署应用程序版本时,应将重定向规则应用于每个EC2实例。

答案 1 :(得分:0)

对于像消费SQS消息的EC2工作人员那样的场景,EC2工作人员用于处理大量处理数据等等,你可以很好地使用AutoScaling而不是别的。

现在,对于您的场景,您肯定需要一个Load Balancer和AutoScaling,并针对Load Balancer的dns进行任何重定向。

因此,我建议您在Beanstalk环境中配置负载均衡器以完成您的方案。

希望有所帮助!