它是什么
GCP(Google Cloud Platform)是谷歌云提供的公有云平台。说人话,就是把机房搬到网上:服务器、存储、数据库、网络、监控等能力按需租用,用多少算多少,不用自己买机器、拉线、搭监控。零基础可先想成“在网页上租电脑、硬盘和网络,并随时看运行状态”。
运维常见操作有三类:在网页控制台配置,用 gcloud 命令查询或修改,创建 VM 后通过 SSH 登录排查。Compute Engine 的 VM 只是计算资源之一,不是 GCP 全部;对象存储、托管数据库、VPC、监控、容器服务也在平台里。
装好 Google Cloud CLI 后,打开终端或 PowerShell,直接复制下面几条。第一条查工具是否可用,第二条登录,第三条看项目,第四条看默认配置;先确认“我是谁、资源会建到哪里”,再开服务,才不容易建错地方。
gcloud --version
gcloud auth login
gcloud projects list --format="table(projectId,name)"
gcloud config list
GCP 用项目、区域、可用区和权限组织资源,先理解这些概念再开通服务。项目像文件夹兼账本,资源、API、账单都挂下面;区域是城市级位置,影响延迟、价格和合规;可用区是区域内独立机房,能做高可用但不等于备份;权限决定谁能看、改、花钱。
- 坑:控制台右上角项目选错,会以为资源消失;先切回正确项目再找。
- 坑:区域选错很难搬家;别只看价格,还要看用户距离和合规。
- 坑:别把 GCP 当 VM 租用站,也别没看计费就开通;磁盘、静态 IP、日志可能继续收费。
- 坑:权限别全给管理员,先用最小权限,后续再加。
若第一条提示找不到 gcloud,先安装 Google Cloud CLI;项目列表为空,多半是没项目或没查看权限,先找管理员确认,不要盲开服务。
解决什么问题
理解 GCP概述,先把它想成“机房变成网页上可开可关的服务”。它适合网站、后台服务、数据处理和临时测试环境:不用自己买机器、建机房、调硬件;选区域、机型和服务,几分钟就能开出来,用完关掉。它先解决的是:让小白少搬服务器,多做业务。
零基础跟着做:打开 Google Cloud 控制台右上角的 Cloud Shell,确认顶部项目选对,复制下面整段。它会启用计算服务、开一台很小的临时机器、看配额 JSON,最后删除。这样能体验资源像水电一样开关,也避免练手后忘关机继续扣费。
PROJECT_ID="$(gcloud config get-value project || true)"
if [ -z "$PROJECT_ID" ] || [ "$PROJECT_ID" = "(unset)" ]; then
PROJECT_ID="$(gcloud projects list --format='value(projectId)' | head -n 1)"
gcloud config set project "$PROJECT_ID"
fi
INSTANCE_NAME="gcpok-demo-$RANDOM"
gcloud services enable compute.googleapis.com --project="$PROJECT_ID"
gcloud compute instances create "$INSTANCE_NAME" --project="$PROJECT_ID" --zone=asia-east1-b --machine-type=e2-micro --image-family=debian-12 --image-project=debian-cloud
gcloud compute project-info describe --project="$PROJECT_ID" --format='json'
gcloud compute instances delete "$INSTANCE_NAME" --project="$PROJECT_ID" --zone=asia-east1-b --quiet || true
业务高峰时,弹性扩容和按量计费能应对流量:多开实例,通常比提前买机器省;但按量不是免费,也要看懂账单和配额,避免闲置资源浪费。在“结算”里按项目、服务、日期拆开,找出花钱的机器、磁盘、数据库;上面输出里 quotas 的 limit 是上限、usage 是已用,扩容失败常是配额到顶。
- 坑:多项目且没设当前项目,命令会用列表第一个;首次没开结算或权限不足也会失败,别在陌生或生产项目测试。
- 删虚拟机不等于全停,独立磁盘、静态 IP、快照、负载均衡、数据库可能继续收费,闲置资源最容易浪费。
- 活动前申请配额并设预算提醒,账单别月底才看。
托管服务能减少 Linux 服务器补丁、备份、数据库维护等重复运维工作:Cloud Run、Cloud SQL、BigQuery 会分担底层维护,你主要管代码、数据、权限和配置。坑是托管不等于不用管,备份保留、访问、版本、日志和费用仍要确认;别拿生产数据库随便测试。
怎么上手
先打开控制台右上角的 Cloud Shell,它已经帮你登录好 gcloud。下面命令都在同一个窗口按顺序复制,换窗口要重跑开头几行,因为变量不会带过去。项目像“资源篮子”,结算账号决定谁付钱,所以注册后先建项目、绑定结算账号,再做预算提醒,最后才开服务。命令用时间戳生成项目 ID,是因为它全局唯一;有多个结算账号时,先确认列表里第一个是不是练习用的,别挂到公司账号。
export PROJECT_ID="gcp-start-$(date +%s)"
export BILLING_ACCOUNT="$(gcloud billing accounts list --format='value(name)' --limit=1 | sed 's#billingAccounts/##')"
export EMAIL="$(gcloud config get-value account)"
gcloud projects create "$PROJECT_ID" --name="GCP 入门练习"
gcloud billing projects link "$PROJECT_ID" --billing-account="$BILLING_ACCOUNT"
gcloud config set project "$PROJECT_ID"
如果提示没有结算账号,先回控制台完成绑卡。接着搜索“预算和提醒”,给这个项目设 50 元月预算,阈值填 50%、90%、100%,通知邮箱用注册邮箱。预算只是提醒,不会自动关机,看到邮件要回来查;免费额度也不等于机器可以一直开着。设完再只开启下面三个服务,别一进 API 库就全点启用;若提示还在启用中,等十几秒再跑一次。
gcloud services enable compute.googleapis.com logging.googleapis.com monitoring.googleapis.com
第一台机器从小型 VM 开始:区域选离用户近的 asia-east1-b,机型用 e2-micro,镜像用 Debian 12。防火墙只放自己当前公网 IP 的 22 端口,千万别写 0.0.0.0/0;SSH 登录后装个 nginx,看到网页就说明一次简单部署通了。若 SSH 超时,多半是 IP 变了,重跑这段会更新规则。
export ZONE="asia-east1-b"
export MY_IP="$(curl -fsS https://api.ipify.org)/32"
if gcloud compute firewall-rules describe allow-ssh-from-me >/dev/null 2>&1; then
gcloud compute firewall-rules update allow-ssh-from-me --source-ranges="$MY_IP"
else
gcloud compute firewall-rules create allow-ssh-from-me
--network=default --allow=tcp:22
--source-ranges="$MY_IP" --target-tags=web-demo
fi
if ! gcloud compute instances describe demo-vm --zone="$ZONE" >/dev/null 2>&1; then
gcloud compute instances create demo-vm
--zone="$ZONE" --machine-type=e2-micro
--image-family=debian-12 --image-project=debian-cloud
--tags=web-demo
fi
gcloud --quiet compute ssh demo-vm --zone="$ZONE" --command='sudo apt-get update && sudo apt-get install -y nginx && echo "GCP 入门成功:$(hostname)" | sudo tee /var/www/html/index.html >/dev/null && curl -s http://localhost && sudo systemctl is-active nginx'
会用机器后,就用 gcloud 查资源、看日志、设置监控告警。刚建好没日志先等一分钟;邮箱频道常需要在控制台点一次“验证”,否则策略建好了也不发信;重复执行会多建频道和策略,练习时别慌。命令块会先尝试补装 alpha/beta 组件,再用 gcloud 建 CPU 告警,失败时自动回退到监控接口。
gcloud compute instances list
gcloud compute firewall-rules list
gcloud logging read 'resource.type="gce_instance"' --limit=10 --format="table(timestamp,textPayload)"
export PROJECT_NUMBER="$(gcloud projects describe "$PROJECT_ID" --format='value(projectNumber)')"
export TOKEN="$(gcloud auth print-access-token)"
curl -fsS -X POST
-H "Authorization: Bearer $TOKEN"
-H "Content-Type: application/json"
"https://monitoring.googleapis.com/v3/projects/$PROJECT_NUMBER/notificationChannels"
-d "{"type":"email","displayName":"GCP 入门提醒","labels":{"email_address":"$EMAIL"}}" > channel.json
export CHANNEL_NAME="$(python3 -c 'import json; print(json.load(open("channel.json"))["name"])')"
cat > policy.json <<EOF
{
"displayName": "VM CPU 过高",
"combiner": "OR",
"conditions": [{
"displayName": "CPU 大于 80%",
"conditionThreshold": {
"filter": "resource.type="gce_instance" AND metric.type="compute.googleapis.com/instance/cpu/utilization"",
"comparison": "COMPARISON_GT",
"thresholdValue": 0.8,
"duration": "300s",
"aggregations": [{"alignmentPeriod": "60s", "perSeriesAligner": "ALIGN_MEAN"}]
}
}],
"notificationChannels": ["$CHANNEL_NAME"]
}
EOF
gcloud components install alpha beta --quiet || true
gcloud alpha monitoring policies create --policy-from-file=policy.json ||
gcloud monitoring policies create --policy-from-file=policy.json ||
curl -fsS -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" "https://monitoring.googleapis.com/v3/projects/$PROJECT_NUMBER/alertPolicies" -d @policy.json > /dev/null
最后再逐步接触对象存储、虚拟网络和权限:先用 Cloud Storage 放图片和备份,再看 VPC 的子网、路由、防火墙,最后用 IAM 给同事最小权限。常见坑是一上来发 Owner,或者把测试账号加进正式项目;练完记得删除 demo-vm,避免忘记关机产生账单。
与替代方案对比
理解 GCP概述 时,先把 GCP 想成「按需租用的整套机房」。别凭感觉选:在控制台右上角打开 Cloud Shell(自带 gcloud),复制下面三行,一次粘贴后回车。为什么?因为资源、权限和账单都挂在账号与项目下,先看清「谁在登录、默认哪个项目、能访问哪些项目」,可避免把测试资源开到旧账号或公司项目里。
gcloud auth list
gcloud config list
gcloud projects list
和自建服务器相比,GCP 省采购、机房、电力、散热和维护,创建虚拟机通常几分钟就好;但它不是「不用运维」,而是换成云上规则:IAM 管谁能改资源,VPC 和防火墙管谁能访问端口,实例、存储、流量逐项计费。常见坑是以为没买硬件就不花钱:忘关 VM、留着公网 IP、跨区传数据,月底都会变成账单。
和其他公有云相比,思路很相近:账号、区域、虚拟机、对象存储、数据库、监控、权限都能对上。差异主要在控制台体验、网络产品命名和默认规则、数据分析能力(如 BigQuery 是否适合报表),以及免费额度、折扣、出网流量等价格细节。坑是照搬别家教程:同一个「负载均衡」或「子网」,配置和收费点可能不一样。
- 和虚拟主机相比:GCP 更灵活,可拆网络、加负载均衡、做自动扩缩、接日志分析;也更复杂。个人博客、作品页、轻量站点,通常不必一上来就搭完整云架构,先用虚拟主机或托管建站更省心。
- 怎么选:只放页面选轻量方案;想少管机房并长期做应用再学 GCP;已有别云业务,重点比控制台、网络、分析能力和账单,别只看单价。
练习时用最小规格,记下区域和费用,用完马上删除测试资源,避免忘记清理产生意外费用。
最佳实践
常见问题(FAQ)
GCP概述适合完全没有 Linux 基础的人看吗?
适合,先懂项目、区域、VM 和计费,再学 Linux 命令会更顺。
学 GCP概述一定要先买域名吗?
不用,先用临时 VM 和内部测试熟悉资源,后续再绑定域名。
GCP 会不会比自建服务器更贵?
不一定,取决于规格、流量和闲置时间;预算告警能降低超支风险。
小白第一步最该做什么?
建项目、设预算、开一台最小 VM,用 SSH 登录并查看账单。
不想自己折腾 GCP?我们提供云平台代维护、上云迁移与账单代付服务,一对一技术支持。
