自定义Elastic Beanstalk实例

我们正在Elastic Beanstalk中部署一个java Web应用程序。 默认情况下,Beanstalk为Tomcat7和openjdk提供Redhat实例。 但我想自定义实例,以便我可以使用Sunjdk。 按照这里提到的步骤,我从EC2启动了一个新实例并安装了sun jdk,tomcat7并创建了实例的自定义AMI,并在BeanStalk的编辑环境配置中的Custom AMI id字段中提供了它的ID。 但我的环境健康状态正在变为RED,并且未部署应用程序。 能否请你为我提出一个解决方案。

我已经完成了您想要做的事情,并且很高兴地报告它有效。 在我的第一次尝试中,我遇到了同样的问题。 确保你:

  • 从您从EC2手动启动的正在运行的Amazon beanstalk AMI实例创建自定义AMI ,而不是从通过beanstalk启动应用程序启动的实例 。 这非常重要,因为Flashing beanstalk启动EC2实例将无法正常工作!
  • 按照这些说明安装Sun的Java,以确保所有环境和符号链接都正确。 https://forums.aws.amazon.com/message.jspa?messageID=251168#251168
  • 请耐心等待,因为我发现由于某些原因,Tomcat需要更长的时间来启动,而不是使用默认的OpenJDK配置。

如果你仍然无法得到它,请确保检查/opt/tomcat7/logs/catalina.out中的日志 – 我点击了一个神秘的VerifyException,它通过将新的.jar上传到环境中解决了,我也用完了permgen空间几乎立即,这是通过增加beanstalk’编辑配置’的’Container’配置区域中的值来解决的。