在研究如何使用 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 可以有效地处理缓存失效。