26

我对 Amazon AWS 服务非常陌生。我想知道是否有办法运行 EC2 实例(例如,Amazon Linux AMI),然后将两个环境连接到该实例。

特别是,我想在单个 EC2 实例上运行 PHP 和 Tomcat 环境。

问题是,每次我在 Elastic Beanstalk 中创建一个新环境时,似乎也创建了一个新的 EC2 实例。我在这里错过了什么吗?

我将不胜感激任何提示。

4

2 回答 2

20

AWS Elastic Beanstalk 旨在以一种专为从头开始的可扩展性而设计的方式部署您正在运行的应用程序。因此,Elastic Beanstalk 将启动一个或多个 EC2 实例,将它们连接到 Elastic Load Balancer 实例,配置 CloudWatch 监控和 Auto Scaling 触发器。

此外,由于其基本的可扩展性设计,Elastic Beanstalk 是围绕每个环境一个应用程序模型设计的(“环境”是指这些 EC2 + ELB + CloudWatch + AutoScaling 集群之一)。

由于使用两个独立的应用程序(PHP 和 Java)运行两个独立的 Web 服务器并不是一个从根本上可扩展的设计,因此它不是 Elastic Beanstalk 优化的用例。

您可以随意启动独立 EC2 实例并在其上安装任何您想要的东西,但您是对的 -git aws.push独立 EC2 实例尚未提供支持。如果 git 支持对您很重要,您需要权衡每种方法的优缺点。

于 2012-10-05T07:31:30.463 回答
4

我也希望能够做到这一点,基本上是从演示等成本的角度来看。

例如,具有一个 PHP 应用程序和一个 Java 应用程序的单个实例。或者,具有两个 Java 应用程序的单个实例。

但是,从我目前在 Elastic Beanstalk 开发人员指南中阅读的内容来看,我没有发现任何明确说明每个环境支持多个应用程序的内容(或者甚至每个 EC2 实例支持多个环境 - 如果这有意义的话)。

这让我想知道这是否是未来经常要求和计划的功能,或者是否出于某种原因“按环境设计单个应用程序”模型。

于 2012-10-03T21:35:59.597 回答