我在us-east-1地区(弗吉尼亚州北部)的负载均衡器后面有几个EC2实例(t2.micro),我的用户正在从南美洲访问该应用程序。这是我目前的设置,主要是因为费用大约是我支付巴西相同服务费用的50%。
我的上传内容全部转到S3存储桶,也位于us-east-1区域。
当用户从我的应用程序请求文件时,我检查权限是因为存储桶不公开(因此我需要所有数据通过EC2实例)并且我将文件从S3流式传输给用户。用户的下载速度很好,通常达到用户连接可以处理的最大速度,因为我已经为我的存储桶启用了传输加速。
我的问题是通过EC2实例上传文件。上传速度受到很大影响,在这种情况下,在S3上启用传输加速并没有任何帮助。感觉我被AWS扼杀了,因为最高速度限制在1Mb / s左右。
我可以将文件直接从用户传输到S3,然后更新我的数据库,但这会给我的主要工作流程带来一些问题。
所以,我有两个问题:
1)EC2实例的上传速度是否正常受到影响?
2)除了将所有服务移至南美洲之外,我还有哪些选择?更靠近我的用户?
提前致谢!
答案 0 :(得分:2)
无需通过Amazon EC2实例从Amazon S3“流式传输”数据。也没有必要通过Amazon EC2“上传”。
相反,您应该使用预签名网址。这些URL授予对Amazon S3上传或下载的限时访问权限。
它的工作方式是:
结果是高度可扩展的系统,因为您的EC2系统不需要参与实际的数据传输。
请参阅: