AWS Elastic Beanstalk 配置教程
Elastic Beanstalk 是一个非常方便的PaaS平台,不需要装操作系统,不需要配置中间件环境,只需要上传一下WAR包,设置一下,马上就有了自动Load balance,可以添加trigger自动添加/删除机器,相当强悍,注册个AWS帐号就可以用。
在高可用性上,Elastic Beanstalk可以在一台机器crash了以后迅速(5分钟)在不同的AvailabilityZone启动另外的几台机器。如果刚开始就设置了三台机器,它会自动分布在三个不同的AvailabilityZone里,相当智能。
简单易行,无限扩展。WS Elastic Beanstalk 是一项易于使用的服务,用于在熟悉的服务器(例如 Apache 、Nginx、Passenger 和 IIS )上部署和扩展使用 Java、.NET、PHP、Node.js、Python、Ruby、GO 和 Docker 开发的 Web 应用程序和服务。
您只需上传代码,Elastic Beanstalk 即可自动处理从容量预配置、负载均衡、自动扩展到应用程序运行状况监控的部署。同时,您能够完全控制为应用程序提供支持的 AWS 资源,并可随时访问基础资源。
Elastic Beanstalk 不额外收费 – 您只需支付使用 AWS 资源存储和运行应用程序的费用。
AWS Elastic Beanstalk 的新特性
1.入门快速,使用简单
Elastic Beanstalk 是在 AWS 上部署应用程序最快最简单的方法。您只需使用 AWS 管理控制台、Git 存储库或集成开发环境 (IDE)(如 Eclipse 或 Visual Studio)上传自己的应用程序,Elastic Beanstalk 将自动处理容量预配置、负载平衡、自动扩展及应用程序运行状况监控等部署详细信息。几分钟内,您的应用程序即可使用,无需您处理任何基础设施或资源配置工 作。
2.开发人员生产力
Elastic Beanstalk 负责配置和操作基础设施,并帮您管理应用程序堆栈,因此您无需花时间,也不用发展专业技能。这样您就可以集中精力编写代码,将管理和配置服务器、数据库、加载平衡器、防火墙和网络等工作交由 Elastic Beanstalk 代劳。
3.发展适度
Elastic Beanstalk 会根据应用程序的具体需求使用可以轻松调整的 Auto Scaling 设置自动对其进行扩缩。例如,您可以使用 CPU 使用率指标来触发 Auto Scaling 操作。使用 Elastic Beanstalk,应用程序可以处理工作负载或流量中的高峰,同时最大程度降低成本。
4.完善的资源控制
您可以根据应用程序的需要自由选择最适宜的 AWS 资源,例如 Amazon EC2 实例类型。此外,使用 Elastic Beanstalk,您可以“彻底检查”,并保留对支持应用程序的 AWS 资源的完整控制。如果您决定要接管基础设施的部分(或所有)元素,可以使用 Elastic Beanstalk 的管理功能无缝执行此操作。
1.创建:
进入Elastic Beanstalk的界面->创建:
这里上传一下WAR包, 然后下一步继续会有提示输入项目访问URL地址,配置Existing Key Pair可以用来SSH登入EC2,经过两三步,机器就创建好了
2.设置:
设置自动Load balance:下图是设置的例子是load balance接受到的请求小于100就自己新建一台机器,并自动部署好应用,如果小于100,就减一台机器,向上一点会有cooldown的设置来避免频繁的add/remove机器,
另外目前Trigger里的UnHealthyHostCount和HealthyHostCount以前点BUG,已经返应Amazon了,估计不久会修复。同时要注意使用这个服务数据是临时存储的,如果要长持久化保存,建议将ec2实例终止功能保护打开。