2012-10-03 141 views
25

我對Amazon AWS服務非常陌生。我想知道是否有辦法運行一個EC2實例(比如Amazon Linux AMI),然後將兩個環境連接到這個實例。在一個AWS EC2實例(Elastic Beanstalk)上運行多個環境

特別是,我想在單個EC2實例上運行PHP和Tomcat環境。

問題是,每當我在Elastic Beanstalk中創建新環境時,它似乎也會創建一個新的EC2實例。我在這裏錯過了什麼嗎?

我很感激任何暗示。

回答

19

AWS Elastic Beanstalk旨在以從頭開始爲可擴展性設計的方式部署運行中的應用程序。因此,Elastic Beanstalk將啓動一個或多個EC2實例,將它們連接到Elastic Load Balancer實例,配置CloudWatch監控和Auto Scaling觸發器。 Elastic Beanstalk由於其基於可擴展性的基礎設計,因此圍繞一個單一應用程序環境模型(其中「環境」,我的意思是這些EC2 + ELB + CloudWatch + AutoScaling集羣之一)進行設計。

由於具有兩個獨立的應用程序(PHP &的Java)運行兩個單獨的Web服務器是從根本上可擴展的設計,它不是一個用例是彈性魔豆優化。

您可以自由創建獨立的EC2實例並安裝任何您想要的內容,但是您是對的 - git aws.push支持尚未提供給獨立EC2實例。如果git支持對您很重要,您需要權衡每種方法的優缺點。

3

我也想能夠從成本角度對演示等

例如,一個PHP應用程序和一個Java應用程序的單一實例做到這一點,基本上是這樣。或者,具有兩個Java應用程序的單個實例。但是,從我迄今爲止在Elastic Beanstalk開發人員指南中閱讀的內容中,我沒有發現任何明確說明每個環境支持多個應用程序的情況(甚至每個EC2實例有多個環境 - 如果這種情況更有意義) 。

它讓我懷疑這是否是未來經常需要和計劃的功能,或者是否因爲某種原因單一應用程序環境模型是「按設計」。

相關問題