Amazon CloudFront 经典2008年〜
从全球边缘节点高速分发内容的 CDN 服务
它能做什么
Amazon CloudFront 是一项 CDN(内容分发网络)服务,将网页、图片、视频、API 响应等内容从分布在全球的边缘节点(分发据点)中离用户最近的位置进行分发。通过将源服务器(S3 或 EC2)的内容缓存到边缘节点,同时实现显示速度提升和源服务器负载减轻。
使用场景
用于静态网站的高速分发、视频流媒体、API 响应加速、软件下载分发、直播活动分发、全球部署应用程序的延迟降低等,适用于所有需要高速传递内容的场景。
日常类比
可以将其比作便利店的配送网络。从工厂(源服务器)直接送货需要很长时间,但如果在全国的便利店(边缘节点)预先放置商品,顾客就能在最近的店铺立即拿到商品。热门商品在各店铺备有库存(缓存),卖完后从工厂补货。
什么是 CloudFront
Amazon CloudFront 是 AWS 提供的全球 CDN 服务。拥有全球 400 多个边缘节点,将用户的请求路由到地理位置最近的边缘节点。这样,东京的用户从东京的边缘获取内容,纽约的用户从纽约的边缘获取内容,将物理距离造成的延迟降到最低。
主要特性
CloudFront 除了缓存功能外,还具备 HTTPS 自动支持、DDoS 攻击防护(免费集成 AWS Shield Standard)、访问控制、实时日志等丰富功能。使用 Lambda@Edge 或 CloudFront Functions 还可以在边缘节点执行自定义逻辑。例如,可以在边缘处理 URL 重写、添加头信息、A/B 测试分流等。
源站类型
CloudFront 的源站(内容获取来源)可以指定 S3 存储桶、EC2 实例、Elastic Load Balancing、API Gateway,甚至 AWS 外部的任意 HTTP 服务器。使用 S3 作为源站时,通过配置 OAC(Origin Access Control),可以限制只能通过 CloudFront 访问 S3,保持 S3 存储桶为非公开状态。 关于源站类型的相关技术书籍,也可以在技术书籍(Amazon)中找到。
开始使用
要开始使用 CloudFront,在 CloudFront 控制台中点击“创建分配”。指定源站(S3 存储桶或 EC2 等),选择缓存策略,几分钟内即可创建分配。可以通过发放的 CloudFront 域名(xxx.cloudfront.net)访问内容。如需使用自定义域名,请在 Route 53 中配置 DNS。
注意事项
- 如果缓存 TTL 设置不当,内容更新后可能继续分发旧内容,请设计适当的缓存策略
- 按数据传输量按量计费,大流量情况下请提前估算成本
- 开发环境中禁用缓存可以使变更立即生效,比较方便