AWS Cloudfront多个来源 – 如果在第一个发现中找不到第二个来源,我们该如何回退

我们尝试设置默认原点为S3的Cloudfront分配,但如果在S3上找不到内容,我们希望它从EC2实例中获取。

我们可以设置这些多个来源:S3和EC2以及两种行为,默认为(*),并在需要时将它们故障切换到第二个原点(EC2)?

过程如下:

  1. 我们的后端在EC2实例上生成图像。
  2. 我们尽快将它们上传到S3,但不是立即的。
  3. 当用户尝试访问cdn.example.com/images/picture.jpg时,它会将Cloudfront指向我们的S3存储桶,如果图像不存在,我们希望将该请求redirect到EC2服务器。

我们很好,在这里有一个临时的redirect解决scheme,直到它在S3上更新。

S3redirect不是答案,因为S3redirect似乎只适用于现有对象或整个存储桶,而不是丢失的对象。

我们怎样才能做到这一点?

谢谢,Adoram

CloudFront不支持您的用例。 您需要在应用程序中处理这个问题 – 在您的系统完成传输到S3之前,不要为某个项目提供CDN URL。