Ubuntu 应用在 GCP 上的部署与排错
High Contrast
Dark Mode
Light Mode
Sepia
Forest
2 min read431 words

Ubuntu 应用在 GCP 上的部署与排错

在 GCP 上排障,链路结构与 AWS 相同,只是服务名不同。先按层拆,不要一上来就怀疑应用代码。

GCP 排障链路

graph TD A[Cloud DNS 解析] --> B[VPC Firewall 规则] B --> C[Compute Engine 实例] C --> D[Nginx 反向代理] D --> E[应用进程] E --> F[Cloud Logging 日志]

常见故障对照表

现象 最可能原因 排查方法
域名无法访问 Cloud DNS NS 未生效 / TTL 缓存 dig myapp.com NS 确认解析服务器
连不上服务(超时) VPC Firewall 规则未匹配实例标签 gcloud compute firewall-rules list 检查 target-tags
502 Bad Gateway Nginx 到应用端口不通 curl http://127.0.0.1:3000/health
SSH 无法连接 外部 IP 变化 / 防火墙规则 用 IAP 隧道 gcloud compute ssh ... --tunnel-through-iap
内存/磁盘打满 无 Cloud Ops Agent 监控 df -h && free -m 直接在实例上查

GCP 特有的排查技巧

# 查看实例元数据(确认绑定的 Service Account 和标签)
curl "http://metadata.google.internal/computeMetadata/v1/instance/" \
-H "Metadata-Flavor: Google"
# 实时查看 Cloud Logging 中的应用日志
gcloud logging read "resource.type=gce_instance AND logName=myapp" \
--limit=50 --format="value(textPayload)"
# 检查实例防火墙规则是否命中
gcloud compute instances describe myapp-vm \
--zone=asia-east1-b \
--format="yaml(tags,networkInterfaces)"
# 查看 Ops Agent 是否正常运行
sudo systemctl status google-cloud-ops-agent

部署时的 GCP 特殊注意点

本节执行清单

下一章Azure 版本实战——完成第三家云平台映射。