它是什么:GCP的核心服务有哪些
先记住一句话:GCP 的核心服务不是“一台服务器”,而是搭建应用的一组基础积木。一个网站通常要同时用到计算、存储、网络、数据库、权限和观测;缺哪块,应用都可能跑不稳或不好管。
可以把常见入口这样对号入座:
- Compute Engine(计算引擎)提供 VM,像租一台能远程登录的电脑,用来跑后端程序。
- Cloud Storage(对象存储)像网盘,常放图片、下载文件、备份,不是 VM 的系统盘。
- VPC(虚拟私有云)负责网络隔离,决定子网、路由、防火墙和哪些端口能通。
- Cloud SQL 等托管数据库把安装、补丁、备份接走,减少维护,适合先别自己装 MySQL。
- IAM(身份与访问管理)决定“谁能操作什么”;日志与监控记录报错、登录、CPU、请求量等运行状态。
- Cloud Run/GKE这类容器运行服务、BigQuery数据仓库,适合后面做容器化和报表分析时进阶。
想跟着看,打开 GCP 控制台右上角的 Cloud Shell,它自带 gcloud。先只查项目和服务清单,不创建资源;这样能把名词和控制台菜单对上,也避免一上来开 VM、数据库后忘记删而计费。复制下面整段执行即可:
gcloud config list
gcloud projects list --format="table(projectId,name)" --limit=5
PROJECT_ID="$(gcloud projects list --format='value(projectId)' --limit=1)"
if [ -z "$PROJECT_ID" ]; then echo "还没有项目,请先在控制台创建项目再重试。"; else
echo "本次只查看项目:$PROJECT_ID"
gcloud services list --available --project="$PROJECT_ID" --quiet
--format="table(config.name,config.title)" |
grep -E "compute.googleapis.com|storage.googleapis.com|sqladmin.googleapis.com|iam.googleapis.com|logging.googleapis.com|monitoring.googleapis.com|run.googleapis.com|bigquery.googleapis.com" || true
fi
小白坑:这段会自动取账号里列出的第一个项目来查看,不会修改当前项目;如果你有多个项目,别把输出当成“所有项目”。另外,查看或启用 API 不等于创建资源,真正创建 VM、Cloud SQL、公网 IP,或跑大查询,可能产生费用。权限别一上来给 Owner,防火墙也别随手开放 0.0.0.0/0;删除 VM 后,磁盘、快照、静态 IP 也可能还在。
解决什么问题:小白为什么会用到
对小白来说,GCP的核心服务不是先背名词,而是解决一个很土的问题:想跑网站、接口或作业,别让我先买机器、装系统、拉网线、配公网和防火墙。GCP 把买机器、装系统、拉网线等前置工作变成按需开通,几分钟就能创建测试环境。先在控制台建好项目并绑定结算,再打开 Cloud Shell,或本机装好 Google Cloud CLI 后打开终端,复制下面整段;本机第一次会弹浏览器登录,地区和可用区按提示选,别一路跳过。
set -e
gcloud init
gcloud services enable compute.googleapis.com
gcloud compute instances create gcpok-demo --machine-type=e2-micro --image-family=debian-12 --image-project=debian-cloud --tags=http-server
gcloud compute firewall-rules create gcpok-allow-http --allow=tcp:80 --target-tags=http-server --description="Allow HTTP for gcpok demo"
为什么这样敲?先初始化是让命令知道往哪个项目、哪个可用区创建;开 Compute Engine API 是因为 GCP 默认不会把所有服务都打开;创建实例相当于一次完成买机器、装 Debian、接网络;开 80 端口是给以后装网站留门。常见坑:提示找不到 gcloud,要先装 Google Cloud CLI;没开结算、没设默认可用区、选错项目都会报错;同名实例或规则重复创建也会失败,改名或先删除再试。用完记得清理,不然继续计费。
gcloud compute instances delete gcpok-demo --quiet
gcloud compute firewall-rules delete gcpok-allow-http --quiet
等业务变忙时可扩容:先加机器,进一步用托管实例组做自动扩缩容;访问分布更广时,可借助负载均衡和多地域部署,把流量分到离用户更近的地方,一地异常也能切走。故障排查也不再只靠人工登录一台台看:日志、指标、告警集中在 Cloud Logging 和 Monitoring,先看错误曲线和请求日志,再决定要不要进机器。
最后,权限、账单、日志、备份都有统一入口。IAM 管谁能改什么,结算页看花费和预算告警,日志页查历史,快照或备份负责回滚。这适合个人项目、小团队和运维交接:新同事进项目就能按权限接手,不用翻聊天记录找服务器密码。最容易踩的坑是图省事给所有人管理员、把密钥写进代码、忘了设预算告警;从一开始就按最小权限和项目分组,后面会省很多事。
怎么上手:从零跑通第一个环境
第一次进 GCP 别急着乱点,先管好「项目」和「钱」。项目像独立收纳盒,所有资源都装里面。新建项目后先去「结算」绑卡,立刻到「预算和提醒」设个 50 元告警。小白最常踩的坑就是漏了这步:测试完忘关机,月底看账单才傻眼。再去「API 和服务」只开 Compute Engine API 和 Cloud Storage API,别一键全开通,等得久还容易误触收费项。
接着用控制台摸一遍核心服务。建 VM 时区域选 asia-east1-b、机型勾 e2-micro(免费额度内)、名字就填 demo-vm,方便待会儿命令直接复制。防火墙只勾「允许 SSH(22)」,千万别图省事放行全部端口,那等于把家门敞在公网。再建个桶,名字就填 demo-bucket-12345(万一提示全局重名,末尾加个 1,待会儿删除命令也跟着加 1),权限保持「统一」并关掉公开访问,避免误传文件被全网扒到。这就凑齐了「最小 VPC 规则 + 计算 + 存储」。
点实例旁的「SSH」按钮,浏览器直接弹黑窗口,不用自己配密钥。贴进去查网络和磁盘:
ping -c 3 8.8.8.8
df -h
能回包、看得到 /dev/sda1,说明环境真跑通了。
本机装好 gcloud(官网下包一路下一步),登录后把刚才点的东西用命令行再「看」一遍,以后干活全靠它:
gcloud init
gcloud projects list
gcloud compute instances list
gcloud storage buckets list
若报「API 未启用」,回头补勾第二步就行,这是新手最常卡住的地方。
最后一步比前面都重要:练完马上删。控制台容易漏掉孤立的磁盘或静态 IP 偷偷计费,用命令最干净,照着刚才的名字整段复制即可:
gcloud compute instances delete demo-vm --zone=asia-east1-b --quiet
gcloud storage buckets delete gs://demo-bucket-12345 --quiet
gcloud projects delete $(gcloud config get-value project) --quiet
最后一行会自动取当前项目,不用手敲 ID。养成「建完就记着删」的习惯,才算安全上车。
与替代方案对比:什么时候选它
判断要不要用 GCP的核心服务,别先问哪家最强。把它想成「租一整套机房能力」:服务器、数据库、网络、监控、日志能一起用。什么时候选它,看三种替代方案。
- 和自建机房比:不用先买机器、等上架、管电力空调和值班维护,就选 GCP;活动流量突然涨,加资源也更快。代价是要懂按量计费、IAM 权限和区域选择。已有稳定机房、合规要求必须本地时,不必硬搬。
- 和本地虚拟机或轻量虚拟服务器比:本地 VM 适合练手或跑单机小工具;业务长期跑,就会遇到备份、数据库升级、查日志、告警、网络放行。GCP 核心服务联动更完整,托管数据库、监控、日志和网络一起配,更适合长期运维。
- 和其他公有云比:计算、存储、数据库、网络、权限、日志这些概念基本相通,差异主要是价格、区域、生态和控制台体验。先学通用概念,再记各家名字,迁移成本更低;现有云已便宜、区域合适、团队熟悉,就别为换云而换。
动手前先复制这条不会创建资源、不收费的命令,把最容易踩坑的四件事摆到眼前:
echo "选 GCP 前先确认:预算提醒、最小权限、区域、不用时删除资源"
为什么这么做:小白常一上来开虚拟机,忘了删、权限给太大、区域选太远。按量计费不是包月,资源开着就可能算钱;高权限别随手给;区域选错,延迟、合规和迁移都麻烦。装好并登录 gcloud 命令行工具后,再复制下面三行做查询,确认当前项目、可选区域和已启用服务:
gcloud config list project
gcloud compute regions list --format="table(name,status)"
gcloud services list --enabled --format="table(config.name)"
常见坑:项目看错会把账单和测试资源混在一起;报「未登录」「权限不足」「API 未启用」时,先找管理员确认项目、权限和预算,别反复开资源。查询成功不代表配置完成,上线前仍要设账单提醒、最小权限,并确认不用时停止或删除资源。
最佳实践:少踩坑的运维清单
刚开始摸 GCP的核心服务(像 Compute Engine、Cloud Storage、Cloud SQL)时,最容易踩的坑不是「不会开机器」,而是「开完没人管、权限给太满、月底账单吓一跳」。照着这份清单走,能省掉大半麻烦。
1. 权限和项目先隔开。别一上来就给同事勾「Owner」!坚持最小权限:在 IAM 页面点「添加成员」,填群组邮箱(如 team@example.com)再选具体角色,人走了从群组移除就行,不用挨个改。生产、测试、练习尽量分成三个项目。新手常在练习时顺手删了生产库,分项目后就算敲错命令,误操作的影响面也只关在一个「小房间」里。
2. 名字、标签、账单三件套。统一按 环境-业务-地域 命名(如 prod-web-asia1),再打上 owner、env 标签,以后筛资源、算成本全靠它。每个项目都去「结算」里配一次预算告警(比如 50%、90% 发邮件),别等扣款才反应过来。下面这段不用改一个字,直接复制进 Cloud Shell,就能定期做一次「闲置体检」:
export PROJECT_ID=$(gcloud config get-value project)
# 自查:谁被给了过大的 Owner 权限?
gcloud projects get-iam-policy $PROJECT_ID
--flatten="bindings[].members"
--filter="bindings.role:roles/owner"
--format="table(bindings.members)"
# 查没用上却还占着的公网地址
gcloud compute addresses list --project=$PROJECT_ID --filter="status:RESERVED"
# 查放了很久的旧快照
gcloud compute snapshots list --project=$PROJECT_ID --format="table(name,creationTimestamp)"
# 查已停机、但磁盘还在收费的 VM
gcloud compute instances list --project=$PROJECT_ID --filter="status:TERMINATED"
⚠️ 小白坑点:VM 点「停止」不等于不花钱,挂着的磁盘照常计费;删了实例也记得回头清掉快照和静态 IP,它们最容易被忘干净。
3. 日志、备份、地域别漏。开启 Cloud Logging 和 Monitoring,报错时才不用瞎猜。给数据库和对象存储设完自动备份,务必真恢复演练一次——很多人以为「打个勾就万事大吉」,真出事才发现没权限还原。选地域优先靠近用户(延迟低),但先确认合规要求:个人信息往往不能随便跨区存放,别只图快。
4. 上线前留一张「交接纸」。别只存在脑子里,随手记下这四样,交接和复盘全靠它:
- 资源清单:开了几台 VM、几个桶、哪个数据库;
- 端口规则:防火墙到底放了 22 还是 3389,来源 IP 是谁;
- 账号来源:哪个群组、谁审批加进来的;
- 清理步骤:按什么顺序删,才不会漏掉磁盘和 IP。
最常见的僵局是「前人离职,后人不敢动、也不敢删」,有这张纸就不会卡住。
常见问题(FAQ)
新手先学哪些服务?
先学项目、结算、身份与访问管理、计算引擎、对象存储和监控,足够跑通第一台 VM。
会不会一不小心产生费用?
会,按量资源可能持续计费;先设预算告警,练习后删除 VM、存储桶和快照。
必须掌握命令行吗?
不必,先用控制台理解流程,再用 gcloud 做批量操作和故障排查。
和一台普通服务器有什么区别?
普通服务器偏单机,GCP 核心服务把计算、网络、存储、权限和监控连成一套平台。
不想自己折腾 GCP?我们提供云平台代维护、上云迁移与账单代付服务,一对一技术支持。
