AWS Beanstalk 自动缩放用户文件

AWS Beanstalk autoscale user files

我已经设置了部署服务器应用程序的 AWS Beanstalk 实例。在后端用户可以更改 images/ 目录中的文件。但是在自动缩放实例时,不会镜像用户文件。 如何解决这个需求?我可以将 AWS Ec2 设置为每晚根据最后的 EC2 文件创建新的 AMI 并将其用于自动缩放吗?或者有更好的方法吗?

有几个选项,但通常首先您需要了解,为了水平扩展(添加更多服务器),您的服务器必须 "stateless" 这意味着它们不能有任何特殊信息包括但不限于用户上传的文件。

当前 "best practice"(也是最便宜、最可靠、最稳健等)选项不是让用户上传文件放在文件系统上,而是将它们保存在 S3 上。然后当你需要加载它们时,从 S3 读取它们。

另一个选项(仍处于预览模式)是使用新的弹性文件系统服务为您提供可扩展、可靠的共享硬盘。您的所有服务器都可以连接到您的 EFS 驱动器,并且它们都可以访问相同的文件。您可以在不丢失文件的情况下放大和缩小。