Amazon ec2 Can';t从Amazon Beanstalk示例应用程序生成一个可工作的定制EC2 AMI

Amazon ec2 Can';t从Amazon Beanstalk示例应用程序生成一个可工作的定制EC2 AMI,amazon-ec2,amazon-elastic-beanstalk,Amazon Ec2,Amazon Elastic Beanstalk,由于我想安装Jenkins(ex Hudson)在AWS Beanstalk上运行我的持续集成过程,我需要一个自定义AMI,因为Tomcat和Linux中的一些参数必须为Jenkins更改 我运行安装和定制实例的过程,最初由Beanstalk启动,直到最后,Jenkins的工作就像一个魔咒 但是,我不能重复使用我在定制结束时生成的AMI:BeansTalk完成的运行状况检查没有看到EC2实例,尽管BeansTalk启动了它,并且它工作正常 为了理解我的问题,我将失败的过程简化为以下内容: a)

由于我想安装Jenkins(ex Hudson)在AWS Beanstalk上运行我的持续集成过程,我需要一个自定义AMI,因为Tomcat和Linux中的一些参数必须为Jenkins更改

我运行安装和定制实例的过程,最初由Beanstalk启动,直到最后,Jenkins的工作就像一个魔咒

但是,我不能重复使用我在定制结束时生成的AMI:BeansTalk完成的运行状况检查没有看到EC2实例,尽管BeansTalk启动了它,并且它工作正常

为了理解我的问题,我将失败的过程简化为以下内容:

  • a) 我根据Amazon提供的示例创建了一个新的BT应用程序/环境(我拥有的唯一参数是SSH我的EC2实例的密钥对)
  • b) 当EC2实例启动时,我使用EC2闪存AMI
  • c) 我通过将原始AWS Ami(id:100fff79-Tomcat 6 64位)更改为(b)中生成的1来修改BT env配置
  • d) 当我更改ami id时,BT将重建
  • e) 重建将重新启动EC2实例
  • f) 它启动正常(可以通过ssh连接到它),但运行状况检查失败,my env变为红色状态
有人能重复这个过程,告诉我我做错了什么吗? (我想使用(b)的AMI作为我的Jenkins定制的起点。)

我可以提供的其他信息: 当ssh连接到EC2实例时,底部描述的apache、java、thin和BluePill的grep显示4个预期进程消失了。因此,失败了

求求你,救命

问候


didier将回答我自己的问题:为Beanstalk获得可工作的定制ami的正确方法不是尝试刷新Beanstalk启动的运行实例,而是为Beanstalk启动模板ami(在我的例子中,ami-100fff79用于Tomcat 6 64位)从EC2控制台进行定制,然后刷新,就完成了

然后,通过将ami更改为新ami,您可以为BT环境“编辑配置”,并且工作正常

问候
didier

如果您提供更多详细信息,这是我为Beanstalker的0.3.0版计划的一项功能,Beanstalker是我的一套Maven插件,用于自动将Maven部署到Elastic Beanstalk和Elastic MapReduce。可在


实际上,占位符在那里,但我还没有对此进行全面测试。你愿意尝试提供帮助和建议吗?

你应该能够从正在运行的实例中创建自定义AMI,只要在构建新AMI之前删除实例上的/opt/elasticbeanstalk/srv/hostmanager/db/hostmanager.db。我一直在看人们说“这不可能做到,你需要在Elastic Beanstalk之外创建一个干净的实例”,这就是废话。我做到了


下面是我为自定义安装所做工作的完整总结:--有些可能不适用于您,有些可能适用。

您好,抱歉,但不要使用Maven.Didier