7

使用 AWS S3 和 CloudFront 托管站点时,可以限制对您从 Amazon S3 存储桶提供的内容的访问

我想将对 S3 上的资产的访问限制为我的 Amplify 应用程序 (CDN)。

是否可以使用 AWS Amplify 实现相同的限制?部署我的 AWS Amplify 应用程序后,我看不到 CloudFront 分配。文档指出:“AWS Amplify 控制台利用 Amazon CloudFront 全球边缘网络在全球范围内分发您的 Web 应用程序”(常见问题解答,托管)。

4

1 回答 1

5

在研究如何使用 Amplify 应用程序的原始访问身份来限制对 CloudFront 的 S3 访问时,我意识到托管 Amplify 应用程序的两种方法的重要区别:

  • 使用 AWS Amplify 控制台,或
  • 使用 S3 和 CloudFront(产品阶段)

过去,我只使用 Amplify 控制台将自定义域关联到我的应用程序。我不明白为什么我找不到Amplify 控制台托管常见问题所指的 CloudFront 分配。

AWS 托管 CloudFront 分配

我了解到,通过 Amplify 控制台将 Route 53 托管自定义域添加到我的 Amplify 应用程序后,会自动创建AWS Managed CloudFront 分配。此 CloudFront 分配在您的账户中不可见,也无法由您直接管理。当我看到 Route53 中的别名记录指向添加自定义域后不在我的账户中的 CloudFront 分配时,我首先注意到了这一点。

自定义域优先

似乎一旦您通过 Amplify 控制台添加了自定义域,然后使用 Amplify CLI 添加托管不会使 AWS 托管 CloudFront 分配无效

哪个更好?

我没有在文档中找到任何关于哪种托管策略更好的指导。我假设使用 Amplify 自定义域的一个优势可能是 AWS 托管 CloudFront 分配是使用您的应用程序的最佳设置创建的。这种方式也意味着 Amplify 可以有效地处理缓存失效。

于 2020-05-12T08:13:24.153 回答