Amazon AWS ElasticBeanstalk自定义AMI

时间:2012-10-09 18:54:02

标签: amazon-ec2 amazon-web-services amazon elastic-beanstalk ami

我正在尝试在AWS Beanstalk中使用自定义AMI。我在EC2中手动启动了默认的Amazon ElasticBeanstalk映像(ElasticBeanstalk-Tomcat7-32bit-20110913-1132(ami-278e4c4e))并从中创建了我的自定义AMI。然后我转到ElasticBeanstalk,启动一个环境,一旦启动并运行,我就会在环境配置中切换到这个自定义AMI。

健康状况为绿色。但是我的webapp没有部署在实例上:

[root@ip-***-***-***-*** ~]# ls -l /opt/tomcat7/webapps
total 0

Tomcat正在运行:

[root@ip-***-***-***-*** ~]# /etc/init.d/tomcat7 status
Tomcat 7 is running.

我很困惑为什么我的应用程序没有部署。有谁知道出了什么问题?

3 个答案:

答案 0 :(得分:2)

好吧,Beanstalk AMI使用init脚本从S3复制您的应用程序,并将其部署到容器(Tomcat)。 我建议:  1.查看CloudInit日志:/var/log/cloud-init.log。  2.如果一切看起来都很好(甚至是空的),请编辑/ etc / sysconfig / cloudinit中的脚本以添加一些跟踪,以检查CloudInit脚本是否已执行,或者是否在某些时候失败。

我很抱歉没能给你更好的帮助,但很难从这里知道发生了什么!

答案 1 :(得分:1)

我通常做的是启动一个Beanstalk实例(不是带有Beanstalk AMI的实例),然后我在该实例上进行修改,并完成我创建我的自定义AMI以完成你想要实现的目标。 / p>

答案 2 :(得分:1)

我同时想出了问题所在。当您从其中一个Amazon预定义Beanstalk映像创建自己的AMI,并且您实际上没有对文件系统进行任何更改(安装任何内容,创建文件等)时,AWS将不会在创建自定义时创建新快照AMI。创建的AMI将无法在Beanstalk中运行。

只要在创建自己的自定义AMI之前对默认图像进行任何更改,一切都应该可以正常工作。