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