Deployment 如何将大约一个java应用程序部署到大约100个EC2实例?

Deployment 如何将大约一个java应用程序部署到大约100个EC2实例?,deployment,amazon-ec2,amazon-web-services,auto-build,Deployment,Amazon Ec2,Amazon Web Services,Auto Build,我的情况如下: 我有大约100个EC2实例,每个人都运行一个java应用程序(JavaSE应用程序,而不是JavaEE应用程序),我想将我编写的jar文件和库部署到所有实例,然后让应用程序在每个人的应用程序上运行。因为应用程序在不断变化,每次我都要花两个小时来做这项工作 您知道是否有一种管理工具或软件可以帮助我自动完成这项工作吗?您部署此应用程序的做法是什么 您是否有AWS上开发的自动部署工作流 因为您使用的是java,所以可以使用AWS Elastic Beanstalk 开发生命周期: 管

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

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


您是否有AWS上开发的自动部署工作流

因为您使用的是java,所以可以使用AWS Elastic Beanstalk

开发生命周期:

管理环境:

在同一页上有更多的文章链接,可能需要阅读所有的链接,但我觉得这两个链接也是与你的问题最相关的。我没有使用过此产品,因此无法提供任何第一手经验,但它似乎旨在帮助您解决具体问题。

Kwatee(),我们的免费轻量级部署工具,支持EC2实例以及弹性负载平衡。这里有一个小型EC2部署的简短屏幕放映。

正是您想要的

对于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
这将

  • 创建新应用程序并将其配置为使用ELB
  • 将其缩放到100 t2.micro实例
  • 创建AMI
  • 创建一个ELB
  • 创建一个安全组
  • 创建自动缩放组
  • 启动您的实例

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

    您可以使用自动缩放启动配置和自动缩放组启动100个EC2实例。但请稍候,需要向AWS支持请求EC2实例类型为EC2实例的限制。通常,完成请求需要1个工作日

    • 首先,假设在AWS控制台中创建自动缩放启动配置。自动缩放启动配置包括类型、存储、安全组,您可以添加脚本以在EC2实例启动时运行
    • 接下来是自动缩放组。您必须选择适合您的自动校准组的启动配置。在自动缩放组配置中,您必须提到最小和最大计数(即,它将基于最小计数启动EC2实例,并最多启动最大计数)。CloudWatch监视可用于自动校准组。CloudWatch将根据EC2实例CPU利用率和报警设置工作
    • 弹性负载平衡将有助于在EC2实例之间分配流量。如果要使用ELB,则必须在自动缩放组之前创建。在自动缩放组中,您可以包括ELB来处理和分配流量

    谢谢,这似乎是一个非常酷的系统,它支持纯Java SE应用程序吗?它部署任何文件/可执行文件,并且完全不懂语言。部署通过ssh进行(最好在EC2实例上使用kwatee并使用专用地址),您可以配置在ssh外壳上执行的部署操作,以执行安装操作、启动和停止进程。Elastic Beanstalk仅适用于WAR文件,而不适用于打包在JAR中的一般Java应用程序。