它是什么:Compute Engine 与 VM
说人话:GCP 是 Google Cloud Platform,Compute Engine 是它的虚拟机服务,也就是在云端「租电脑」。不用买主机,只要选 CPU、内存、磁盘大小和区域/可用区,Google 就在机房切一台虚拟机给你。为什么选?小测试用小型机器够用又便宜;区域离访客近通常较快,但价格、可选规格也会变,别闭眼下一步。
VM(虚拟机)就是云端的 Linux 或 Windows 服务器,有系统、硬盘、网络,只是摸不到机箱。Linux 常用 SSH,Windows 常用远程桌面;进去后能装软件、跑网站、执行脚本。把它想成刚装好系统的空电脑最准。
「15 秒内开好 VM」是用控制台预设或命令一次写好规格,快速创建实例。先装好 Google Cloud CLI(工具名 gcloud),复制下面这条按提示登录、选项目;它决定「用谁的身份、记到哪张账单」。小白常在这里选错旧项目。
gcloud init
再打开服务开关;新项目没启用 Compute Engine API,创建会报错:
gcloud services enable compute.googleapis.com
下面就是命令创建:小规格、10GB 磁盘、Debian Linux、放在 asia-east1-b,对应 CPU/内存、磁盘、区域,先不用背:
gcloud compute instances create demo-vm
--zone=asia-east1-b
--machine-type=e2-micro
--image-family=debian-12
--image-project=debian-cloud
--boot-disk-size=10GB
重点:15 秒通常只表示实例「运行中」,空电脑通电了;不等于应用部署完成。你还没装 Web 服务、上传代码、开 80/443 端口、绑域名,别看到绿灯就以为网站能开。还容易踩这些坑:
- 没默认项目或没绑结算账号会失败;初始化时看清项目名。
- 区域别乱选,换区域后价格、延迟、可用规格可能不同。
- Linux 用 SSH,Windows 用远程桌面,登录方式别找错。
- VM 开着就计费,练完复制下条删除;关浏览器不等于关机:
gcloud compute instances delete demo-vm --zone=asia-east1-b --quiet
解决什么问题:为什么不用先买机器
以前只是临时测试、演示或排错,也常要申请预算、买机器、等发货、装系统、接网络,还要管机房、电源和故障。Compute Engine 省掉采购、装机和机房维护:环境随开随用,在控制台右上角打开 Cloud Shell,提交命令,15 秒内就能发起创建,等状态变成 RUNNING 再 SSH 进去。「15 秒内用 Compute Engine 开好 VM」的价值,是不把几十分钟的一次性需求变成固定资产。
它按使用时长计费,短时间实验更灵活。用完先停机,通常不再收 CPU 和内存;确认不要了再删除,就能把成本刹住。下面命令直接复制执行,并把区域、镜像、网络和权限写死;保存成脚本或模板后,同事复用时不必在控制台一层层点选,少犯选错可用区、镜像、VPC 或误勾权限的错。
gcloud services enable compute.googleapis.com
sleep 10
gcloud compute instances create demo-vm-15s
--zone=asia-east1-b
--machine-type=e2-micro
--image-family=debian-12
--image-project=debian-cloud
--boot-disk-size=10GB
--network=default
--no-service-account
--no-scopes
为什么这样写:e2-micro 和 Debian 12 便宜、好上手;--network=default 明确网络;--no-service-account 加 --no-scopes 表示实验机默认不拿服务账号权限。真要访问云资源,再单独加专用服务账号和最小 IAM 角色,别图省事给 cloud-platform。停机和删除分别复制:
gcloud compute instances stop demo-vm-15s --zone=asia-east1-b
gcloud compute instances delete demo-vm-15s --zone=asia-east1-b --quiet
- 先选项目和结算:第一次用没开通结算、没权限启用 Compute Engine API,命令会报错,不是命令写坏。
- 别重复创建:名字
demo-vm-15s已存在会失败;换名字或先删除。 - 停机不等于全免费:启动盘、静态 IP、快照可能仍计费;删除前先备份。
- 默认网络不等于端口开放:要开网站还要防火墙规则;项目若删过 default 网络,先建 VPC 或把参数换成已有网络名。
怎么上手:15 秒内以 Compute Engine 开好 VM
别急着点「创建」,先把地基打好:新建一个 GCP 项目、绑定结算账号,再到「API 和服务」里启用 Compute Engine API。很多小白卡在第一步,就是因为没绑卡或没启 API,页面一直转圈报错。接着选区域和机器类型:选离访客近的区域(比如 asia-east1)延迟更低;练手选 e2-micro 就够,别一上来挑高配,不然月底账单会吓一跳。
想肉眼看到「15 秒开机」,走控制台最直观:左侧菜单进「Compute Engine → 虚拟机实例 → 创建实例」。填个名字,镜像默认选 Debian 或 Ubuntu(轻量又稳),在「防火墙」那栏勾上 允许 HTTP/HTTPS 流量,最后点「创建」。不勾这一项,网站装好了外网也打不开,这是最常踩的坑。盯着状态栏,从「正在预配」变成绿色「运行」,通常十几秒就搞定。
下次再开就不用重复点了。装好 gcloud 并设好默认项目后,把名称、镜像、区域和启动脚本写进一条命令,秒开还能自动装好环境:
gcloud compute instances create my-demo-vm
--zone=asia-east1-b
--machine-type=e2-micro
--image-family=debian-12
--image-project=debian-cloud
--tags=http-server
--metadata=startup-script='#! /bin/bash
apt-get update -y
apt-get install -y nginx'
为什么加启动脚本? 机器一跑起来 Nginx 就装好了,省得再手动敲一遍。注意反斜杠 后面别留空格,复制时最容易在这里断掉;--tags=http-server 则对应刚才勾的防火墙规则,漏了它端口照样不通。
点控制台的「SSH」按钮连进去后,别急着拿管理员身份直接跑业务。先更新系统、建个普通用户,安全得多:
sudo apt-get update && sudo apt-get upgrade -y
sudo adduser webadmin
sudo usermod -aG sudo webadmin
坑又来了:默认镜像禁了 root 密码登录,硬去改反而容易把自己锁在外面,老实用 sudo 最省心。最后验证端口和业务服务是不是真通了:
curl -I http://localhost
sudo ss -tulnp | grep :80
看到 200 OK、且 80 端口在监听,再回浏览器贴一下「外部 IP」试试。能打开页面,这台 VM 才算真的开好了。
与替代方案对比:什么时候别选 VM
虽然照着「15 秒开好 Compute Engine VM」的步骤确实很爽,但「能开」不等于「该开」。不少小白一上来就建机器,结果网站没跑几天,倒先被系统补丁和「忘了关机一直扣钱」搞懵。先对照下面几种情况,能少踩很多坑。
如果只是放官网、博客或接口,优先用 Cloud Run 或 App Engine。你只管交代码,谷歌替你备系统、打补丁、扛流量,没人访问还能缩到零。VM 则像租了台裸机,连 apt upgrade 都得自己记着敲。最容易踩的坑是:以为关掉浏览器就等于关机,其实它还在后台哗哗计费。先复制这行查状态,不改任何东西,粘贴回车就能跑:
gcloud compute instances list --format="table(name,status,zone)"
再看看自己是不是早已有托管服务,同样直接复制:
gcloud run services list --platform=managed
坑提醒:网上的停机模板是 gcloud compute instances stop xxx --zone=xxx,其中 xxx 必须换成第一条查出的真实名字和可用区,照抄必报 NOT_FOUND;而且停机只停 CPU,挂着的磁盘仍收一点存储费,真不用了得删掉才彻底清账。
听说「上容器才专业」也先冷静。GKE 适合多个微服务互相调度、自动扩缩、灰度发布,可光搞懂节点池、Pod、Ingress 就够学一两周,学习成本远高于单台 VM。只跑一个服务,别为了好看去啃它。
若旧系统原本跑在本地虚拟机或其他云主机上,脚本、内网 IP、授权都绑死了,原样迁移、先沿用已有环境最省事;但只要后面要连 Cloud SQL、走 GCP 内网、用 IAM 管「谁能 SSH 谁不能」,Compute Engine 就明显更顺——它和网络、IAM 原生长在一起,不用额外配一堆打通隧道的活儿。
最后,像「每晚跑个报表」「传图后缩个图」这种几分钟完事的活儿,别为它长期养一台 VM。换 Cloud Run 作业或 Cloud Functions,来了才跑、跑完就走、不跑不花钱。VM 真正擅长的是「一直在线、要装冷门软件、要手动 SSH 进去调」的驻场活儿。
一句话记:交代码不管系统 → Cloud Run / App Engine;多服务要编排 → GKE;旧环境整搬 → 先迁;干完就走 → 函数或作业;真要一台贴着 GCP 权限随我折腾的机器 → 再回来用这 15 秒的 VM。
最佳实践:开得快也要管得住
常见问题(FAQ)
15 秒真的能创建好 VM 吗?
命令和预设齐备时可很快发起创建,实际可登录还要等实例启动。
新手该用控制台还是 gcloud?
先用控制台理解选项,熟练后用 gcloud 写脚本批量创建。
VM 停机后还会收费吗?
会,磁盘、外部 IP 等资源可能继续计费;不用时请删除或释放。
开好 VM 后第一件事做什么?
先配置 SSH 安全、系统更新和监控,再部署业务并做快照。
不想自己折腾 GCP?我们提供云平台代维护、上云迁移与账单代付服务,一对一技术支持。
