这个博客和代理服务跑在一台 Azure 学生订阅的小机器上:日本东部、2 vCPU / 892MB,由 $100 学生额度覆盖。以下是从认证到能用的全过程,数据来自这台机器的实测。
一、入口:学生认证
Azure for Students:用学校邮箱完成学籍认证,就能拿到 $100 额度 / 年,在读期间每年可续,不需要信用卡。额度可以花在虚拟机、磁盘、流量等几乎所有资源上。
几点经验:
edu邮箱认证最快;没有的话按页面提示走其他学籍验证- 免费服务清单里还有一批「12 个月免费」和「永久免费」的小资源,轻量用途基本够
- 认证通过后先别急着点创建——下一步更重要
二、先查区域:学生订阅有白名单
注意:能列出的区域 ≠ 你能创建的区域。学生订阅常有区域限制,创建时报 RequestDisallowedByAzure,就是被策略拦了。
# 列出推荐区域
az account list-locations \
--query "[?metadata.regionCategory=='Recommended'].{name:name, display:displayName}" -o table
# 查区域策略限制
az policy assignment list \
--query "[?contains(properties.displayName,'ocation')].{name:name, display:properties.displayName}" -o table
选区域的思路:
| 目的 | 区域 |
|---|---|
| 国内低延迟 | japaneast / koreacentral / southeastasia |
| 美区解锁 | westus2 / westus3 |
这台机器在 japaneast:实测国内直连 443 正常,22 端口会被干扰(TCP 握手能过,SSH 随即被 reset)——这也是本站 SSH 走代理连接的原因。
三、开机器:B 系列突发型
个人用途首选 B 系列突发型:便宜、平时攒 CPU 积分、闲时省额度。这台用的是:
VM_SIZE = Standard_B2ats_v2 # 2 vCPU / 1 GiB,约 $8/月
IMAGE = ubuntu-24_04-lts
创建时的三个要点:
- SSH 公钥 + 禁用密码登录(
disablePasswordAuthentication=true) - NSG 只开必要端口:22(建议限制来源)、80 / 443,代理端口按需
- 系统盘标准 SSD 就够:61G 实测只用了 4.6G
四、开机后三件事
1. 加 swap(小内存必做)
892MB 内存跑 nginx + Hugo 构建 + 代理,不加 swap 迟早 OOM:
sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile
sudo mkswap /swapfile && sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
2. 开 BBR
跨境线路建议开 BBR:
echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.d/99-bbr.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.d/99-bbr.conf
sudo sysctl --system
sysctl net.ipv4.tcp_congestion_control # 应输出 bbr
3. 防火墙:NSG 和系统防火墙只管一层
Azure 的 NSG 在云侧挡流量,系统里还有一层(ufw / iptables)。两层要么都配好、要么明确交给一层。常见问题:NSG 放行了 443,机器里 ufw 却拦着。
这台机器实测 ufw 是 inactive,访问控制统一交给 NSG。
五、成本账:$100 能跑多久
B2ats_v2约 $8/月 → $100 差不多正好一年- 只在需要时开机能更久,但注意:「停止」≠ 停止计费,要在门户里选「停止(释放) / deallocate」
- 公网 IP、磁盘、流量都是单独计费项,删机器时别忘了一起清理
六、踩坑清单
| 坑 | 现象 | 解法 |
|---|---|---|
| 区域白名单 | 建 VM 报 RequestDisallowedByAzure |
换区域,或先跑第二步的查询 |
| Cloud Shell 没建存储 | 每次重开连不上 VM | 首次使用时按提示创建存储账户 |
| NSG 与系统防火墙不一致 | 端口「明明开了」却不通 | 两层都查,或统一交给 NSG |
| 国内直连 22 端口 | SSH 被 reset(TCP 握手却成功) | 走代理连,或换高位端口观察 |
| B 系列 CPU 积分 | 跑重活突然变慢 | 它是突发型,别当计算型用 |
| 892MB 内存 | 构建时 OOM | 加 swap(见上) |
七、这台机器的现状(实测)
它同时跑三件事:sing-box 代理、这个博客(nginx)、Filebrowser 文件管理。日常内存 ~500MB,swap 仅 88MB,不跑重活完全够用。
参考:linux.do《学生版 Azure 部署教程(含踩坑与解决方法)》,区域白名单和 NSG 的坑记录得更细。
小结
- 学生认证是最划算的入口:$100/年、免信用卡,够一台小机器跑一整年
- 动手前先查区域白名单:能列出来 ≠ 能创建
- B 系列突发型 + swap + BBR 是小机器的标准三件套
- NSG 和系统防火墙只管一层,并记住是哪一层
- 不用时记得 deallocate,否则额度会静默消耗
版权说明
本文由 BING 撰写,采用 CC BY-NC-SA 4.0 许可协议。转载请注明作者与原文链接。
https://xbzhang.xyz/dev/posts/2026-09-16-azure-student-vps/