1

我正在尝试在 AWS Beanstalk 中使用自定义 AMI。我在 EC2 (ElasticBeanstalk-Tomcat7-32bit-20110913-1132 (ami-278e4c4e)) 中手动启动了默认的 Amazon ElasticBeanstalk 映像,并从中创建了我的自定义 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.

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

4

3 回答 3

2

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

很抱歉无法为您提供更好的帮助,但从这里很难知道发生了什么!

于 2012-10-10T09:34:09.407 回答
1

我通常做的是启动一个 Beanstalk 实例(不是具有 Beanstalk AMI 的实例),然后我对该实例进行修改,最后我创建我的自定义 AMI 来完成您想要实现的目标。

于 2012-10-10T01:56:10.590 回答
1

与此同时,我发现了问题所在。当您从 Amazon 预定义的 Beanstalk 映像之一创建自己的 AMI 时,您实际上并未对文件系统进行任何更改(安装任何东西、创建文件等),AWS 在创建自定义快照时不会创建新快照急性心肌梗死。创建的 AMI 将无法在 Beanstalk 中运行。

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

于 2012-10-11T15:23:40.367 回答