AWS的CloudFront:如何将请求重定向到Edge位置

时间:2018-03-17 15:34:45

标签: amazon-web-services amazon-cloudfront

我阅读了很多关于CloudFront和Edge Locations的文章。

我无法理解用户的请求如何自动路由到最近的边缘位置? 有人能解释客户端请求静态资源时会发生什么吗?什么是网络组件(ISP,AWS等)被称为?

问候。

2 个答案:

答案 0 :(得分:1)

来自AWS文档(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CloudFrontRegionaledgecaches.html?shortFooter=true

  

当观众通过您的网站或应用程序提出请求时,DNS   将请求路由到可以最佳服务的CloudFront边缘位置   用户的请求。此位置通常是最近的CloudFront   在延迟方面的边缘位置

“延迟”表示从CloudFront边缘位置获取请求所需的时间。它与“带宽”不同,它更像是一个反应时间

有关AWS如何监控延迟的详细信息,请参阅Route53文档

如果边缘位置没有请求的特定项目,那么它将查询近邻...

  

如果文件位于缓存中,CloudFront会将它们返回给用户。如果   文件不在缓存中,边缘服务器转到最近的位置   区域边缘缓存以获取对象。在区域边缘缓存中   在位置,CloudFront再次检查其缓存中是否有所请求的文件。

如果这不起作用,则从“原始服务器”请求文件,原始服务器是包含站点主副本的原始Web服务器或S3存储桶。

更新:只是添加@ michael-sqlbot在下面说的内容。最终用户的Cloudfront访问通过“分发域名”进行。这是“abc123.mycloudfront.net”形式的域名。此名称必须位于Route53中。可以使用您自己的DNS注册域中的CNAME间接到此名称

在@ michael-sqlbot的话中查询“分发域名”时

  

DNS查询导致浏览器接收包含IP的答案   选择的地址是为了将请求路由到   CloudFront边缘位置,可以最好地满足用户的请求。

换句话说,全世界使用相同的“分发域名”。但是在不同的位置,这会映射到不同的IP地址。 IP地址“通常”是延迟测量的最接近的,但可能是,这并非绝对保证是这种情况

答案 1 :(得分:0)

当浏览器向www.example.com发出请求时,它首先必须进行DNS查找以建立发送HTTP请求的服务器的IP地址。此时DNS服务器决定路由您的请求的边缘位置IP地址。返回的IP地址是根据您的IP地址选择的,因此您始终会路由到地理位置的本地边缘位置。

当边缘位置收到您的HTTP请求时,它将返回缓存的响应(如果可用),否则它将向源发回请求,然后将此响应返回给浏览器并选择保留副本(基于从origin / cloudfront config发送的标头

FYI从技术上讲,这不是重定向 - 这是HTTP的一项功能,只有在获得服务器的IP地址后才会发生。