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