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

问题描述 投票:1回答:2

我有一个网站s3post.cf.json.gz获得AWS CloudFront distribution,其中有S3 bucket作为其起源。

我已经使用another bucket为该存储桶启用了跨区域复制,并设置了第二个CloudFront distribution

在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文件,因为它在第二个存储桶中被删除,因为跨区域复制。

amazon-web-services amazon-s3 amazon-cloudfront amazon-route53 failover
2个回答
1
投票

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

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

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

这种策略不起作用。


1
投票

我认为您现在可以使用Origin Groups和CloudFront原始故障转移来实现此目的。 https://aws.amazon.com/about-aws/whats-new/2018/11/amazon-cloudfront-announces-support-for-origin-failover/

© www.soinside.com 2019 - 2024. All rights reserved.