Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何在Amazon EC2上根据需要自动扩展磁盘空间_Amazon Web Services_Amazon S3_Amazon Ec2 - Fatal编程技术网

Amazon web services 如何在Amazon EC2上根据需要自动扩展磁盘空间

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服务器上进行各种配置

我的团队将建立一个像Airbnb这样的网站,我们需要亚马逊上的某种专用服务器,但我希望该服务器能够在磁盘空间上自动伸缩

例如,在项目开始时,网站将有100mb,我将不得不支付100mb的磁盘空间+其他服务器配置 将来,当占用的空间为100gb时,我将不得不为100gb的空间+另一个服务器配置付费。但我不想手动添加磁盘空间。。。我希望它是自动可扩展的,或者很容易增加磁盘大小

现收现付服务将是完美的

我不想从OVH购买专用服务器,然后在需要空间时手动订购新磁盘驱动器并在Linux服务器上进行各种配置


您知道亚马逊上是否有类似的服务吗?

查看弹性文件系统: 或弹性块存储:


这些是为您描述的需求而设计的。这是一个很难回答的问题,因为现在有很多选择来主持一个网站。这取决于开发它所使用的技术。 根据我的经验,我建议两种选择:

无服务器

现收现付给我敲响了无服务器的铃声。您将根据请求和计算机处理的数量按比例支付费用。(). 建议将其用于SPA(如果您正在开发带有ReactVueAngular或类似功能的前端),您的后端将与之完全分离。您可以进一步选择为每个端点编程的语言(使用
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()