1.1 优点:新加坡延迟低、对亚洲区用户友好、常见云厂商都支持该区域。
1.2 目的:本文以实际可操作步骤,教你用“免费/试用”资源在新加坡快速部署用于开发与测试的VPS,并说明各项资源限制与应对方式。
1.3 前提:所有示例以常见Linux(Ubuntu 22.04)为主,假设你有邮箱、身份证明(某些厂商需要)和基础命令行知识。
2.1 Oracle Cloud Always Free(推荐)——提供始终免费的小型实例,支持在ap-southeast-1(新加坡)创建资源(检查控制台区域可用性)。
2.2 AWS Free Tier(12个月)——在新加坡区域可使用免费实例(t2/t3.micro),注意12个月后计费。
2.3 GCP($300试用)——试用期内可在新加坡创建高配实例,但试用后需付费;GCP的“Always Free”实例通常仅限部分美国区。
2.4 阿里云/腾讯云/其他——常有新人优惠与代金券,可短期用于测试,注意地域选择与实名认证要求。
3.1 注册并实名认证:使用公司或个人邮箱注册,准备身份证/护照以及信用卡或支付宝用于验证(部分服务做微额扣款)。
3.2 挑选区域:在创建实例时显式选择「ap-southeast-1 / Singapore」或对应选项,避免默认选择其他区域。
3.3 配额检查:注册后到控制台查看免费额度/优惠券,记录可用的免费CPU、内存、带宽和存储。
4.1 登录控制台并切换区域到ap-southeast-1。
4.2 前往Compute -> Instances -> Create Instance;选择“Always Free eligible”选项。
4.3 选择镜像:Ubuntu 22.04;形态选择“VM.Standard.E2.1.Micro”或同类Always Free实例;设置公有IP。
4.4 SSH Key:本地生成ssh key(ssh-keygen -t ed25519 -C "email"),将public key粘贴到控制台。
4.5 网络与防火墙:选择默认VPC,确认Security List允许22/80/443端口(后面用ufw二次确认)。
4.6 创建并等待实例启动,记录公网IP。
5.1 连接实例:ssh -i ~/.ssh/id_ed25519 ubuntu@<公网IP>。
5.2 更新系统:sudo apt update && sudo apt upgrade -y。
5.3 常用工具:安装Git、curl、htop、ufw:sudo apt install -y git curl htop ufw。
5.4 创建交换分区(若RAM ≤1GB):sudo fallocate -l 1G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile 并加入 /etc/fstab。
6.1 安装Docker官方步骤:curl -fsSL https://get.docker.com | sh 然后 sudo usermod -aG docker $USER(重新SSH生效)。
6.2 使用Docker运行Web服务示例:docker run -d --name nginx -p 80:80 nginx:stable。
6.3 持久化数据:使用卷挂载 docker run -v /srv/www:/usr/share/nginx/html ...,并定期备份到对象存储或快照。
6.4 若内存有限,使用轻量镜像(alpine、nginx slim)并限制容器内存(--memory)。
7.1 带宽:免费实例通常有公网出口速率限制和免费外网流量上限(特别是跨区/跨国出口),应避免大文件频繁下载/上传。
7.2 存储:Always Free通常有固定块存储容量(如每月一定GB),使用压缩、清理日志和定期快照管理空间。
7.3 CPU/内存:小型免费实例CPU与内存有限,避免在同一VPS上同时跑CI、编译与数据库;必要时用轻量级替代(sqlite、mariadb轻量配置)。
7.4 计费陷阱:注意自动扩容、弹性IP或额外公网带宽会产生费用,创建前在控制台查看“费用和配额”页面。
8.1 监控:启用云厂商的基础监控(CPU、内存、网络),或在实例内安装Prometheus Node Exporter与Grafana。
8.2 自动快照:配置周期性磁盘快照(保存最近3份),便于回滚。
8.3 关闭不使用的实例:测试完成后shutdown并释放弹性IP/磁盘,避免计费。
8.4 使用标签与预算报警:给测试项目打标签并在控制台设置预算提醒,避免误产生成本。
9.1 无法SSH:检查安全组/防火墙规则、实例是否已分配公网IP、是否用对私钥权限(chmod 600)。
9.2 服务无法访问:确认服务监听端口(ss -tuln)、ufw状态(sudo ufw status)以及容器端口映射。
9.3 资源耗尽:查看 free -h、df -h、top,并通过删除临时文件或扩容磁盘解决。
10.1 短期/高配测试:优先使用GCP或AWS试用额度,在新加坡分配高配实例进行压力测试并注意试用到期。
10.2 长期免费小型测试:Oracle Cloud Always Free适合长期保存小型测试环境。
10.3 混合策略:生产关键测试用付费实例、日常开发用免费实例并结合CI/CD在云端临时拉起构建环境。
问:Oracle Cloud的Always Free实例在新加坡区域能长期使用吗?具体CPU/内存/存储有哪些限制?
答:Oracle Always Free通常包含固定数量的Arm/Intel小型计算实例(例如1-2个VM.Standard.E2.1.Micro或类似),每个实例内存在1GB左右、vCPU受限,块存储和对象存储也有免费配额(例如若干十GB),带宽也有限制。具体配额以你注册时控制台显示为准,建议登录Console->Billing/Free Tier页面确认并避免超配引发计费。
问:小内存、小CPU的免费VPS能否承担构建或CI任务?有哪些技巧?
答:可以,但需优化:使用轻量构建(增量构建、缓存依赖)、在构建时拉起短期更高配付费实例做编译(可用临时云主机或CI服务)、限制并发数,使用swap或远程缓存(如artifact仓库)降低对本地磁盘的需求。
问:我不想在AWS/GCP试用到期后被自动扣费,有哪些保底措施?
答:在控制台设置计费警告和预算告警、标记试用实例并在到期前删除或暂停、移除绑定的弹性公网IP与大型磁盘,确认未启用自动扩容或付费服务;必要时在到期前导出数据并删除账号中的可计费资源。