AWS ELB将多个实例作为Cloudfront源

时间:2016-04-17 17:55:13

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

我是AWS的初学者。我已经知道如何设置EC2,ELB,S3和CF.

现在我有一个问题,当有多个实例(instance0和instance1)的ELB设置为Cloudfront源时,如何处理cloudfront请求。

考虑一个请求来到Cloudfront边缘,如下所示:

http://distributionId.cloudfront.net/profile_pic_1.png

第一次请求进入ELB。 ELB将请求传递给instance0或instance1。但是" profile_pic_1.png"仅存在于instance1中。所以在这种情况下,有可能从CF获得404错误。

我的目标:我必须创建一个上传服务器。因此ELB背后会有很多上传服务器实例。 ELB设置为CF的原点。当用户上传照片时,它将临时保存在具有公共访问权限的实例存储中。上传完成后,我将向用户提供上传图片的云端URL。在这种情况下,用户会从CF获得适当的响应吗?

1 个答案:

答案 0 :(得分:4)

  

第一次请求进入ELB。 ELB将请求传递给   instance0或instance1。但是" profile_pic_1.png"只存在于   INSTANCE1。所以在这种情况下有可能获得404   来自CF的错误。

是的,在那种情况下,CloudFront有50%的机会获得404响应而不是图像,而CloudFront只会将该错误响应传递给客户端。您不希望将具有不同内容的实例放在负载均衡器后面。

您的设计中缺少的是亚马逊的S3服务。您应该将所有图像上传到S3而不是EC2服务器。您应该将CloudFront配置为直接从S3提取图像。