如何将应用程序长期部署在EC2 Server上?

时间:2018-01-11 07:05:54

标签: amazon-web-services amazon-ec2 deployment

我有一个弹簧启动应用程序,它部署在运行正常的EC2服务器上。

但是经过一段时间后,该任务会自动被杀死。我试图寻找一个解决方案,但无法找到任何解决方案,或者我可能并不确切地知道要搜索什么。因此关于SO的问题。

有什么我可以实现的,它会继续ping实例以保持活着吗? 如果是,我该如何实施呢?这样做我还要考虑其他任何缺点吗?

1 个答案:

答案 0 :(得分:0)

选项1.弹性容器服务

Dockerize您的应用。创建ECS群集并发布您的服务。您的Docker容器仍将在EC2实例上运行,但ECS将自动将应用程序实例的数量保持为“活动”。如果容器被杀死(因为主Java进程被杀死),ECS将自动重启容器。

选项2. Elastic Beanstalk

使用Elastic Beanstalk发布您的Java应用程序,它将自动监控您的Web应用程序的“运行状况”,并自动替换“不健康”的EC2实例。它仅适用于Web应用程序,因为Elastic Beanstalk会调用HTTP(S)检查您指定的URL。

选项3.将弹性负载均衡器与Auto Scaling组配合使用

ELB可以对您的应用进行HTTP(s)检查。如果实例没有响应,它将自动替换。您需要创建一个AMI或cloud-init脚本来引导新实例。