【问题标题】:Amazon AWS ElasticBeanstalk custom AMI亚马逊 AWS ElasticBeanstalk 自定义 AMI
【发布时间】:2012-09-30 04:03:18
【问题描述】:

我正在尝试在 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.

我对为什么我的应用没有部署感到困惑。有谁知道怎么回事?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢 Dani,我知道我做错了什么。我试图使用自定义 AMI,但实际上没有对其进行自定义。只是试图证明这个概念......然后失败了。看我自己的答案。感谢您的帮助。
    【解决方案2】:

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

    【讨论】:

    • 嗨马尔科姆,这正是我一直在做的,抱歉,如果我没有更详细地解释;它一定是别的东西。几周前我让它工作了,但现在我似乎不能再做同样的事情了。安全组似乎也是正确的(0.0.0.0/0 可以访问端口 80)。您还有其他想法吗?
    • 嗨 pumuckl,嗯,Beanstalk AMI 使用初始化脚本从 S3 复制您的应用程序,并将其部署到容器 (Tomcat)。
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-04-11
      • 2018-12-07
      • 2016-03-11
      • 2021-07-18
      • 2013-02-27
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 2015-01-19
      相关资源
      最近更新 更多