2

这是我的情况:我有大约 100 个 EC2 实例,每个人都运行一个 java 应用程序(Java SE 应用程序,而不是 Java EE 应用程序),我想将我编译的 jar 文件和库部署到所有实例,然后让应用程序在每个人的应用。因为应用程序是不时变化的,所以每次我都要花两个小时来完成这项工作。

您知道是否有可以帮助我自动完成这项工作的管理工具或软件,以及您部署此应用程序的做法是什么?

您是否有用于在 AWS 上进行开发的自动部署工作流程?

4

4 回答 4

4

Kwatee ( http://www.kwatee.net ) 是我们免费的轻量级部署工具,支持 EC2 实例以及弹性负载均衡。这里有一个小型 EC2 部署的简短截屏视频。

于 2012-03-04T10:56:46.603 回答
3

由于您使用的是 java,因此您可以使用 AWS Elastic Beanstalk。

开发生命周期:

http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/create_deploy_Java.sdlc.html

管理环境:

http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/using-features.managing.html

同一页面上还有更多文章链接,可能需要阅读所有链接,但我认为这两个也是您的问题最相关的。我没有使用过这个产品,所以我无法提供任何第一手经验,但它似乎旨在帮助您解决您的确切问题。

于 2012-03-03T17:53:25.240 回答
1

Boxfuse完全符合您的要求。

对于您的 Java SE 应用程序,您实际上只需要执行:

boxfuse create my-javase-app -apptype=load-balanced
boxfuse scale my-javase-app -capacity=100:t2.micro
boxfuse run my-javase-app-1.0.jar -env=prod

这将

  1. 创建一个新应用程序并将其配置为使用 ELB
  2. 将其扩展到 100 个 t2.micro 实例
  3. 创建 AMI
  4. 创建 ELB
  5. 创建安全组
  6. 创建自动伸缩组
  7. 启动您的实例

任何后续更新都将作为零停机蓝/绿部署完成。

于 2015-11-13T15:09:31.070 回答
1

您可以使用 AutoScaling 启动配置和 AutoScaling 组来启动 100 个 EC2 实例。但是请稍等,需要向 AWS Support 请求 EC2 实例类型的 EC2 实例限制。通常,完成请求需要 1 个工作日。

  • 首先,您假设在 AWS 控制台中创建 AutoScaling 启动配置。AutoScaling 启动配置包括类型、存储、安全组,您可以添加脚本以在 EC2 实例启动时运行。
  • 接下来是 AutoScaling 组。您必须选择适合您的自动缩放组的启动配置。在 AutoScaling Group 配置中,您必须提及 min 和 max count(即)它将根据 min count 启动 EC2 实例并启动到 max count。CloudWatch 监控可用于 AutoScaling 组。CloudWatch 将根据 EC2 实例 CPU 利用率和警报设置工作。
  • Elastic Load Balancing 将有助于在 EC2 实例之间分配流量。如果要使用 ELB,则必须在 AutoScaling Group 之前创建。在 AutoScaling Group 中,您可以包含 ELB 来处理和分配流量。
于 2017-02-05T16:09:33.320 回答