开始前你需要准备
先别急着点“创建”。准备一个能长期登录的谷歌账号,在浏览器打开 console.cloud.google.com,确认云控制台首页能正常显示。
整体思路
记成三步:先拿容器,再放小电脑,最后试钥匙并关灯。在 Cloud Shell 从上到下复制命令即可,不用改。
- 先建项目。项目就是容器:VM、磁盘、权限、规则和费用都在里面;账单清楚,练完删项目就一起收尾。坑:项目 ID 全球唯一,命令自动生成;Compute Engine 必须绑结算账号,免费额度也一样,没绑报错。
- 再开计算服务建 VM。API 是总开关,不开建不了。区域/可用区用 us-central1-a,常见便宜;e2-micro 够练手;Debian 12 稳定、资料多。坑:区域影响价格、延迟和配额,不足就换区;刚开可能等半分钟,别重敲。
- 最后配访问、验连接、清理。防火墙临时放行 22,SSH 打印主机名说明机器、网络、密钥都通。坑:22 对全网别长期开;只停 VM 仍可能收磁盘费;删项目后配置还指向它,下次切回。
P=gcq-$(date +%s)-$$
gcloud projects create $P
B=$(gcloud billing accounts list --filter=open=true --format='value(name)' | head -1 | cut -d/ -f2)
gcloud billing projects link $P --billing-account=$B
gcloud config set project $P
gcloud services enable compute.googleapis.com
Z=us-central1-a
sleep 30
gcloud compute instances create v --zone=$Z --machine-type=e2-micro --image-family=debian-12 --image-project=debian-cloud --tags=s
gcloud compute firewall-rules create f --allow=tcp:22 --target-tags=s
gcloud compute ssh v --zone=$Z --command=hostname --quiet
gcloud compute instances delete v --zone=$Z --quiet
gcloud compute firewall-rules delete f --quiet
gcloud projects delete $P --quiet
详细步骤一:创建项目并守住费用
项目是资源、权限、账单的边界,单独建练习项目,删掉时不会连累正式环境。
- 控制台左上角“项目选择器”→“新建项目”,名称写成能看出练习用途的,如 gcpok-lab-202606;项目 ID 用自动生成的。别误选已有项目,名称、ID、项目编号不是一回事。
- 到“结算”绑定计费账号,再到“预算和提醒”设小额预算,勾 50%、90%、100% 的预算提醒和费用告警,确认邮箱。因为免费额度外会扣钱,告警能避免忘记关 VM、磁盘、公网 IP。坑:提醒不会自动停机,账单有延迟,练完删项目最稳。
- 在“项目信息”记下项目编号,后面用 gcloud 或排查 IAM 权限会用到;别把 ID 填错。打开右上角终端后复制执行:
gcloud projects list --format="table(projectId, projectNumber, name)"
详细步骤二:创建 VM 并开放访问
控制台进「Compute Engine」→「VM 实例」→「创建实例」。区域挑近的,如台湾 asia-east1-b;机器选 e2-micro,镜像用默认 Linux 镜像。近的延迟低,小机省钱,别选 GPU。
名称填 my-first-vm,磁盘 10GB;网络、服务账号等高级项先保持默认,少改就少出错。名字用小写、数字、短横线,后面命令要照抄;磁盘太小装不了更新。
防火墙别勾 HTTP/HTTPS,也别建 0.0.0.0/0 + 全部端口 暴露公网;只开放 22 端口给 SSH,并检查「VPC 网络 → 防火墙」已有规则,缺就建 tcp:22。小白常写成全部端口,很快被扫描。
建好后点「SSH」,或在 Cloud Shell 直接复制执行。zone、实例名要一致:
gcloud compute ssh my-first-vm --zone=asia-east1-b
详细步骤三:连接 VM 并做首次检查
-
在 Google Cloud 快速入门和教程里,先把实例从“看得见”变成“能操作”。进入 Compute Engine 的“虚拟机实例”列表,找状态为 RUNNING 的那台,点右侧 SSH。首次会生成密钥并弹出黑色终端,等十几秒;没窗口多半是弹窗被拦,允许后再点。
用本地终端也可以:先装好 Google Cloud CLI,再复制下面两行,用 gcloud 命令发起连接;第一行登录并选项目,第二行连当前项目列表里的第一台实例。这样拿到真实 shell,输出都来自 VM 自己。坑:项目选错、账号没 SSH 权限、多台实例没核对名称,会连不上或连错。
gcloud init gcloud compute ssh "$(gcloud compute instances list --format='value(name)' --limit=1)" --zone="$(gcloud compute instances list --format='value(zone.basename())' --limit=1)" -
登录后做首次体检,一次看系统信息、磁盘空间、内存和网络连接。重点不是背结果,而是确认有内核版本、磁盘没到 100%、内存不为 0、有内网地址、能解析域名且外网端口可连,基本就说明 VM 正常运行。只测 ICMP 不通别慌,可能没装工具或策略限制。
uname -a cat /etc/os-release df -h
验证结果
先核对控制台:进入 Compute Engine > 虚拟机实例,确认项目和区域没选错,实例状态是运行中,“外部 IP”列有地址。运行中表示机器已开机,外部地址是 SSH 的入口;刚创建要等几十秒再刷新,选错项目或区域会以为实例消失。
点实例右侧的 SSH,弹出终端并出现提示符,就是登录成功。还要执行命令,是因为页面正常不等于账号、网络和磁盘都能用。直接复制整段,别把 $ 一起复制:
whoami
hostname
pwd
date -u
df -h /
能看到用户名、机器名、目录、时间和磁盘空间,就算正常。若提示命令不存在,多半建成了 Windows 实例,应改用 PowerShell。
最后到 结算/费用 页面,确认顶部显示当前项目;进入预算和提醒,应看到预算名称和提醒阈值,说明已配置。清理前数一下资源:通常只有 1 个 VM、1 块磁盘、1 个外部 IP,与预期一致再进入清理,避免删错项目或漏删后继续计费。预算提醒只是通知,有延迟,也不会自动停费;多出的旧资源按名称、创建时间核对,别误删。
常见坑与解决办法
做 Google Cloud 快速入门和教程时,先别怀疑电脑:GCP 按“项目”管理。找不到“Compute Engine(计算引擎)”或按钮置灰,多半是项目没绑定结算账号、当前账号权限不够,或 Compute Engine API 没启用。先到控制台「结算」确认此项目已绑定计费,让管理员补上 Compute 相关角色,再执行下面命令检查并启用服务;坑常在于登录了个人账号,却在看公司项目。
gcloud config list
gcloud services list --enabled --filter="name:compute.googleapis.com"
gcloud services enable compute.googleapis.com
gcloud projects get-iam-policy $(gcloud config get-value project)
SSH 连不上,先看实例是不是 RUNNING,再确认入站防火墙放行 TCP 22,并核对当前账号有没有登录权限。浏览器 SSH 一直转圈,常常不是密码错,而是实例停了、规则被删了,或用了另一个账号。下面命令列出现状;若确实缺 22 规则,练习时可临时创建,但别长期对全网开放。
gcloud compute instances list --format="table(name,zone,status)"
gcloud compute firewall-rules list --format="table(name,network,allowed)"
gcloud auth list --filter=status:ACTIVE --format="value(account)"
gcloud compute firewall-rules describe allow-ssh-tutorial || gcloud compute firewall-rules create allow-ssh-tutorial --network=default --allow=tcp:22 --source-ranges=0.0.0.0/0 --direction=INGRESS --priority=1000
担心产生费用,练习结束立即删除 VM、磁盘、地址和防火墙规则;VM 停机后,磁盘和保留 IP 仍可能计费,账单也可能延迟。先用命令列出资源,按名称在控制台逐项删除,删 VM 时勾选“同时删除启动磁盘”,最后到「结算 > 账单」查看并核对。
gcloud compute instances list
gcloud compute disks list
gcloud compute addresses list
gcloud compute firewall-rules list
命令报权限错误,先确认 gcloud 选中的是正确项目;很多人复制命令时还停在上一个项目,或令牌已过期。用下面的初始化向导重新选择项目和账号,必要时重新登录授权,再重试原命令。
gcloud config list
gcloud init
gcloud auth login
gcloud auth application-default login
常见问题(FAQ)
第一次学习一定要用命令行吗?
不用,先用控制台完成一遍,再逐步学 gcloud 更高效。
创建 VM 后忘记关闭会收费吗?
会,磁盘等资源可能继续计费;请按清单删除。
SSH 一直连接失败怎么办?
依次查实例状态、22 端口规则、账号权限和外部地址。
免费额度是否等于完全免费?
不是,通常有条件限制,务必看额度范围和计费提醒。
不想自己折腾 GCP?我们提供云平台代维护、上云迁移与账单代付服务,一对一技术支持。
