什么是为S3和EC2提供全球服务的最佳解决方案

时间:2015-05-25 14:18:43

标签: amazon-web-services amazon-ec2 amazon-s3 amazon-cloudfront

开发与后端服务器通信的全球移动服务(S3 - 文件服务器,EC2 - 应用服务器) 但我不知道需要多少s3和ec2以及我应该在哪里推出这些。 所以我想知道下面的

  1. 我打算在俄勒冈州安装S3。如您所知,CloudFront是快速获取图像的好方法,但我想解决的问题是上传。我想2个解决方案。第一个解决方案是使用Put方法到CloudFront,通过CloudFront将文件上传到S3。第二种解决方案是在不同区域安装多个S3。哪个是更好的解决方案?

  2. 现在我只在一个EC2中开发应用服务器。我可能需要为全球服务安装几个EC2。但我不知道如何让最终用户连接到几个EC2的特定ec2。你能解释一下吗?

  3. 感谢

1 个答案:

答案 0 :(得分:0)

我认为你对S3的理解略有偏差。

您不会也不应该为了描述的目的而创建“Geo”特定的S3存储桶。

如果您使用该服务通过纯HTTP进行图像传输,那么您可以在任何地方创建存储桶,然后使用Amazon Cloudfront Distribution作为“前端”,它将为您的Geo提供全球约40个边缘位置-optimizations。

世界各地的每个用户都将使用更相关的边缘位置,然后他们将从S3存储桶中请求图像并根据您的元设置进行存储。 (通常情况下,根据我的经验,即使您设置了几个月/年的过期年龄,服务流量较低的网站大约每24小时一次。

你也没有“装载”S3。您只需创建一个存储桶,您就不应该创建存储相同数据的多个存储桶。

.........

对于您的第二个问题,关于为EC2创建“全球服务”,您希望实际实现什么目标。

网络自然是全球性的。您的用户是否会在额外的200毫秒延迟时间内变得更加自由?

您还没有真正描述过您的服务会做什么,但有一种方法是在俄勒冈州完成所有计算,然后只创建缓存服务器,例如不同地区的Varnish。您可以使用Route53进行路由,也可以使用ELB。

我的建议是停止你正在做的事情,并从俄勒冈州发射一切。 “网络”已经是“全球性的”,我不认为你需要担心这样的问题,直到达到规模。在这一点上,我将假设您可以雇用某人为您解决此问题。听起来你有预算...