CloudFront与DNS管理全解析
1. CloudFront缓存失效
在进行代码部署和测试时,由于CloudFront中已存在相关URL的缓存对象,它会继续使用旧的响应头提供响应。这时就需要用到CloudFront的缓存失效(Invalidations)功能。
缓存失效本质上是一个从CloudFront边缘缓存中移除对象的命令。不能仅在浏览器中清除缓存,因为失效命令必须发送到全球的CloudFront缓存。由于CloudFront在全球的数据中心缓存内容,所以清除缓存需要一些时间。
虽然理论上可以在内容更新时通过编程方式即时使缓存失效,但实际上CloudFront的缓存失效并非瞬间完成,从创建失效命令到操作完成会有显著的延迟。
操作步骤如下:
1. 打开CloudFront分发,点击“Invalidations”标签。
2. 点击顶部的“Create Invalidation”按钮,在弹出的模态文本区域中添加要失效的路径,例如:
/albums/id/1
/photos/search?query=Hello
- 点击“Invalidate”按钮,此时失效操作状态显示为“InProgress”,几分钟后会变为“Completed”。
注意,在非生产环境中,为节省时间可以在推送修复之前使缓存失效;但在生产环境中,应先部署更改再使缓存失效。
2. 控制缓存
为了满足不同的场景需求,可以对缓存进行控制,下面介绍两种不同的场景设置。