在我的AWS环境中,有一些负载均衡/自动调整的Elastic Beanstalk应用程序。
我希望在它们前面有一个负载均衡器,因此对http://loadbalancer.com/app1的任何请求都会被路由到第一个Elastic Beanstalk应用程序,http://loadbalancer.com/app2到第二个,依此类推。
我尝试设置一个应用程序负载均衡器,其中不同的侦听器路由到不同的目标组。 不幸的是,我的解决方案并不理想,因为目标组绑定到一组固定的EC2实例,而我希望它们与根据需要创建或销毁实例的环境相关联
我还没有找到一种方法将应用负载均衡器的监听器绑定到自动缩放组。
有没有办法达到我想要的目的?
答案 0 :(得分:11)
我按照本文中的说明设法完成了这项工作 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完成)。
答案 1 :(得分:3)
以下是我在控制台中实现Application Load Balancer和Elastic beantalk的方式
这使您可以在ALB-App(“ loadbalancer.com”)上设置dns,并根据规则将流量转发到具有由不同beantalk管理的实例的不同目标组。只需按照以下步骤为每个beantalk环境创建一个目标组,并将其添加到ALB-App的规则中即可。
结果:
“ loadbalancer.com/app1”-> ALB-App-> TG-App1-> Beanstalk Environment 1实例
“ loadbalancer.com/app2”-> ALB-App-> TG-App2-> Beanstalk Environment 2实例
答案 2 :(得分:0)
Amazon Elastic Beanstalk现在支持共享负载均衡器
11-2020年9月