34

我想关闭Elastic Beanstalk环境的Elastic Load Balancer(ELB)。没有弹性负载均衡器的弹性Beanstalk

目前我不需要它,我不想为此付费。

可以删除EC2管理窗口中的ELB,但Elastic Beanstalk健康状态从绿色切换为红色。 我刚刚发现一个information,这是不可能的。

是否有人有一招如何运行Elastic Beanstalk没有负载平衡,并有环境健康状态?

+3

恐怕您无法从Elastic Beanstalk包中取出负载平衡器。你可以做一些其他可能需要更多配置的东西 - 你可以创建一个CloudFormation脚本,它使用预定义的AMI(可能类似于Beanstalk的使用),并自行完成所有部署。 –

+0

我相信您可以从EC2管理页面获取与您的负载均衡器相关联的弹性IP,并将其直接与您的应用服务器实例相关联。不过,我预计预配置的健康状况监测仍然会下降,因此需要进行更多的更改才能使所有环境都再次“绿色”。 – rvalue

回答

33

自2013年7月起,Elastic Beanstalk支持"single-instance" environments,其中有一个容器实例在没有负载平衡器的情况下运行。使用“负载均衡环境”设置的现有环境可以切换为“单一实例”,反之亦然。

在此之前,无法删除负载均衡器并使Elastic Beanstalk仍然正常工作。负载平衡器是Elastic Beanstalk在“负载平衡环境”配置中工作方式的组成部分。

+4

由于“Auto Scaling EvaluationPeriods设置无法应用,因为AWSEBCloudwatchAlarmHigh不存在”以及“由于AWSEBLoadBalancer不存在而无法应用Load Balancer健康检查设置”,因此失败,然后“无法更新设置:配置验证例外:自动由于AWSEBCloudwatchAlarmHigh不存在,因此无法应用Scaling EvaluationPeriods设置。“ – orome

21

在新的Elastic Beanstalk界面中,我注意到创建我的环境作为单个实例的选项。

Dropdown with options "Single instance" and "Load balancing, autoscaling".

我尝试过了,正如人们所预料的,它并没有创建一个弹性负载均衡。万岁!

选项在​​中描述。起初我重新创建了我不需要自动平衡的环境,但显然你甚至可以使用switch environment type on the fly

+4

附注:昨天我发现了这个问题,并且该功能似乎今天已经推出。有时候事情就是你自己的方式。 – lime

+0

这不起作用(请参阅我对[上述答案](http://stackoverflow.com/a/12736032/656912))的评论)。 – orome

+0

@raxacoricofallapatorius,它听起来像你的Elastic Beanstalk配置有问题,它并不真正涉及到这个特定的问题。也许你应该把它作为一个新问题来提出,例如在[服务器故障](http://serverfault.com/)? – lime

3

从命令行可以做这样

eb create -s 

当激活单个实例模式(-s开关)既不负载平衡器也不被创建

自动缩放组另一种方法是通过控制台创建工作人员环境

enter image description here

或通过CLI

eb create -t Worker 
0

在保存的配置,或特定于模块的env.yaml,使用:

OptionSettings: aws:elasticbeanstalk:environment: EnvironmentType: SingleInstance

要创建一个单实例EB环境。

相关问题