如何检查 CloudFront 是否正在故障转移到另一个活动分配?



我有一个网站 s3post.cf,它从以 S3 存储桶为源的 AWS CloudFront 分配获取.json.gz

我已使用另一个存储桶为该存储桶启用了跨区域复制,并设置了第二个 CloudFront 分配。

在 Route 53 上,我创建了与第一个存储桶cloudfront.s3post.cf中的文件关联的运行状况检查,并设置 CloudFront 故障转移 -

  • 第二个分配backup.s3post.cf具有指向其 CloudFront 分配域名的简单路由策略。
  • 第一个分发post.s3post.cf具有与上述运行状况检查关联的主故障转移策略。
  • post.s3post.cf还有一个辅助故障转移策略,该策略使用backup.s3post.cf(第二个分发)作为其别名。

为了测试此设置,我从运行状况检查文件中删除了公共权限。运行状况检查失败,我的站点仍处于活动状态。但是,两个存储桶中的.json.gz文件都是公共的,因此我不确定故障转移是否成功。

如何测试post.s3post.cf是否真的故障转移到backup.s3post.cf?我不能只删除.json.gz文件,因为它也因跨区域复制而在第二个存储桶中删除。

检查您的 CloudFront 访问日志将显示请求仍在从主分配提供服务。 您尝试的内容未能考虑 CloudFront 如何决定哪个分配处理给定请求 - 它不是通过 DNS。

CloudFront使用浏览器发送的Host:标头来决定每个传入请求的分发服务。

只要 DNS 别名记录解析为任何 CloudFront 分配,请求仍会到达 CloudFront - 但 CloudFront 与任何Web 服务器或代理一样,仍然不知道解析路径。 它只知道浏览器认为你想要哪个网站 - 地址栏中显示的主机名。 这是将为您的请求提供服务的分配,无论 DNS 是如何配置的。

这种策略是行不通的。

我认为您现在可以使用源组和 CloudFront 源故障转移来完成此操作。 https://aws.amazon.com/about-aws/whats-new/2018/11/amazon-cloudfront-announces-support-for-origin-failover/

最新更新