3

在我的AWS环境中,有一些负载平衡/自动调整的Elastic Beanstalk应用程序。跨不同Elastic Beanstalk应用程序的负载平衡

我希望在它们前面有一个负载均衡器,因此任何请求到http://loadbalancer.com/app1都会被路由到第一个Elastic Beanstalk应用程序,http://loadbalancer.com/app2到第二个等等。

我试图设置一个应用程序负载平衡器,不同的侦听器路由到不同的目标组。 不幸的是,我的解决方案并不理想,因为目标组绑定到一组固定的EC2实例,而我希望它们被关联到一个环境,其中实例被创建或按需销毁

我还没找到一种将应用程序负载平衡器的侦听器绑定到自动缩放组的方法。

有没有办法实现我想要的?

回答

6

我只是设法做到这一点,下面这篇文章中的说明 https://aws.amazon.com/blogs/devops/introducing-application-load-balancer-unlocking-and-optimizing-architectures/

步骤:

1)创建一个新的目标群体

aws elbv2 create-target-group --name <target_group_name> --protocol HTTP --port 80 --vpc-id <vpc_id> 

2)结合你的目标群体到与应用关联的自动缩放组

aws autoscaling attach-load-balancer-target-groups --auto-scaling-group-name <id_of_the_autoscaling_group> --target-group-arns "<new_target_group_arns>" 

3)在主应用程序负载平衡器中创建一个新规则,该规则将所需的路径路由到正确的应用程序(这可以通过UI完成)。

+0

令人惊叹。我几乎放弃了这一点,直到我找到你的答案。在Google的App Engine Flexible上,这非常容易,只需一个简单的dispatch.yaml文件。 – benwixen

+0

你刚刚救了我,谢谢! – Sean256