如何在自动缩放组中共享带有代码的 EFS/s3?

如何在自动缩放组中共享带有代码的 EFS/s3?

主要问题是:

基础设施:

  • 自动缩放(最小 1 - 最大 3)

  • 远程数据传送系统

  • 紧急负载平衡

  • elasticache(redis)

  • elasticsearch

我想分享一卷(EFS / S3)使用我的应用程序的代码;尺寸其中约有1.3 Gb。

使用 EFS:

第一次尝试,我尝试使用权限和 uid、gid、umask 等进行挂载,并且成功了,但是EFS 真的很慢即使采用性能模式并采用专用的 10 Mb 数据传输。

阿帕奇尝试读取该路径上的内容(英语)而且响应非常慢。

mount -t nfs4 efs-amazonaws.com:/  /var/www/filesystem/custom/

使用 S3

它比 EFS 运行得更快,但问题是当 Apache 读取存储桶上的内容(与 EFS 挂载相同)时,它无法连接到存储桶内的资源,示例 Mysql 函数。

s3fs bucket-name /var/www/filesystem/custom/ -o allow_other,uid=33,gid=33,mp_umask=002

我的另一种选择是:

1- 在服务器的其他位置安装 S3 或 EFS。

2-使用 Lsyncd 将 s3 上的更改复制到服务器应用程序的真实路径。

我需要的是如何才能在我的自动缩放组中共享卷的替代方案。!!

谢谢!

答案1

EFS 性能取决于卷上有多少数据。存储的数据越多,性能就越高。这可能就是为什么只有 1.3GB 时速度很慢的原因。

不过你可以支付EFS 预置 IOPS这将会提高性能但需要额外的成本。

或者您也可以存储几个大文件(例如 10x 50GB)来提高与卷大小相关的性能。

测试这两种方法并看看效果如何。

相关内容