Cloud DNS、Storage、Monitoring 落地
GCP 的入口、存储和监控组合,与 AWS Route 53 / S3 / CloudWatch 功能对等,只是产品名字和 CLI 不同。
GCP 组件图
graph TD
A[用户请求] --> B[Cloud DNS]
B --> C[Cloud Load Balancing / 实例外部 IP]
C --> D[Compute Engine 应用]
D --> E[Cloud Storage 备份]
D --> F[Cloud Monitoring 指标与日志]
F --> G[告警策略 Alerting Policy]
GCP 与 AWS 服务对照
| 运维任务 | AWS 服务 | GCP 服务 | 关键差异 |
|---|---|---|---|
| DNS 解析 | Route 53 | Cloud DNS | GCP 按查询量计费,区别不大 |
| 对象存储 | S3 | Cloud Storage | 相同概念,桶(Bucket)命名全局唯一 |
| 监控告警 | CloudWatch | Cloud Monitoring | GCP 集成了 Logging,统一在 Operations Suite |
| 日志查询 | CloudWatch Logs | Cloud Logging | GCP 支持更灵活的日志过滤语法 |
关键配置命令
# 创建 Cloud DNS 托管区
gcloud dns managed-zones create myapp-zone \
--dns-name="myapp.com." \
--description="myapp production zone"
# 添加 A 记录指向 Compute Engine 实例 IP
gcloud dns record-sets create myapp.com. \
--zone=myapp-zone \
--type=A \
--ttl=300 \
--rrdatas=34.xxx.xxx.xxx
# 把备份上传到 Cloud Storage
gsutil cp /var/backups/myapp_$(date +%Y%m%d).tar.gz \
gs://myapp-backups/daily/
# 在 Compute Engine 上安装 Cloud Ops Agent(收集内存、磁盘等指标)
curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
sudo bash add-google-cloud-ops-agent-repo.sh --also-install
# 创建 CPU 使用率告警策略
gcloud alpha monitoring policies create \
--policy-from-file=cpu-alert-policy.yaml
常见误区
- 以为 Cloud Storage 和 S3 行为完全相同:GCS 默认不支持静态网站托管的同名 index.html 重定向,行为略有不同
- Cloud Monitoring 默认指标已足够:和 CloudWatch 一样,内存和磁盘使用率默认不采集,需安装 Cloud Ops Agent
- 告警策略只设置了触发条件,忘记设置通知渠道:告警如果没有绑定 Notification Channel(Email/PagerDuty/Slack),触发后无人收到
本节执行清单
- [ ] 创建 Cloud DNS 托管区,更新域名 NS 指向 GCP
- [ ] 配置备份脚本将文件上传到 Cloud Storage,启用版本控制
- [ ] 安装 Cloud Ops Agent,确认内存和磁盘指标出现在 Cloud Monitoring
- [ ] 为 CPU > 80% 创建告警策略,并绑定邮件通知渠道
下一节:Ubuntu 应用在 GCP 上的部署与排错——验证同一套方法是否还能成立。