在EC2上运行Java EE应用程序

任何人都可以向我指出描述的步骤/资源:

  1. 如何在amazon-EC2上部署Java EE应用程序
  2. 在实例重新启动后保持对应用服务器的元数据的更改(部署新应用程序)(可能使用amazon-ebs)

首先检查一下,如果你还没有完成它: http : //docs.aws.amazon.com/gettingstarted/latest/awsgsg-intro/intro.html
它会让你知道它是如何工作的。

关于在EC2上运行Java EE应用程序,您有几个选择 – 但它们通常归结为以下配方:

  1. 启动一个实例
  2. 安装Java EE应用程序服务器(tomcat / glassfish / websphere / …)
  3. 将应用程序(war / ear)安装到应用程序服务器中

现在你可以将上面的内容捆绑到一个ebs ami中,或者你可以编写一个脚本(bash / sh / tcl),它在你的实例启动时应用这些更改(我更喜欢)。 这些脚本允许您修改安装/启动/移动的内容,而无需重新绑定您的实例。

这里有一些很棒的资源: http : //developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID = 100

希望有所帮助。

如何在amazon-EC2上部署Java EE应用程序

您仍然部署到应用程序服务器,因此它并没有真正的不同。 如果您有更具体的问题,请澄清。 但请看一下在Amazon EC2上运行JEE应用程序以及如何在ec2实例上部署Java Web应用程序 。

在实例重新启动后保持对应用服务器的元数据的更改(部署新应用程序)(可能使用amazon-ebs)

如果您使用Amazon EBS,那么您不必担心, Amazon EBS卷是非实例存储,可以独立于实例的生命周期而存在

亚马逊AWS最新推出的Elastic BeanStalk可以帮助您解决问题。 您可以通过Bean Stalk在Amazon Ec2实例上部署Java EE应用程序。 您需要做的就是创建一个新的应用程序并在其中创建一个环境并添加WAR文件进行部署,AWS有自己的Tomcat 6/7版本,带有开放的JDK,如果需要,可以自定义为Sun JDK。

因此,亚马逊提供完整的部署工具,只需在BeanStalk中部署即可开始使用您的应用。 BeanStalk提供Auto Scaling和Elastic Load平衡以及更多自定义应用程序环境。

如果启动ebs引导的实例,则在重新启动后无需关心持久性(请参阅http://aws.amazon.com/about-aws/whats-new/2009/12/03/amazon-ec2- instances-now-can-boot-from-amazon-ebs / )关于Java EE的部署,我认为在非虚拟操作系统上部署它没有任何区别。

Boxfuse支持使用Tomcat,TomEE Web Profile或TomEE Plus通过单个命令将Java EE应用程序部署到AWS

boxfuse run mytomeeapp-1.0.war -env=prod 

这将创建映像,配置所有必需的AWS基础结构并启动实例。 它支持使用弹性IP和ELB进行蓝/绿零停机更新。

你可以在这里找到一个教程: https : //boxfuse.com/blog/javaee-aws.html

您不必担心维护对元数据的更改,因为所有实例都是不可变的并且包含所有必需的应用服务器信息。

免责声明:我是Boxfuse的创始人兼首席执行官