+86 189 8218 1436 周一至五 10:00-22:00

GCP的基本使用:小白入门与运维实战

TL;DR:用控制台、gcloud 和 SSH 串起项目、计费、VM 与监控,带小白完成 GCP的基本使用第一步。

它是什么:先认识 GCP 的基本组成

GCP 是谷歌提供的云计算平台,可以想成网上的“电脑房”:服务器、硬盘、网络、钥匙和账单都在这里。学 GCP的基本使用,先要理解项目、资源、权限、计费和网络这几层关系:项目像带账单的收纳盒;资源是建出来的 VM、存储桶、IP;权限决定谁能看、谁能改;计费记录钱花在哪;网络决定机器之间、机器和公网怎么连通。

先看关系,是为了避免选错项目后找不到资源、看不懂账单。坑点:关掉浏览器不等于关掉 VM,机器还可能收费;权限别图省事全给 Owner。

常用入口有三类:网页控制台、gcloud 命令和 Cloud Shell。控制台像地图,能看菜单和状态;gcloud 像遥控器,适合批量操作;Cloud Shell 是浏览器里已登录、装好 gcloud 的终端。小白建议先从控制台认识资源,因为看得见、容易核对项目。

第一次练习,打开控制台右上角 Cloud Shell,复制下面几行。它们只查看版本、账号、配置和可见项目,不创建资源,也不会直接产生费用;先确认“我是谁、我在哪”。

gcloud --version
gcloud auth list
gcloud config list
gcloud projects list

若项目列表为空,多半是账号没项目或没权限,先回控制台确认,别急着改配置。

再把四个名字对上号,后面看菜单就不慌:

  • Compute Engine:提供 VM,也就是云上的一台电脑。
  • Cloud Storage:存文件;桶名全球唯一,别用中文或空格。
  • VPC:管网络,包括网段、子网、防火墙,是机器走的路和围墙。
  • IAM:管谁能做什么,原则是够用就好。

记住:项目里建资源,资源走 VPC,操作受 IAM 管,费用回到计费账号。关系看清后再开 VM、建桶,就不容易乱点。

解决什么问题:把服务器、存储和运维变简单

理解GCP的基本使用,先把它想成“租电脑”:不用自购物理服务器、找机房、装系统,打开控制台就能按小时或按量计费地创建虚拟机(VM)、磁盘、存储和备份环境。放网站、搭测试机、做数据备份、临时实验都合适;访问量或容量不够时再扩容,不必一开始买大机器。

零基础建议在 GCP 控制台右上角打开 Cloud Shell,它已经登录并带好命令行。下面整段复制执行;看到提示时,把上一步列出的 PROJECT_ID 粘进去。先绑定项目,是因为资源、权限和账单都要归到同一个“账本”;启用服务像打开开关;VM 当服务器,数据盘当硬盘,存储桶当备份柜。

gcloud projects list
read -p "把 PROJECT_ID 粘贴到这里后回车: " PROJECT_ID
gcloud config set project "$PROJECT_ID"
export ZONE="asia-east1-b"
gcloud services enable compute.googleapis.com storage.googleapis.com
gcloud compute instances create gcp-basic-demo --zone="$ZONE" --machine-type=e2-micro --image-family=debian-12 --image-project=debian-cloud --boot-disk-size=10GB --tags=http-server
gcloud compute disks create gcp-basic-data-disk --zone="$ZONE" --size=10GB --type=pd-balanced
gcloud compute instances attach-disk gcp-basic-demo --zone="$ZONE" --disk=gcp-basic-data-disk
gcloud storage buckets create "gs://${PROJECT_ID}-gcp-basic-backup" --location=ASIA
printf "backup demon" > backup-demo.txt
gcloud storage cp backup-demo.txt "gs://${PROJECT_ID}-gcp-basic-backup/"
gcloud compute firewall-rules create allow-http-demo --network=default --allow=tcp:80 --source-ranges=0.0.0.0/0 --target-tags=http-server

这样,放网站时 80 端口能通;测试机坏了删掉重建;备份文件能放进存储桶;临时实验结束就清理。权限、账单、日志和监控都集中在一个项目里看:谁能操作看 IAM(权限管理),花了多少钱看结算,操作记录和报错线索看日志,CPU、磁盘等基础指标看监控。它减少了 Linux 服务器散落各处、密码和防火墙规则没人维护的运维风险。

  • 小白容易踩的坑:PROJECT_ID 不是项目名称;项目没绑定结算账号或账号权限不够,启用服务会失败;重复执行同名 VM、磁盘、桶会提示已存在。
  • 开 80 端口只是开门,网站程序还要另装;创建磁盘不等于 Linux 里马上能用,还要挂载;磁盘扩容后还要扩文件系统,改 VM 机器类型通常要先停机。
  • 开着 VM、磁盘,或桶里留着文件都可能继续计费;内存和系统日志也不一定自动齐全,常要装代理。用完请在同一个 Cloud Shell 里复制清理命令。
read -p "再粘贴一次 PROJECT_ID: " PROJECT_ID
gcloud config set project "$PROJECT_ID"
export ZONE="asia-east1-b"
gcloud compute instances delete gcp-basic-demo --zone="$ZONE" --quiet
gcloud compute disks delete gcp-basic-data-disk --zone="$ZONE" --quiet
gcloud compute firewall-rules delete allow-http-demo --quiet
gcloud storage rm -r "gs://${PROJECT_ID}-gcp-basic-backup" --quiet

怎么上手:从零创建并登录一台 VM

注册好 Google 账号后,第一件事不是急着开机器,而是先建项目 + 设预算。在控制台顶部点「选择项目 → 新建项目」,起个名比如 gcp-lab,再到「结算」里绑定信用卡。绑完立刻去「结算 → 预算和提醒」建一条预算,比如 50 元,勾选 50%、90%、100% 邮件提醒。为什么先做这步?小白最常见的坑就是练完忘了关机器,第二天看到账单才想起来;预算告警不会自动停机,但能第一时间叫醒你。

接着进「API 和服务 → 启用 API」,搜 Compute Engine API 点启用,等一两分钟。不启用的话后面创建会报「服务未开启」,别慌,不是你没权限。然后到「Compute Engine → 虚拟机实例 → 创建实例」,照着选就行:区域选离你近的 asia-east1-b,延迟低;机型选 e2-micro,便宜且常年在免费额度里;镜像选 Debian 12;启动盘 10GB 默认够用,别一上来拉到 500GB。想少点几下鼠标,直接复制下面这条,实例名固定成 my-first-vm,后面的命令就都不用改了:

gcloud services enable compute.googleapis.com

gcloud compute instances create my-first-vm 
  --zone=asia-east1-b 
  --machine-type=e2-micro 
  --image-family=debian-12 
  --image-project=debian-cloud 
  --boot-disk-size=10GB 
  --tags=allow-ssh

网络这栏最容易踩坑:只放通 SSH 需要的 22 端口就够了,千万别顺手勾「允许 HTTP/HTTPS」或「允许所有 TCP」,那等于把门敞着。用命令建一条最小规则:

gcloud compute firewall-rules create allow-ssh-only 
  --direction=INGRESS 
  --action=ALLOW 
  --rules=tcp:22 
  --target-tags=allow-ssh 
  --source-ranges=0.0.0.0/0

想更安全,把来源换成 35.235.240.0/20(GCP 浏览器 SSH 专用网段)即可。回到实例列表,点右侧「SSH → 在浏览器窗口中打开」,黑窗口弹出来就算登录成功了:不用自己生成密钥,GCP 会临时帮你配好,对新手最友好;等熟悉了再上传自己的公钥。先跑一遍更新、装个小工具找找手感:

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl htop
htop

按 q 退出 htop。以后不用开网页,本地装好 gcloud 就能查看和启停:

gcloud compute instances list

gcloud compute instances stop my-first-vm --zone=asia-east1-b

最后一步比前面都重要:练完就停机,确认不再用了直接删掉,连防火墙规则一起清。注意停机只是不收 CPU 钱,磁盘还挂在账上继续计费,这是第二个高频坑;只有删除才彻底不扣费。

gcloud compute instances delete my-first-vm --zone=asia-east1-b --quiet
gcloud compute firewall-rules delete allow-ssh-only --quiet

与替代方案对比:本地服务器和其他云怎么选

先别背概念,动手体会一次最直观。打开 GCP 控制台右上角的 Cloud Shell(不用装任何软件),把下面整段直接复制粘贴回车,浏览器弹登录就点「允许」:

gcloud auth login
gcloud config set project "$(gcloud projects list --format='value(projectId)' | head -n 1)"
gcloud services enable compute.googleapis.com
gcloud compute instances create try-gcp --zone=asia-east1-b --machine-type=e2-micro
gcloud compute instances delete try-gcp --zone=asia-east1-b --quiet

为什么这么跑:一条命令就多出一台机器,用完一条命令又让它消失,这正是云和本地服务器最大的差别。和本地服务器比,你不用找机房、不用买机器、不用等上架,流量涨了随时加配置,弹性很强;代价是得接受两件事:一是按量计费,机器开着就一直算钱,所以我故意把删除命令写进同一段,千万别只复制前半截;二是云上权限模型,本地插上网线你就是管理员,云上连「开个计算服务」都要先 enable、还要 IAM 授权,第 2 行不写(或没绑结算账号),第 4 行常直接报 403。

和轻量虚拟主机比,虚拟主机像「租一间装修好的单间」,传个网页就完事;GCP 更像给你一盒积木:网络(VPC)、硬盘、对象存储、监控告警可以自己拼,以后加数据库、挂负载均衡都不用搬家。但灵活是要交学费的,项目、区域、可用区、VPC、服务账号一上来全冒出来,初始概念明显更多,第一次看不懂很正常,别怀疑自己。

和其他云平台比,GCP 的强项比较清楚:全球骨干网和负载均衡稳,数据分析用 BigQuery 查海量数据很快,容器生态也顺(Kubernetes 本就出自 Google,GKE 接着用很自然)。但新手完全不必一次学完所有产品,把产品目录翻完只会更晕;先只用「一台虚拟机 + 一个存储桶 + 一页监控」,跑顺了再往下加。

小白最容易踩的坑,提前记一下:

  • 忘了删:实例删了,独立磁盘、快照、外部 IP 可能还在悄悄计费,去「结算」页看一眼最稳。
  • 区域填错:创建写 asia-east1-b,删除也得写同一个,改成别的区会提示「找不到」,不是机器丢了。
  • 拿 root 习惯硬套:一报「权限不足」先想 IAM 和 API 开没开,别急着重装系统。

一句话怎么选:只放个个人小站、懒得管 → 轻量虚拟主机够用;公司已有机房、数据不能出内网 → 继续本地;要弹性、以后想接数据分析或容器 → 就从上面这台 e2-micro 开始试 GCP,记得用完删。

最佳实践:省钱、安全和稳定三条线

把 GCP 当成会一直计费的机房:省钱靠预算和清理,安全靠权限和端口,稳定靠快照、日志和清单。IAM 按最小权限配:个人账号只登录控制台,日常登录只给 Viewer;程序用独立服务账号,按用途给单个角色,例如只写日志给 Logs Writer;改网络、删资源再用单独管理员账号或临时授权。原因是账号混用后,脚本泄露或误点删除会放大损失。坑:别给 Owner/Editor,别把服务账号密钥 JSON 下载到本机或发群里。

  • 命名:项目用 gcpok-prod-web、gcpok-test-web;VM/磁盘用“项目-环境-用途-序号”,如 gcpok-prod-web-01、gcpok-prod-web-01-data。
  • 标签:固定 env、owner、cost、expire;值别用中文、空格、大写,很多 GCP 功能会不认。
  • 看账:在「结算-预算和提醒」设 50%、80%、100% 邮件提醒,每周看一次「结算-报告」;名字和标签统一,账单才能按团队、环境拆开。

每周在 Cloud Shell 复制这段只读命令巡检;若后几行没输出,多半是当前项目没选。

gcloud auth list
gcloud config list
PROJECT_ID="$(gcloud config list --format='value(core.project)')"
if [ -n "$PROJECT_ID" ]; then
  gcloud projects get-iam-policy "$PROJECT_ID" --format=json
  gcloud compute firewall-rules list
  gcloud compute instances list
  gcloud compute disks list
  gcloud logging logs list
fi

防火墙只开 80、443 和必要业务端口,22/3389 不要对 0.0.0.0/0 开放,优先用控制台 SSH 按钮或限制自己的公网 IP。每周和变更前做快照,保留系统日志、审计日志,配 CPU、磁盘、实例状态、错误日志和账单告警。日志、告警方便排障,快照方便回滚。坑:只做快照不试恢复、只看默认日志保留期、临时全开端口忘了收回。

  1. 测试环境:用完就停机或删除;VM 停机后磁盘、公网 IP、快照仍可能收费,超过 expire 日期没人认领就按标签清理。
  2. 生产环境:先画资源清单:项目、VPC、子网、防火墙、VM、磁盘、数据库、DNS、服务账号、预算告警和依赖;确认快照与回滚,再按清单改,改完复查监控、日志、端口和告警。

这样能避免误删和漏配;新手常只删 VM 忘删磁盘,或只加防火墙忘加监控备份。

常见问题(FAQ)

没有 Linux 基础能学会 GCP的基本使用吗?

可以,先学控制台建 VM、SSH 登录和关停资源,再逐步补命令。

创建 VM 后为什么会产生费用?

只要 VM、磁盘或公网地址保留,就可能计费;不用时停机或删除。

控制台和 gcloud 应该先学哪个?

新手先用控制台理解流程,再用 gcloud 重复操作提升效率。

GCP 免费额度是不是完全免费?

不是,免费额度有范围和期限,务必绑定预算告警并查看账单。

不想自己折腾 GCP?我们提供云平台代维护、上云迁移与账单代付服务,一对一技术支持。

查看代维服务 →

发表评论