Amazon web services 如何在Amazon EC2上根据需要自动扩展磁盘空间
我的团队将建立一个像Airbnb这样的网站,我们需要亚马逊上的某种专用服务器,但我希望该服务器能够在磁盘空间上自动伸缩 例如,在项目开始时,网站将有100mb,我将不得不支付100mb的磁盘空间+其他服务器配置 将来,当占用的空间为100gb时,我将不得不为100gb的空间+另一个服务器配置付费。但我不想手动添加磁盘空间。。。我希望它是自动可扩展的,或者很容易增加磁盘大小 现收现付服务将是完美的 我不想从OVH购买专用服务器,然后在需要空间时手动订购新磁盘驱动器并在Linux服务器上进行各种配置Amazon web services 如何在Amazon EC2上根据需要自动扩展磁盘空间,amazon-web-services,amazon-s3,amazon-ec2,Amazon Web Services,Amazon S3,Amazon Ec2,我的团队将建立一个像Airbnb这样的网站,我们需要亚马逊上的某种专用服务器,但我希望该服务器能够在磁盘空间上自动伸缩 例如,在项目开始时,网站将有100mb,我将不得不支付100mb的磁盘空间+其他服务器配置 将来,当占用的空间为100gb时,我将不得不为100gb的空间+另一个服务器配置付费。但我不想手动添加磁盘空间。。。我希望它是自动可扩展的,或者很容易增加磁盘大小 现收现付服务将是完美的 我不想从OVH购买专用服务器,然后在需要空间时手动订购新磁盘驱动器并在Linux服务器上进行各种配置
您知道亚马逊上是否有类似的服务吗?查看弹性文件系统: 或弹性块存储:
这些是为您描述的需求而设计的。这是一个很难回答的问题,因为现在有很多选择来主持一个网站。这取决于开发它所使用的技术。 根据我的经验,我建议两种选择: 无服务器 现收现付给我敲响了无服务器的铃声。您将根据请求和计算机处理的数量按比例支付费用。(). 建议将其用于SPA(如果您正在开发带有React、Vue、Angular或类似功能的前端),您的后端将与之完全分离。您可以进一步选择为每个端点编程的语言(使用
lambda函数
)。
您可以在S3(网站的静态文件)中托管前端
,并创建另一个S3,用于存储上传/动态文件(图像等)
它从一开始就可以完全自动伸缩。(没有请求,没有定价,除了S3中的文件存储费用,这是非常公平的)
弹性豆茎
如果您有一个整体(例如:cakephp、ruby-on-rails、django等),您可以使用弹性Beanstalk服务()。您可以部署它并设置自动缩放标准(例如:延迟、cpu等)
以及它如何应用于您的问题:您希望在自动缩放分配给应用程序的多台计算机之间共享文件。您可以从一开始就配置在它们之间共享驱动器。通过这种方式,您可以轻松地处理常见的上载/动态/生成的文件(选中此项并单击此处)
最后..
对于这两种情况,您都需要处理数据库服务器的大小,但是AWS也为数据库提供了一些自动缩放选项(RDS,用于SQL DBs)。对于NoSQL数据库,还可以选择自动缩放,或者只为开发阶段设置所需的读/写限制,并为生产设置不同的限制
我肯定我没有涵盖所有选项,您可能正在使用上面没有列出的内容,但它涵盖了我已经处理过的大多数案例
我希望它能帮助你 您对“服务器”的想法与云提供的功能不匹配
现在,最好将计算与数据库和存储分开:
- 在Amazon EC2上运行您的计算,或者使用容器甚至无服务器(AWS Lambda)
- 将您的数据库放在Amazon RDS上,例如MySQL甚至Amazon Aurora(它与MySQL兼容,可以自动扩展)。它还负责备份、复制等
- 对于文件存储(数据库之外),请使用AmazonS3。例如,所有用于显示家庭的图像都可以直接从S3获得。S3中可以存储的文件数量没有限制。它还可以使用来处理每个用户的安全性
直接连接到compute的存储应视为临时存储。这样,如果节点发生故障,则不会丢失任何数据。将本地存储用于应用程序和临时文件,但不用于持久数据存储。结果是,磁盘空间实际上不是一个考虑因素,因为数据要么存储在数据库中(可以自动缩放),要么存储在S3中(没有存储限制)。我刚刚意识到我的问题还有很多。我们将用普通mysql在laravel中开发整个网站。我认为问题不在于mysql数据库的大小,而在于上传的广告图片。如果只是为了一个数据库,我会购买一台100gb的专用服务器,这就足够了。我只需要为上传到网站上的图像的可扩展空间。我需要类似于专用服务器的东西,我想安装我自己的应用程序。总而言之,除了需要自动伸缩的硬盘之外,还有一个配置(proc、ram等)的专用服务器。我仍然建议使用elastic beanstalk(提供1-N EC2)并将EFS附加到实例中,而不是证明将来可能需要调整大小的“专用”(即EC2)。这是我个人的观点=)但是如果你只想要一台服务器,你可以使用EC2并附加一个EFS。它非常适合作为自动可扩展的hdd()