GCP Cloud CDN
全球 CDN,200+ POP、缓存键、签名 URL 和 Cloud Armor 集成。
GCP进阶
为什么
Cloud CDN 在 200+ POP 缓存、降延迟和源负载。免费:1TB 出口。集成 Cloud Armor 做 WAF。从 Cloud Storage 填充免费。
何时使用
静态资源、视频、API 加速时用。避免无需缓存或仅单区域内容。
如何做
1. 启用 — 在 HTTP(S) 负载均衡器后端 bucket/服务
2. 缓存模式 — CACHE_ALL_STATIC、USE_ORIGIN_HEADERS、FORCE_CACHE_ALL
3. 缓存键 — host、path、查询串(白名单参数)
4. TTL — 源 max-age 或 CDN 配置覆盖
5. 签名 URL — 限时、用于付费内容
6. Cloud Armor — WAF 规则、DDoS 防护、地理封锁
7. 失效 — gcloud compute url-maps invalidate-cdn-path
8. 压缩 — 文本自动 gzip/brotli
示例
# 在后端 bucket 启用 CDN
gcloud compute backend-buckets create cdn-backend \
--gcs-bucket-name my-static \
--enable-cdn \
--cache-mode CACHE_ALL_STATIC \
--default-ttl 3600
# Cloud Armor WAF 规则
gcloud compute security-policies create waf-policy \
--description "WAF 规则"
gcloud compute security-policies rules create 1000 \
--security-policy waf-policy \
--expression "evaluatePreconfiguredExpr('sqli-stable')" \
--action deny-403
# 附加到后端
gcloud compute backend-services update my-backend \
--security-policy waf-policy
常见问题
- ⚠缓存键太宽 — 包含所有查询参数、低命中率
- ⚠失效慢 + 贵 — 改用版本化资源
- ⚠Cloud Armor 误报 — 调规则、监控拒绝
最佳实践
- ✓缓存键白名单查询参数 — 提升跟踪参数命中率
- ✓用 Cloud Armor 预配置规则 — OWASP top 10、Google 调优
- ✓版本化资源非失效 — app.[hash].js 永久缓存
常见问题解答
什么是GCP Cloud CDN?它解决什么问题?
全球 CDN,200+ POP、缓存键、签名 URL 和 Cloud Armor 集成。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。
如何在 5 分钟内上手GCP Cloud CDN?
两步即可跑通:① 启用 — 在 HTTP(S) 负载均衡器后端 bucket/服务;② 缓存模式 — CACHE_ALL_STATIC、USE_ORIGIN_HEADERS、FORCE_CACHE_ALL。建议先用免费套餐验证流程,再接入生产环境。
GCP Cloud CDN 最容易踩的坑是什么?
最高频的问题是:缓存键太宽 — 包含所有查询参数、低命中率。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。
GCP Cloud CDN 的最佳实践有哪些?
GCP Cloud CDN 的最佳实践包括:缓存键白名单查询参数 — 提升跟踪参数命中率;用 Cloud Armor 预配置规则 — OWASP top 10、Google 调优;版本化资源非失效 — app.[hash].js 永久缓存。其中首条「缓存键白名单查询参数 — 提升跟踪参数命中率」应作为团队默认规范写入 IaC 模板。
GCP Cloud CDN 如何控制成本与避免账单意外?
三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。GCP Cloud CDN 多数提供免费套餐,先在免费额度内验证再放量。