2012-10-03 140 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实例有多个环境 - 如果这种情况更有意义) 。

它让我怀疑这是否是未来经常需要和计划的功能,或者是否因为某种原因单一应用程序环境模型是“按设计”。

相关问题