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

GCP VM 教学步骤二:创建与连接

TL;DR:GCP VM 教学步骤二聚焦创建 VM、确认 SSH 规则、首次登录与基础检查,适合零基础照着做。

它是什么

「GCP VM 教學步驟二」里的 GCP VM,指运行在 Google Cloud Compute Engine 上的虚拟机。说人话,就是云端租来的一台电脑:不用买服务器、不用插网线,却可以像普通 Linux 主机一样装软件、跑程序。本步骤聚焦从零创建一台「可登录」的 Linux VM,也就是建完后能用 SSH 进去敲命令,不是只在控制台里多一行记录。

它承接步骤一的项目与计费准备。项目像账本和文件夹,计费像付款方式;没准备好,实例可能建不出来,或建到错误账号里。接着要选实例名称、区域、机器类型、系统镜像和启动磁盘:名称方便认;区域决定机房,离访客近通常更快;机器类型决定 CPU、内存和价格;镜像决定装 Debian、Ubuntu 还是其他 Linux;启动磁盘就是系统盘。为什么先想清楚?因为这些选择会影响速度、费用、登录和迁移。

在项目、计费、Compute Engine API 和 gcloud 登录都准备好后,下面命令可直接复制执行,它把上面几个选择一次写清楚:

gcloud compute instances create gcpok-step2-vm --zone=asia-east1-b --machine-type=e2-micro --image-family=debian-12 --image-project=debian-cloud --boot-disk-size=10GB

完成后,通常会得到外部 IP 和 SSH 入口。外部 IP 像门牌号,SSH 像带钥匙的远程终端;复制下面命令尝试登录,成功后才有后续部署网站或服务的操作底座:

gcloud compute ssh gcpok-step2-vm --zone=asia-east1-b
  • 区域坑:别随手选区域,磁盘、快照和 IP 通常不跨区域自动跟着走。
  • 费用坑:VM 开着就可能计费,练习完要停止或删除,关浏览器不等于关机。
  • 登录坑:SSH 连不上先查项目、区域、实例状态和账号权限,别急着重开一台;删除实例时也要看清启动磁盘是否一起删。

解决什么问题

在 GCP VM 教學步驟二里,先别急着点“创建”。控制台每个选项其实都是一道选择题:选错不一定立刻报错,却可能让 VM 开不起来、连不上,或测试完一直扣钱。把它想成租临时电脑:先定账本、机房、配置、系统和退租方式。

  • 项目:账本加权限文件夹,账单挂这里;常见坑是左上角停在旧项目,开完却找不到机器。
  • 区域/可用区:机房位置,选离访客近的;创建后不能随便搬家,磁盘和 IP 也常要同区配合。
  • 机器类型:CPU、内存和价格套餐,练手选小型通用规格,别上 GPU 或高内存,容易撞配额也更贵。
  • 镜像:预装系统,新手选常见 Linux 长期支持版;Windows 或市场镜像可能多授权费,登录也不同。
  • 防火墙、外部 IP、启动磁盘:门卫、门牌号、系统盘;没放行 SSH,就会“创建成功却连不上”。

本节还要提前挡掉四类失败:没启用 Compute Engine API,等于没打开开虚拟机的开关;配额不足,CPU、磁盘或外部 IP 到上限;防火墙规则缺失,22 端口或 IAP 通道进不来;IAM 权限不足,点创建只会被拒绝。打开控制台右上角 Cloud Shell,复制下面整段做体检;它不创建机器,只确认或启用必要开关,并列出账号、项目、配额、规则、权限和已有资源。

gcloud auth list
gcloud config get-value project
gcloud services enable compute.googleapis.com
gcloud compute project-info describe
gcloud compute firewall-rules list
gcloud projects get-iam-policy "$(gcloud config get-value project)"
gcloud compute instances list
gcloud compute disks list
gcloud compute addresses list

为什么先查?因为报错常把小白带偏:失败就改机器名,其实可能是权限或配额;连不上就重装系统,其实只是门卫没开门。看到权限提示找管理员,配额小就换小规格或申请提升,没有 SSH 规则先补规则。

最后先讲钱:VM 可理解为按小时计费,资源还在就会累计,不是关掉网页就停。关机通常只停 CPU、内存计费,磁盘、静态 IP、快照仍可能收费;删除实例才释放 VM,但默认未必连磁盘一起删。测试时统一命名,练完用上面的列表命令复查实例、磁盘、地址,再回控制台删除;要留资料先导出,别把关机当清理。

怎么上手

这一步是「GCP VM 教學步驟二」里真正动手的部分,先别急着点「创建」。打开控制台后,先看左上角的项目下拉框,确认选的是你打算用的项目,再到「结算」页面确认它已绑定有效的结算账号。小白最容易踩的坑就在这:项目选错,机器会开到别的项目里,之后怎么找都找不到;没绑结算账号,「创建实例」根本点不动。确认好,从左侧菜单进「Compute Engine → 虚拟机实例」,点「创建实例」。

填表单按「够用就好」来选,测试阶段几乎不花钱:

  • 区域:挑离自己(或用户)近、价格又能接受的地方,比如台湾、香港、东京。离得近延迟低,但各区域单价不同,顺手比一下价格表。注意:区域选定后要换就得重建实例和磁盘,别随手用默认的美国节点。
  • 机器类型:测试机选 e2-micro 或 e2-small 就够,别一上来挑高配。
  • 镜像与启动磁盘:选 Ubuntu LTS 这类 Linux,启动盘 10–20 GB 足够。后面的命令都按 Ubuntu 写,若你选了 CentOS/RHEL,apt 要换成 dnf。

再看「网络」这块。默认 VPC 一般已放行 SSH(tcp:22),但有些项目被收紧过。为安全起见,建议按最小范围只放行自己的公网 IP,先在本机查出口 IP:

curl -4 ifconfig.me

把查到的地址填进 --source-ranges(下面 203.0.113.5 是示例,记得替换;末尾 /32 表示只放行这一台):

gcloud compute firewall-rules create allow-ssh-from-me --network=default --allow=tcp:22 --source-ranges=203.0.113.5/32 --direction=INGRESS --priority=1000

千万别图省事写 0.0.0.0/0,那等于把 22 端口敞开给全网,很快就会被扫描和暴力破解。点创建后回列表页,等状态从「正在预配」变成绿色「正在运行」再连,提前点 SSH 只会报连接失败。

最省事的是点列表里的「SSH」按钮,用浏览器直接开终端;想用本机终端,装好 gcloud 后执行(实例名和可用区换成你自己的):

gcloud compute ssh my-vm --zone=asia-east1-b

登进去先做一次体检,别急着装业务软件。下面整段可以直接复制,作用依次是:刷新软件源看有哪些更新(只检查不升级,避免测试环境被大版本升级打断)、看磁盘剩多少、看内存够不够、确认有管理员权限:

sudo apt update
apt list --upgradable
df -h
free -h
sudo -v && echo "sudo 可用"

如果 df -h 显示根分区快满、free -h 显示内存所剩无几,说明配置选小了,趁现在调整比日后迁移省事得多。到这一步,这台 VM 就算真正上手了。

与替代方案对比

在 GCP VM 教學步驟二 里,先别问哪种方法最好,先看目的:第一次学、批量做、离线练,还是跨云迁移。

  • GCP 控制台适合第一次操作:按钮、表单、价格提示都在页面上,每步可见,点错也容易回头找。缺点是建三台同样配置要重复点,难批量复制;也不利于版本化记录,即把配置像文档一样保存、日后对比改动。坑:只记“成功”,没记区域、规格、磁盘,复盘靠猜。
  • gcloud适合重复创建和自动化:命令可写进脚本,换名称、数量就能批量跑,也方便用 Git 留痕。但新手要先理解项目、区域、参数:项目像账本,区域像机房位置,参数决定系统和规格。坑:没确认当前项目就跑脚本,机器可能建到旧项目,账单和权限都乱。
  • 本地虚拟机如 VirtualBox、VMware,不产生云费用,断网也能练 Linux;但缺少公网部署、弹性扩容、可跨项目复用的云端镜像快照和云端权限体系。坑:本机浏览器能打开不等于别人能访问,本机快照也不能直接当 GCP 快照恢复。
  • 其他云厂商 VM概念像,但 GCP 的 IAM、VPC 和计费逻辑要单独熟悉,不能直接照搬经验。IAM 管权限,VPC 管云上网络,计费拆成规格、时长、磁盘、流量。坑:把别家“安全组、角色、标签”原样套过来,可能防火墙没开、权限给错、账单看不懂。

用 gcloud 前,建议先复制下面几行做“体检”:只查看账号、配置和现有实例,不会创建 VM,也不会马上产生实例费用;看到 (unset) 或权限报错,先回控制台确认项目、区域和账号,别急着写创建脚本。

gcloud auth list
gcloud config get-value project
gcloud config get-value compute/region
gcloud config get-value compute/zone
gcloud compute instances list

为什么这么做?脚本不会替你判断“是不是测试项目”。先看清项目、区域、可用区,再把确认过的值写进脚本,重复执行才不漏项;执行前需安装并登录 gcloud。简单结论:第一次学用控制台;要重复做、留记录用 gcloud;离线练手用本地虚拟机;跨云迁移按 GCP 规则重新做小实验。

最佳实践

按「GCP VM 教學步驟二」把 VM 建好后,别急着装东西,先记住三句话:少开门、写清楚、留证据。端口开得越少,被扫描和撞库的机会越小;名字、标签写清楚,之后才不会把测试机当正式机,也方便看账单。

防火墙只开必要端口。网站只开 80/443,SSH 只开 22;在「VPC 网络 → 防火墙」把 22 来源改成办公室或家里固定 IP,别长期写 0.0.0.0/0。坑有两个:宽带 IP 变了没改规则;云端放行但系统防火墙或服务没监听。用下面命令看 22 是否对全网开放:

gcloud compute firewall-rules list --format="table(name,direction,allowed,sourceRanges,targetTags)"

给机器立规矩。命名用「用途-环境-日期」,如 gcpvm-step2-test-20260624;标签写 env=test、负责人、到期日,描述写谁建、测什么、何时删。这样账单和截图才找得到人。测试完先停止,不用就删除;停止后磁盘、静态外部 IP、快照仍可能收费。到「结算 → 预算和提醒」设 50%、80%、100% 邮件;提醒不是自动关机且有延迟,别等邮件。

首次登录立刻做三件事:更新系统、查时间同步、查日志。旧镜像可能有漏洞;时间不准会让证书和日志变怪;日志没起来,排障就像没监控录像。在 SSH 窗口复制:

if command -v apt-get >/dev/null; then sudo apt-get update && sudo apt-get upgrade -y; elif command -v dnf >/dev/null; then sudo dnf -y upgrade; elif command -v yum >/dev/null; then sudo yum -y update; fi
timedatectl status 2>/dev/null || true
systemctl list-units --type=service --all 2>/dev/null | grep -E 'timesync|chrony|ops-agent|fluentd|rsyslog|journal' || true

看到 inactive 别慌,先确认是否装了 Ops Agent;提示重启时,测试机可重启,正式业务挑时间。把创建页截图留下:区域、机器类型、镜像、磁盘、网络、外部 IP、防火墙、账号、时间都拍到,复盘少猜很多。

连不上时按顺序查,别重装。先在 Cloud Shell 复制这组命令,输出对应状态/外部 IP、防火墙、项目权限、账单:

gcloud compute instances list
gcloud compute firewall-rules list --format="table(name,direction,allowed,sourceRanges,targetTags)"
gcloud config list
PROJECT_ID=$(gcloud config get-value project 2>/dev/null); if [ -z "$PROJECT_ID" ] || [ "$PROJECT_ID" = "(unset)" ]; then echo "请先在控制台选择项目"; else gcloud projects get-iam-policy "$PROJECT_ID"; gcloud beta billing projects describe "$PROJECT_ID" 2>/dev/null || echo "请到控制台结算页确认账单状态"; fi
  1. 实例状态:看是否 RUNNING;停止、启动中、被抢占回收都连不上。
  2. 外部 IP:确认不是「无」,也没换 IP;常犯的错是还连旧地址。
  3. 防火墙规则:看 22 来源是否含当前 IP,目标标签是否打到这台 VM。
  4. 项目权限:确认没切错项目,账号有查看实例、SSH/IAP 权限。
  5. 账单状态:看结算账号、欠费、额度;异常会停实例或挡新建。

常见问题(FAQ)

步骤二一定要用 gcloud 吗?

不一定。新手先用控制台创建和浏览器 SSH,熟悉后再用 gcloud 批量管理。

创建 VM 后为什么连不上 SSH?

先看实例是否运行、外部 IP 是否存在,再查防火墙、项目权限和账单状态。

测试机怎么选才不贵?

选低配机型、较小磁盘和近区域,用完停止或删除,并设置预算提醒。

关机后还会收费吗?

通常计算资源停止计费,但启动磁盘、静态 IP 等仍可能产生费用。

需要开放 HTTP 端口吗?

只做 SSH 运维不用;部署网站时才按需求开放 80 和 443,并限制来源。

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

查看代维服务 →

发表评论