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

零成本白嫖GCP永久免费VPS全流程

TL;DR:讲清零成本白嫖 Google Cloud (GCP) 永久免费 VPS 全流程:免费层边界、开通步骤、避坑和账单防护,适合新手照做。

它是什么:GCP 永久免费层边界

先把边界讲明白:GCP 永久免费层不是“送你一台随便配的服务器”,而是 Google Cloud 给符合条件账号的长期月度免费额度。常见能搭小机器的,是美国指定区域/可用区里的 1 台 e2-micro VM、30 GB 标准持久盘和少量出站流量。把它想成每月指定商品券,不是全场自助餐。

所以,「零成本白嫖 Google Cloud (GCP) 永久免费 VPS 全流程」的核心,是只用免费层内的计算、磁盘、网络和系统镜像,不是任意配置随便开:机型 e2-micro、官网列出的美国区域、标准持久盘不超 30 GB、免费公共镜像;别碰付费 Marketplace 镜像、SSD/平衡盘、负载均衡、Cloud NAT、闲置静态公网 IP 等收费项。小白常见坑,是看到 Free 或试用就以为所有下拉框都免费。

如果已装好 gcloud,先别创建实例,复制两行检查当前项目和 e2-micro:开错项目、区域或机型,免费层可能不认,后续会按量计费。

gcloud config get-value project
gcloud compute machine-types describe e2-micro --zone=us-central1-a --format="value(name,guestCpus,memoryMb)"
  • 免费试用赠金是有期限的代金券,能抵付费资源,但不是永久免费层;过期或花完后,资源继续跑会收费。
  • 付费资源要单独看,选了收费规格或服务,就可能按量计费。
  • 永久免费层只每月减免指定额度;绑定银行卡主要做身份校验,不是免费通行证,误选收费项仍可能产生账单。

它不是传统独立服务器套餐,而是按项目、区域、机型、磁盘、流量逐项计费的云资源;你只是拼成一台能远程登录的小 VM。区域、机型、额度和流量限制以官网免费层说明为准。记住:只选清单里的,超出不碰。

解决什么问题:新手练手和轻量服务

所谓零成本白嫖 GCP 永久免费 VPS,最适合练手和低流量小服务。先说边界:永久免费是“指定机型、区域、磁盘、流量等条件内长期免费”,不是所有按钮随便点都不花钱。先声明边界,能避免把永久免费误解成零风险,也能减少开机后收到账单的焦虑;看到账单页、配额页或小额费用,才知道该查哪里。

新手可以用它低成本把 Linux、SSH、gcloud、防火墙规则、域名解析和基础运维串起来。先别急着建站,在终端复制下面命令做体检:确认 SSH、当前用户、系统、网卡、外网、DNS,以及 gcloud 账号、项目、防火墙和实例。

ssh -V
whoami
uname -a
ip -brief address
curl -I https://cloud.google.com
getent hosts cloud.google.com
gcloud --version
gcloud auth list
gcloud config list
gcloud projects list
gcloud compute firewall-rules list
gcloud compute instances list

为什么先做只读检查?它不会改坏系统,却能回答“连的是哪台机器、用哪个账号、属于哪个项目”。看到 command not found、项目未设置、API 未启用或权限不足别慌,多半是没装 gcloud、没登录、没选项目或没授权;别用 root 乱改 sshd,也别把防火墙对 0.0.0.0/0 放开所有端口。

  • 适合:个人笔记、测试环境、小型接口、定时任务、监控探针等低流量服务,练部署、重启、看日志、打补丁。
  • 不适合:高并发站点、大数据处理、视频转码、批量爬虫或大流量下载,容易撞配额或产生费用。
  • 更像生产:真实云环境比本地虚拟机更接近生产运维,能逼你理解账单、IAM 权限、日志和配额;本地虚拟机删了重建很随意,云上要知道谁授权、哪条规则放行、费用从哪来。
  • 先防坑:公网 IP、快照、负载均衡、超流量、日志留存,或选错区域和机型都可能计费;开机前设预算提醒,练完删资源。

域名解析把 A 或 AAAA 记录指到公网 IP 后,不一定马上生效,别一直刷新就以为配错。把用途限制在学习和轻量服务,先声明边界,才能低成本、少焦虑。

怎么上手:从开号到连上 VM

先用 Google 账号打开 Google Cloud Console,按提示绑卡完成身份验证;那笔预授权通常只是验证,不是消费。新建项目如 gcp-free-vps,先别急着建机器:到「账单 → 预算和提醒」建 1 美元预算,设 50%/90%/100% 邮件提醒,再到 IAM 给自己加「结算账号查看者」。原因是预算提醒不会自动停机,但能在误开收费资源时第一时间发现。

第一次建议在网页控制台点:Compute Engine → 创建实例。名称随意,区域只选 us-central1、us-east1、us-west1 之一及对应可用区;机器类型选 e2-micro;启动盘选 Debian 12 或 Ubuntu LTS 官方镜像、标准持久盘 pd-standard、大小 10~30GB。默认可能是 Balanced/SSD,区域选错或用了付费市场镜像都不算永久免费,这是小白最常踩的坑;同时不要加 GPU、额外 SSD、负载均衡、快照计划、预留静态 IP。VPC 防火墙只放 22 给本机 IP 或 IAP;以后建站再加 80/443。登录可用网页 SSH,或填自己的 SSH 公钥。

网页控制台适合第一次操作,因为每一步都能看清默认项;熟悉后再用 gcloud 复现创建、开机、关机和删除流程。本地装好 Cloud SDK 后,先执行下面第一段;删除命令只在测试结束时单独执行。

gcloud init
PROJECT_ID="${PROJECT_ID:-$(gcloud config get-value project 2>/dev/null)}"
REGION="us-central1"
ZONE="us-central1-a"
VM_NAME="free-vps"
if [ -z "$PROJECT_ID" ] || [ "$PROJECT_ID" = "(unset)" ]; then echo "请先在网页控制台选择项目"; exit 1; fi
gcloud services enable compute.googleapis.com --project "$PROJECT_ID"
gcloud compute firewall-rules create allow-ssh-iap --project "$PROJECT_ID" --network default --allow tcp:22 --source-ranges 35.235.240.0/20 --target-tags ssh-only --priority 900 || true
MY_IP="$(curl -fsS https://ifconfig.me)/32"
gcloud compute firewall-rules create allow-ssh-my-ip --project "$PROJECT_ID" --network default --allow tcp:22 --source-ranges "$MY_IP" --target-tags ssh-only --priority 1000 || true
gcloud compute firewall-rules delete default-allow-ssh --project "$PROJECT_ID" --quiet 2>/dev/null || true
gcloud compute firewall-rules delete default-allow-rdp --project "$PROJECT_ID" --quiet 2>/dev/null || true
gcloud compute instances create "$VM_NAME" --project "$PROJECT_ID" --zone "$ZONE" --machine-type e2-micro --image-family debian-12 --image-project debian-cloud --boot-disk-size 30GB --boot-disk-type pd-standard --tags ssh-only
gcloud compute instances stop "$VM_NAME" --project "$PROJECT_ID" --zone "$ZONE"
gcloud compute instances start "$VM_NAME" --project "$PROJECT_ID" --zone "$ZONE"

第一次连上后立刻更新,并把初始化脚本下载到本地或私有仓库保存;重装时重新跑即可。脚本会装常用工具、建普通用户、禁用密码和 root 登录、开启自动安全更新。限制端口、禁密码是为了少被暴力猜;禁用前先确认 ops 的公钥能登录,否则会把自己锁在外面。

cat > ~/gcp-free-vps-init.sh <<'EOF'
#!/usr/bin/env bash
set -euxo pipefail
USERNAME="ops"
SSH_KEY_FILE="${SSH_KEY_FILE:-$HOME/.ssh/authorized_keys}"
if [ ! -f "$SSH_KEY_FILE" ]; then echo "请先添加 SSH 公钥到控制台"; exit 1; fi
sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt -y upgrade
sudo DEBIAN_FRONTEND=noninteractive apt -y install curl vim ufw unattended-upgrades fail2ban
sudo timedatectl set-timezone UTC
sudo adduser --disabled-password --gecos "" "$USERNAME" || true
sudo mkdir -p "/home/$USERNAME/.ssh"
sudo cp "$SSH_KEY_FILE" "/home/$USERNAME/.ssh/authorized_keys"
sudo chown -R "$USERNAME:$USERNAME" "/home/$USERNAME/.ssh"
sudo chmod 700 "/home/$USERNAME/.ssh"
sudo chmod 600 "/home/$USERNAME/.ssh/authorized_keys"
echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" | sudo tee "/etc/sudoers.d/$USERNAME" >/dev/null
sudo chmod 440 "/etc/sudoers.d/$USERNAME"
sudo mkdir -p /etc/ssh/sshd_config.d
grep -q '^Include /etc/ssh/sshd_config.d/*.conf' /etc/ssh/sshd_config || sudo sed -i '1i Include /etc/ssh/sshd_config.d/*.conf' /etc/ssh/sshd_config
printf 'PasswordAuthentication nonPermitRootLogin non' | sudo tee /etc/ssh/sshd_config.d/99-free-vps.conf
sudo sed -i 's/^#*PasswordAuthentication .*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i 's/^#*PermitRootLogin .*/PermitRootLogin no/' /etc/ssh/sshd_config
printf 'APT::Periodic::Update-Package-Lists "1";nAPT::Periodic::Unattended-Upgrade "1";n' | sudo tee /etc/apt/apt.conf.d/20auto-upgrades
sudo ufw allow OpenSSH
sudo ufw --force enable
sudo systemctl restart ssh || sudo systemctl restart sshd
EOF
chmod +x ~/gcp-free-vps-init.sh
~/gcp-free-vps-init.sh

测试结束要删机时,单独复制下面这段;它也会列出还活着的资源,方便你继续清理。

PROJECT_ID="${PROJECT_ID:-$(gcloud config get-value project 2>/dev/null)}"
if [ -z "$PROJECT_ID" ] || [ "$PROJECT_ID" = "(unset)" ]; then echo "请先在网页控制台选择项目"; exit 1; fi
ZONE="us-central1-a"
VM_NAME="free-vps"
gcloud compute instances delete "$VM_NAME" --project "$PROJECT_ID" --zone "$ZONE" --quiet
gcloud compute instances list --project "$PROJECT_ID"
gcloud compute addresses list --project "$PROJECT_ID"
gcloud compute disks list --project "$PROJECT_ID"
gcloud compute snapshots list --project "$PROJECT_ID"
gcloud compute forwarding-rules list --project "$PROJECT_ID"

长期运行前,每天看「账单 → 费用表/报告」和「网络流量/监控」;重点查计算、磁盘、静态 IP、快照、负载均衡、出站流量。删 VM 不等于删干净,闲置外部 IP、磁盘、快照、测试 VM 要在控制台逐项删除;确认当月账单和预测都是 0,再让它一直跑。原因很简单:免费额度按区域和月份算,漏删的小资源最容易把「零成本」变成账单。

与替代方案对比:别只看价格

别只问“是不是 0 元”,先问用途:短期压测、长期练 Linux,还是搭小站点、学云平台权限。价格只是表面,隐藏成本是停机、误扣费、迁移和重做。小白常坑在看到“免费”就忽略规则和额度。

先用同一把尺子摸底。下面在 Debian/Ubuntu 云主机或本地 Linux 虚拟机里复制即可,只读信息,不删改系统。为什么要看?同样写“1 核 1G”,磁盘、流量、公网入口、监控可能差很多;坑是看到“公网出口 IP”不等于外网能访问 80/443,还要看云防火墙和入站限制。

echo "CPU 核数:"; nproc
echo "内存:"; free -h
echo "磁盘:"; df -h /
echo "内网地址:"; hostname -I
echo "公网出口 IP:"; if command -v curl >/dev/null; then curl -s --max-time 5 https://ifconfig.me; else echo "未安装 curl,先跳过"; fi; echo
  • 短期试用赠金:像体验卡,适合短期压测、临时跑脚本;但会到期,绑卡后可能转付费。GCP 永久免费层配置更受限,却适合长期练手:SSH、防火墙、小服务慢慢折腾。别当高配生产机,用完删资源、设预算提醒。
  • 低价 VPS:低价商家通常开箱即用、线路选择多;但备份、售后、权限管理参差。GCP 优势是生态完整,权限和监控规范;弱点是计费项细碎,静态 IP、额外磁盘、快照、出网流量、日志都可能收费。坑是把“免费实例”当成“配套全免费”。
  • 本地虚拟机或旧电脑:完全可控,随便重装,不担心云账单,适合练命令和破坏性实验;但缺少公网、云平台权限和真实运维演练。家宽常无固定 IP、入站被封,还要算电费、噪音和硬盘老化。
  • 其他云免费层:各家限制不同,重点看区域、机型、流量、休眠规则、续期条件和服务条款。有的闲置休眠,有的只免小机型,有的超流量计费,有的要每月续期或禁商业用途。坑是忘规则后被停、被删或出账单。

怎么选:压测用试用赠金,练手用 GCP 永久免费层,省心建站选低价 VPS,纯入门用本地虚拟机。无论选哪个,都记下创建/删除清单、设预算提醒、定期导出配置,这才叫零成本,不是零价格。

最佳实践:把零成本做成可运维

白嫖最怕的不是「跑不起来」,而是「莫名其妙被扣费」或者「机器挂了数据全丢」。想让免费 VPS 长期稳如老狗,得按运维的思路管起来。照着下面五步做就行:

  1. 收拢入口,别给自己埋雷。新手最容易到处点「创建」,结果手滑开了不免费的机型。请死守一个项目、一台合格 VM(e2-micro)、一个最小权限账号,并给资源加个标签(比如 env:free-tier)。要是拉了同事一起看,千万别给对方「计算实例管理员」权限,避免多人误开实例。资源越集中,越一眼看得清。

  2. 把告警当刹车,异常先停机。去「结算」里把预算告警阈值调低(设 0.5 美元就发邮件,别等出账单才哭),再配合费用报表、日志检查和出站流量告警。流量突增多半是被扫或者被当跳板了。记住口诀:先停机,再排查,别边跑边查日志。

    # 发现扣费/流量苗头先停机(名字和区域换成你自己的,本地终端跑)
    gcloud compute instances stop my-free-vm --zone=us-central1-a --project=my-free-project

    小白常踩的坑:只设预算、不设流量告警,等邮件到的时候流量早跑掉好几个 G 了。

  3. 写个「复活脚本」,十分钟满血。免费机随时可能因维护或误删要重装,别靠脑子记当初装过啥。用脚本把系统配置、软件版本、防火墙和部署命令全存下来,重装后跑一遍就恢复,专治「上次那个端口咋开的来着」。

    #!/bin/bash
    # 记环境,也当恢复清单用
    uname -a > setup.log
    dpkg -l >> setup.log
    sudo ufw status >> setup.log
    echo "docker run -d -p 80:80 nginx" >> setup.log
    cat setup.log
  4. 备份出项目,顺手清垃圾。千万别把免费 VM 当唯一副本,关键文件定期拉回自己电脑或项目外的存储。还有个隐形坑:删实例时磁盘、静态 IP 和快照默认不跟着删,会偷偷计费,每月去控制台扫一次闲置资源并删干净。

    # 在自己电脑执行:先建目录,再把文件拉到项目外
    mkdir -p ./backup
    gcloud compute scp my-free-vm:~/setup.log ./backup/ --project=my-free-project
  5. 守条款,上线前先自查。多账号规避、挖矿、邮件群发、代理滥用都违反服务条款,轻则停机重则封号,白嫖直接变黑号。正式挂站前先做安全加固,再看看自己到底对外开了哪些门,只留必要的:

    # 查对外监听端口
    sudo ss -tulnp
    # 只放行 SSH 并启用防火墙(--force 跳过确认,复制就能跑完)
    sudo ufw allow 22/tcp && sudo ufw --force enable

    门开得越少,越不容易被入侵跑流量而破防。

常见问题(FAQ)

真的永久免费且完全零成本吗?

符合免费层条件通常不收费,但误开付费资源、流量超额或闲置资源可能产生费用。

小白最容易被哪些项目扣费?

常见是选错区域机型、用 SSD 或快照、保留静态 IP、开负载均衡和出站流量超额。

可以用这台 VM 搭网站吗?

可以跑低流量个人站,但要先做备份、加密访问、安全更新和账单告警,不建议承载关键业务。

忘记 gcloud 命令怎么办?

先用网页控制台理解流程,再查 gcloud 帮助;每次变更都记录命令和结果。

为什么还要绑定银行卡?

主要用于身份校验和防止滥用;只要不开付费资源,并设预算提醒,风险可控。

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

查看代维服务 →

发表评论