9

我需要在 Elastic Beanstalk 上使用为 Glassfish 服务器编写的 Java 应用程序。因为亚马逊不允许我选择带有 Glassfish 的 AMI,我选择了带有 Tomcat 的 AMI,并且我修改了我的应用程序以在 Tomcat 上正常工作。

现在,我发现我还需要使用 Sun JDK,而默认情况下 Elastic Beanstalk AMI 带有 openjdk。我用谷歌搜索了很多,在StackOverflow上找到了一些(不是很多资源)有趣的帖子,比如这个答案

我无法理解的是答案的这一部分:

从您从 EC2 手动启动的 Amazon beanstalk AMI 的运行实例创建您的自定义 AMI,而不是从通过 beanstalk 启动您的应用程序启动的实例。

所以,我的问题是:有人如何在 Elastic Beanstalk 上使用带有 Glassfish 的自定义 AMI?如果不可能,有人可以解释一下如何创建自定义 AMI 吗?

谢谢,安德里亚

4

3 回答 3

10

该答案仅意味着“不要启动 beanstalk 应用程序并直接从其中一个实例中剪切 AMI。相反,启动基于 beanstalk AMI 的实例(可在公共 AMI 列表中获得)。” 即,使用其中之一;请注意,其中有 84 个:

Beanstalk AMI

完成配置该实例后剪切您自己的私有 AMI,并在您的 beanstalk 环境中指定它。

于 2012-08-17T12:18:34.630 回答
6

我个人发现选择的答案让我难以理解,可能是因为我仍在攀登 AWS 学习曲线。也许这个答案会帮助其他新手。刚刚弄清楚如何使用我自己的自定义 AMI 成功启动 Elastic Beanstalk 实例,我相信这句话的意思是执行以下对我有用的完全不明显的步骤:

  1. 转到 EC2 服务(不是 Elastic Beanstalk 服务)并启动基于Elastic Beanstalk AMI的实例,您希望将其用作自定义 AMI 的起点。你会在一分钟内把它扔掉。

  2. 选择实例并选择“创建映像/EBS AMI”。创建后,您可以删除您创建的临时 EC2 实例。它的唯一目的是创建自定义 AMI。

  3. 现在转到 Elastic Beanstalk 服务并编辑您的配置以引用您的自定义 AMI。

于 2013-04-08T20:56:47.537 回答
1

@Danger 这将加快扩大规模。

我在 EB 上使用 docker 应用程序,但来自 Docker Hub 的“docker pull”太慢了,所以当所有实例都不健康时,我的网站将在 15-30 分钟内关闭。创建自定义 AMI 并拉取基础 Docker 映像将节省时间。

于 2014-12-16T01:56:27.960 回答