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環境。