1.
在GCP创建台湾(asia-east1)虚拟机的准备与创建步骤
- 控制台:Compute Engine → VM 实例 → 创建实例,Region 选择 asia-east1,选择合适的machine type与镜像(Debian/Ubuntu/CentOS)。
- 命令行(示例):gcloud compute instances create my-tw-vm --zone=asia-east1-a --machine-type=e2-medium --image-project=debian-cloud --image-family=debian-11 --boot-disk-size=50GB。
- 注意:设置标签(labels)如 env=prod, region=taiwan,便于后续筛选管理;启用自动终止保护视需要而定。
2.
网络、防火墙与公网访问配置
- VPC:确认子网位于 asia-east1 子网,或创建新子网。
- 防火墙:VPC 网络 → 防火墙规则,创建允许SSH(22)/HTTP(80)/HTTPS(443)的规则或仅开放必要端口,指定目标标签与来源IP范围。
- 公网IP:如需固定IP,为实例分配静态外部IP(VPC → 外部IP地址 → 预留静态地址)。
3.
身份与访问控制(IAM)与SSH登录策略
- IAM:授予最小权限,常用角色:Compute Admin、Compute Storage Admin、Monitoring Editor。避免用Owner。
- SSH:推荐启用OS Login并使用GCP IAM账号或上传公钥;或者在实例元数据中配置SSH密钥。命令:gcloud compute ssh my-tw-vm --zone=asia-east1-a。
4.
安装监控与日志代理(Ops Agent)
- 安装命令(Debian/Ubuntu):sudo bash -c "$(curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh)"; sudo apt-get update && sudo apt-get install google-cloud-ops-agent -y。
- 控制台:Monitoring → 创建Uptime check、Alerting policy(CPU/内存/磁盘I/O/应用响应),并配置通知渠道(Email、Slack、PagerDuty)。
5.
磁盘快照策略:手动与自动快照操作
- 手动快照命令:gcloud compute disks snapshot my-disk --zone=asia-east1-a --snapshot-names my-disk-$(date +%F).
- 自动策略(推荐):使用Resource Policy创建快照计划:gcloud compute resource-policies create snapshot-schedule my-schedule --region=asia-east1 --daily-schedule=days-in-cycle=1,start-time=03:00 --retention-days=7。然后将策略应用到磁盘:gcloud compute disks add-resource-policies my-disk --resource-policies=my-schedule --zone=asia-east1-a。
6.
数据库与文件级备份建议(MySQL/Postgres/文件)
- Cloud SQL:若使用Cloud SQL,启用自动备份与跨区只读副本;若自建DB,定时导出:mysqldump -u root -p DB | gzip > /tmp/db-$(date +%F).sql.gz,然后上传到Cloud Storage:gsutil cp /tmp/db-*.gz gs://my-backup-bucket/taiwan/。
- 自动化:用Cloud Scheduler触发Cloud Function或Run执行DB导出,或在VM上用cron+gsutil上传,注意加密与权限控制。
7.
异地备份与加密、保留策略
- 异地:快照或备份应复制到不同地区(例如 asia-northeast1 或 us-central1),防止单区故障。快照可通过创建新磁盘并在他区创建镜像实现。
- 加密:使用默认Google管理或客户管理的KMS密钥(CMEK)加密快照/存储桶:在创建资源时指定--kms-key。
- 保留:建议短期(7天)+中期(30天)+长期(365天)分层保留策略,并实现自动删除规则。
8.
恢复与演练步骤(演练是关键)
- 从快照恢复磁盘并挂载:gcloud compute disks create restore-disk --source-snapshot=my-disk-2026-06-01 --zone=asia-east1-a;然后将磁盘attach到目标实例并挂载。
- 从Cloud Storage恢复DB:gsutil cp gs://my-backup-bucket/taiwan/db-2026-06-01.sql.gz /tmp/ && gunzip /tmp/*.gz && mysql -u root -p DB < /tmp/db-2026-06-01.sql。
- 定期演练:每季度演练一次完整恢复并记录RTO/RPO。
9.
日常运维检查清单与自动化建议
- 日常:检查监控告警、磁盘空间、系统更新、证书有效期、备份成功日志与账单通知。
- 自动化:使用Terraform管理实例与网络资源,使用Deployment Manager或Ansible做配置管理;用Cloud Scheduler + Functions自动触发快照/导出。
10.
常见故障处理快速指南
- 无法SSH:检查防火墙规则、实例状态、Serial Console日志;如必要,使用gcloud compute ssh --troubleshoot或启动救援实例挂载磁盘排查。
- 恢复慢:检查磁盘IO、网络带宽和Region负载,考虑提高机器类型或使用预留IOPS/更大磁盘。
11.
安全与合规要点
- 审计日志:启用Cloud Audit Logs并定期导出至BigQuery或Cloud Storage以便审计。
- 最小权限、定期轮换密钥、VPC-SC(如需要)与强制使用TLS。
12.
问:在GCP台北区域创建的快照能否直接跨区恢复?
答:快照本身是全局资源,可以在任何区域创建磁盘恢复。通常从台湾(asia-east1)快照可以在其它region创建磁盘并启动实例,但建议在恢复后验证网络与区域相关配置。
13.
问:如何自动化每天数据库备份并确保传输安全?
答:在实例上写导出脚本(mysqldump/pg_dump)并用gsutil上传到受限访问的Cloud Storage桶,使用Cloud Scheduler触发Cloud Function调用或在VM用cron执行。启用Bucket的CMEK或使用VPC-SC与私有访问路径确保传输与存储安全。
14.
问:如何验证备份可用性与恢复时间目标(RTO/RPO)?
答:定期做恢复演练:从快照恢复磁盘并启动实例、从备份还原数据库并跑应用自测脚本,记录恢复所需时间并计算数据丢失窗口,从而验证和调整RTO/RPO与保留策略。
来源:运维要点 谷歌云添加台湾服务器后日常管理与备份策略