我已经根据官方教程在 AWS 上成功安装了负载平衡和自动扩展:http://docs.aws.amazon.com/gettingstarted/latest/wah-linux/awsgsg-wah-linux.pdf
但是,一旦它启动并运行,我就会有一个问题:
众所周知,如果我们想要实现负载平衡,当然我们会有多个 EC2 实例。我的问题是,如何在 EC2 实例中创建、更新或删除文件,然后在负载均衡器下的所有可用 EC2 实例之间自动同步?
谢谢。
答案1
从历史上看,最佳做法是将常见文件内容存储在 S3 中,但这需要一些努力来在用户空间中安装 S3 或运行某种类型的同步脚本。
更简单的方法是使用安装在所有服务器上的 NAS,以便它们可以共享文件系统。在过去,这需要相当多的努力。然而,亚马逊弹性文件系统(Amazon EFS) 听起来像是您正在寻找的服务。
您只需在所有 EC2 实例上安装 EFS 卷,它们就可以共享一个文件系统。主要的缺点是 EFS 目前处于预览阶段。
答案2
直接回答你,在这种情况下,弹性文件系统或 S3 的替代方案将是某种形式的网络文件共享。领先的、较简单但并不容易的竞争者是 SAMBA、NFS 和 GlusterFS。
为了更准确地解决您的问题,请考虑文件和数据不是一回事。如果您需要以统一的方式管理主机上的文件,那么配置管理系统将是更好的选择(例如 Chef、Puppet、Ansible 或类似工具)。如果您需要来自应用程序或用户的任意数据,那么您需要的是数据存储;以数据库或缓存的形式存在(mysql、postgres、redis、memcached 等)。在这种情况下,值得考虑的是,亚马逊也有可用的数据库,在这些用例中可以查看 RDS 或 Elasticache。