我是AWS的新手,我已经拥有Godaddy VPS服务器,但是当我将其托管在goDaddy VPS中时,我的应用程序运行缓慢。
因此,我迁移到了AWS,现在我的应用程序运行非常快,但是有时EC2实例出现故障,并且一段时间后它会自动重新启动。由于我的应用程序基本上是按需服务应用程序,因此这些实例失败使我失去了一些对话。因此,我听说了来自亚马逊的负载平衡服务,如果一个实例发生故障会自动将流量转到另一实例。
我已将ubuntu 16.04实例与vestaCP一起用于在AWS EC2中托管我的应用程序。那么是否可以将当前主EC2实例的存储与新的替代实例一起使用?这样两个EC2实例将使用相同的数据和数据库。
我的问题可能看起来很有趣,但是我需要知道它是否可行?如果可能的话任何教程!如果不可能的话,什么样的服务需要使用AWS负载均衡器来处理高流量和实例故障。
谢谢
答案 0 :(得分:2)
如果您正从传统的托管服务器迁移到云提供商,但未采用云架构,那么您将失去许多云优势。
通常,对于高可用性,高可伸缩性的Web应用程序,本地共享数据是一种反模式。
现代Web应用程序会将状态(存储)与处理分开。理想情况下,您的实例将仅保存配置和临时数据。对于数据库,假设您正在使用关系数据库,则应启动RDS instance。对于文件,如果它们主要是图像和静态内容之类的东西,则可能会使用The Simple Storage Service, S3。
您的EC2实例将连接到RDS数据库和S3。由于数据不再是实例的本地数据,因此可以轻松地使多个实例全部使用同一存储。
您的EC2实例可以配置为with autoscaling,因此AWS会根据您看到的实际流量自动添加或删除实例。
如果您有复杂的存储需求,而S3不足以容纳文件层(对于大多数应用程序S3来说就足够了),则可以看看Elastic File System。
答案 1 :(得分:0)
是的,可以通过ELB
中的AWS
实现。但是您提到了ec2 instance
的单独要求,因此不需要AWS ELB
这样的管理工作。
注意:始终将数据库保留在具有数据备份,回滚功能的“ AWS RDS”之类的另一个实例上,如果一个实例失败,则另一个实例可以访问数据库。相同的文件应存储在“ AWS S3”上,然后只有您才能实现负载平衡。
有关更多信息。 link