如何检查 CloudFront 是否正在故障转移到另一个活动分配?
How to check if CloudFront is failing over to another active distribution?
我有一个网站 s3post.cf that gets a .json.gz
from an AWS CloudFront distribution that has an S3 bucket 作为来源。
我已经使用 another bucket and set up a second CloudFront distribution.
为该存储桶启用了跨区域复制
在 Route 53 上,我创建了与第一个存储桶中的文件关联的运行状况检查 cloudfront.s3post.cf
并设置了 CloudFront 故障转移 -
- 第二个分配
backup.s3post.cf
对其 CloudFront 分配的域名有一个简单的路由策略。
- 第一个发行版
post.s3post.cf
具有与上述健康检查关联的主要故障转移策略。
post.s3post.cf
也有一个使用 backup.s3post.cf
(第二个分布)作为其别名的辅助故障转移策略。
为了测试此设置,我从运行状况检查文件中删除了 public 权限。健康检查失败,我的网站仍然存在。但是,两个存储桶中的.json.gz
文件都是public,所以我不确定故障转移是否成功。
如何测试 post.s3post.cf
是否真的故障转移到 backup.s3post.cf
?由于跨区域复制,我不能只删除 .json.gz
文件,因为它在第二个存储桶中也被删除了。
检查您的 CloudFront 访问日志将显示请求仍在从主要分配中得到处理。您尝试的操作没有考虑到 CloudFront 如何决定哪个分配处理给定请求——它不是通过 DNS。
CloudFront 使用 仅 浏览器发送的 Host:
header 来决定每个传入请求的分发服务。
只要 DNS CNAME 解析为 any CloudFront 分发,请求仍会到达 CloudFront——但 CloudFront 就像任何 Web 服务器或代理一样,仍然不知道解析路径。它只知道浏览器 认为您想要哪个站点 -- 地址栏中显示的主机名。这是将为您的请求提供服务的分配,无论 DNS 如何配置。
这个策略行不通。
我认为您现在可以使用源组和 CloudFront 源故障转移来完成此操作。
https://aws.amazon.com/about-aws/whats-new/2018/11/amazon-cloudfront-announces-support-for-origin-failover/
我有一个网站 s3post.cf that gets a .json.gz
from an AWS CloudFront distribution that has an S3 bucket 作为来源。
我已经使用 another bucket and set up a second CloudFront distribution.
为该存储桶启用了跨区域复制在 Route 53 上,我创建了与第一个存储桶中的文件关联的运行状况检查 cloudfront.s3post.cf
并设置了 CloudFront 故障转移 -
- 第二个分配
backup.s3post.cf
对其 CloudFront 分配的域名有一个简单的路由策略。 - 第一个发行版
post.s3post.cf
具有与上述健康检查关联的主要故障转移策略。 post.s3post.cf
也有一个使用backup.s3post.cf
(第二个分布)作为其别名的辅助故障转移策略。
为了测试此设置,我从运行状况检查文件中删除了 public 权限。健康检查失败,我的网站仍然存在。但是,两个存储桶中的.json.gz
文件都是public,所以我不确定故障转移是否成功。
如何测试 post.s3post.cf
是否真的故障转移到 backup.s3post.cf
?由于跨区域复制,我不能只删除 .json.gz
文件,因为它在第二个存储桶中也被删除了。
检查您的 CloudFront 访问日志将显示请求仍在从主要分配中得到处理。您尝试的操作没有考虑到 CloudFront 如何决定哪个分配处理给定请求——它不是通过 DNS。
CloudFront 使用 仅 浏览器发送的 Host:
header 来决定每个传入请求的分发服务。
只要 DNS CNAME 解析为 any CloudFront 分发,请求仍会到达 CloudFront——但 CloudFront 就像任何 Web 服务器或代理一样,仍然不知道解析路径。它只知道浏览器 认为您想要哪个站点 -- 地址栏中显示的主机名。这是将为您的请求提供服务的分配,无论 DNS 如何配置。
这个策略行不通。
我认为您现在可以使用源组和 CloudFront 源故障转移来完成此操作。 https://aws.amazon.com/about-aws/whats-new/2018/11/amazon-cloudfront-announces-support-for-origin-failover/