是否可以使用弹性beanstalk重用现有的负载均衡器?
答案 0 :(得分:4)
据我所知,唯一可行的方法是:
将您的环境创建为单个实例,而不是加载平衡。你会 发现EB无论如何都会创建Auto Scaling组。
为EB环境手动创建目标组(在目标组下的EC2控制台中)
将您刚创建的目标组分配给Auto Scale组(在目标组下的EC2控制台中,单击Auto Scale组并编辑详细信息)
将目标组的监听器添加到所需的ALB
完成
管理缩放必须直接在Auto Scale组上完成,因为它在EB控制台上保持禁用状态。
更改配置并更新应用程序,并推送到所有实例。
我还没有测试升级操作系统,但我认为它可以毫无问题地工作,因为它不可能重建Auto Scaling组
重建环境有效,但在重建Auto Scale组时,您需要手动重置目标组并自动调整配置。
更新:我已经使用此设置运行了几个客户,并且一年多没有问题。
答案 1 :(得分:1)
AWS现在支持sharing of an Application Load Balancer among Elastic Beanstalk environments.
但是,这可以在创建环境期间完成。这里是the steps,以使用共享负载均衡器。
打开Elastic Beanstalk console,然后在地区列表中,选择您的AWS区域。
在导航窗格中,选择环境。
选择Create a new environment开始创建您的环境。
在向导的主页上,选择创建环境之前,选择配置更多选项。
选择高可用性配置预设。
或者,在容量配置类别中,配置负载平衡环境类型。有关详细信息,请参见Capacity。
在负载均衡器配置类别中,选择编辑。
选择应用程序负载平衡器选项(如果尚未选择),然后选择 Shared 选项。
进行环境所需的所有共享的Application Load Balancer配置更改。
选择保存,然后进行环境所需的任何其他配置更改。
选择创建环境。
完成上述步骤后,Elastic Beanstalk在共享负载均衡器内创建规则。
规则基于Host
标头转发请求。
最后,您的共享负载均衡器将如下所示:
如果要修改当前的EB环境以使用共享的ALB,建议使用eb config get <saved_configuration_name>
下载环境的当前配置。
然后在本地计算机上修改配置。
然后运行eb config put <modified_configuration_name>
将配置文件上传到Elastic Beanstalk。
答案 2 :(得分:0)
我认为不可能。弹性beanstalk在其一组资源上工作,如ASG,安全组和LB等。与其他组件共享它们可能会导致对组件的不必要的更改,这可能会导致系统崩溃。 但是,在我看来,您应该能够在创建EB负载均衡器后将其添加到EB负载均衡器中,但是当您终止/重新创建应用程序时,您将遇到麻烦。