【发布时间】:2015-08-02 20:02:42
【问题描述】:
我有一项托管在 Amazon Web Services 上的服务。我有多个 EC2 实例运行完全相同的设置和数据,由弹性负载均衡器和扩展组管理。
这些实例是运行基于 PHP 的 Web 应用程序的 Web 服务器。因此,目前每个实例上都放置了完全相同的文件等。但是当 ELB / 伸缩组根据负载规则等启动新实例时,文件可能不是最新的。 此外,我更愿意为 PHP 会话等使用共享文件系统,而不是粘性会话。
所以,我的问题是,出于这些原因以及将来可能会出现的更多原因,我希望拥有一个可以附加到我的 EC2 实例的共享文件系统实体。 你会建议用什么方法来解决这个问题? AWS 是否直接提供任何解决方案,这样我就可以依赖他们的服务,而不是使用 DRBD 等在我的设备上进行操作?最简单的方法是什么? DRBD,NFS,...? S3 是否也适用于这些意图?
提前致谢。
【问题讨论】:
-
AWS 即将推出新的网络文件存储解决方案功能。在那之前,我认为最好的选择是使用 S3 来存储资产。对于会话,请尝试 Elasticache 或将会话存储在数据库中以获得完整的无状态服务器。您的设置听起来像 beanstalk 提供的。您是手动配置它们还是使用 Beanstalk?如果您使用 beanstalk,您可以编写脚本以在启动时从 s3 存储桶或其他实例下载资产用于本地存储。只要您的服务器不生成任何新资产,这将起作用。
标签: amazon-web-services amazon-ec2