2016-04-23 96 views
0

在我的移动应用程序中,图像和视频直接上传到S3,然后使用CDN(用于图像的Imgix和用于视频的Cloudfront)访问它们。查找上传到的最快的S3存储桶

目前我的存储桶位于US.West.1区域。亚洲用户报告的上传速度始终较慢。我计划在亚洲地区为更接近亚洲地区的用户上传另一个存储桶。

我的问题是如何应用程序可以确定哪个存储区(区域)将提供最快的上传速度 - 我想我可以使用区域设置,但可能不会给我最可靠的信息。

跨区域复制对我来说不是最佳的,原因有两个:1)不能保证复制何时完成;和2)产生更多的成本(空间的双倍成本和转移的三倍成本)。

回答

1

对此的解决方案不是在一堆不同的S3存储桶之间反弹。 AWS已经为这个确切问题提供了一个专门构建的解决方案:CloudFront uploads。通过上传到CloudFront而不是S3,您的用户将上传到最近的CloudFront边缘位置。

另一种选择是使用刚发布的新功能S3 Transfer Acceleration。这将比CloudFront更容易设置,并且与CloudFront的文件上传到S3的工作几乎完全相同。

+0

谢谢!我刚刚发现了S3 Transfer Acceleration - 看起来和我需要的完全一样,即使比拥有不同的桶更贵一点。但是,找不到任何关于如何在iOS SDK上使用此信息的信息 - 任何指导? –

+0

而且我听说并且阅读了CloudFront上传,但iOS SDK尚未本机支持,并且存在一些技术难题。考虑到新的传输加速功能,不要以为他们会在这方面花费太多精力。 –

+0

尚未支持 - 更新位于:https://github.com/aws/aws-sdk-ios/issues/358 –