11

是否可以使用弹性 beantalk 重用现有的负载均衡器?

4

3 回答 3

14

据我所知,我可以让它工作的唯一方法如下:

  1. 将您的环境创建为单个实例,而不是负载平衡。您会发现 EB 无论如何都会创建一个 Auto Scaling 组。

  2. 为 EB 环境手动创建目标组(在目标组下的 EC2 控制台中)

  3. 将您刚刚创建的目标组分配给 Auto Scale 组(在 EC2 控制台中的 Target Groups 下,单击 Auto Scale 组并编辑详细信息)

  4. 将目标组的侦听器添加到所需的 ALB

  5. 完毕

管理缩放必须直接在 Auto Scale 组上完成,因为它在 EB 控制台上保持禁用状态。

更改配置和更新应用程序有效并推送到所有实例。

我尚未测试升级操作系统,但我认为它可以正常工作,因为它不太可能重建 Auto Scaling 组

重建环境有效,但随着 Auto Scale 组的重建,您需要手动重置目标组和自动扩展配置。

更新:一年多来,我一直在使用此设置运行多个客户端而没有问题。

于 2017-12-20T15:36:39.230 回答
8

AWS 现在支持在 Elastic Beanstalk 环境之间共享 Application Load Balancer。

但是,这只能在环境创建期间完成。以下是使用共享负载均衡器的步骤。

  1. 打开Elastic Beanstalk 控制台,然后在区域列表中,选择您的 AWS 区域。

  2. 在导航窗格中,选择Environments

  3. 选择创建新环境以开始创建您的环境。

  4. 在向导的主页上,在选择Create environment之前,选择Configure more options

  5. 选择高可用性配置预设。

    或者,在容量配置类别中,配置负载平衡环境类型。有关详细信息,请参阅容量

  6. 负载均衡器配置类别中,选择编辑

  7. 选择Application Load Balancer选项(如果尚未选择),然后选择Shared选项。

在此处输入图像描述

  1. 进行环境需要的任何共享 Application Load Balancer 配置更改。

  2. 选择Save,然后进行您的环境需要的任何其他配置更改。

  3. 选择创建环境

完成上述步骤后,Elastic Beanstalk 在共享负载均衡器内创建规则。

规则根据Host标头转发请求。

最后,您的共享负载均衡器将如下所示:

在此处输入图像描述

如果要修改当前的EB环境使用共享ALB,我推荐以下步骤:

  1. 用于eb config get <saved_configuration_name>下载环境的当前配置。

  2. 修改本地计算机上的配置。

  3. 运行eb config put <modified_configuration_name>以将配置文件上传到 Elastic Beanstalk。

  4. 使用修改后的保存配置启动新环境来替换旧环境。

于 2020-11-20T06:29:40.557 回答
0

我不认为这是可能的。Elastic beanstalk 在其一组资源上工作,例如 ASG、安全组和 LB 等。与其他组件共享它们可能会导致组件发生不必要的更改,这可能会导致系统停机。但是,在我看来,一旦创建 EB 负载均衡器,您应该能够将机器添加到它,但是当您终止/重新创建应用程序时会遇到麻烦。

于 2016-10-05T14:08:23.343 回答