1. 为什么选择OCI Free Tier?

OCI的免费层提供业界最大的资源配额,且没有时间限制。与同等的AWS、GCP免费层相比,差距十分明显。

项目 OCI Always Free AWS Free Tier(12个月) GCP Always Free
核心VM ARM Ampere A1 4 OCPU / 24 GB RAM t2.micro / t3.micro 1 vCPU / 1 GB RAM e2-micro 1 vCPU / 1 GB RAM
实例拆分 最多4个实例 1个实例 1个实例
额外x86 E2.1.Micro 2个实例(1 OCPU / 1 GB)
块存储 200 GB 30 GB EBS 30 GB
出站流量 10 TB/月 100 GB/月 1 GB/月
期限 无限期(Always Free) 12个月 无限期

关键并不仅在于ARM 4核24GB的硬件规格本身,而在于这些资源永久免费。它实际上是唯一能够运行真实工作负载(个人VPN、自托管AI代理、K3s集群、轻量级LLM推理服务器)的免费云平台。


2. 两种免费层级

注册后会同时获得两种免费资源。混淆两者可能导致产生费用。

类型 Always Free Free Trial
期限 无限期 注册后30天
限制 固定资源列表(见第3节) $300美元额度
到期后 保持不变继续使用 未使用额度失效,仅保留Always Free部分
风险 几乎没有 若在30天内创建付费资源,额度用尽后可能自动产生费用

原则:如果不想产生费用,前30天内只创建控制台中标注为"Always Free Eligible"的资源。30天后(若继续保持Always Free状态),创建付费资源将被阻止。


3. Always Free资源详情

以下所有限制均仅适用于你所选择的Home Region范围内。

3.1 计算资源

Shape 数量 规格 备注
VM.Standard.A1.Flex(ARM Ampere) 最多4个 总计4 OCPU / 24 GB RAM 每月3,000 OCPU小时+18,000 GB小时。4 OCPU×24小时×31天=2,976小时,充分在限额之内
VM.Standard.E2.1.Micro(AMD x86) 2个 各1 OCPU / 1 GB RAM 适用于ARM不兼容的软件

可混合使用ARM和x86,同时运行最多6个实例。所有引导卷总容量不得超过200 GB。

3.2 存储

类型 限制
块存储卷(引导+额外) 总计200 GB,最多5个卷
块存储卷备份 5个(存储于Object Storage)
Object Storage Standard 10 GB+Infrequent Access 10 GB+Archive 10 GB,每月50,000次API请求(兼容S3)

3.3 数据库

类型 限制
Autonomous Database(ATP/ADW/JSON) 2个实例,各1 OCPU / 20 GB
NoSQL Database 仅限Phoenix区域

3.4 网络及其他

  • Flexible Load Balancer:1个(10 Mbps)
  • Network Load Balancer:1个
  • VCN、Site-to-Site VPN:无限制
  • 出站流量:10 TB/月
  • Vault、Bastions、Monitoring、Logging:基础用量免费
  • Email Delivery:每天200封

4. 注册流程(韩国用户)

4.1 前提条件

项目 建议
卡片 新发行的VISA/Master信用卡或借记卡
不被接受 PIN借记卡、预付卡、虚拟卡、一次性卡(Oracle明确拒绝)
邮箱 从未用于OCI Free Tier或此前Free Trial的地址
电话 从未用于OCI的号码(需要短信验证)
地址(英文) 准确的罗马字街道地址(遮盖/修改会导致被拒)

OCI通过邮箱+电话+卡号的组合来识别重复注册。同一张卡可以有限次数地重复使用,但使用新卡更安全。最重要的是,地址必须与发卡机构登记的地址完全一致。

4.2 步骤

  1. 访问https://www.oracle.com/cloud/free/ → 点击"Start for free"
  2. 邮箱验证 → 设置密码
  3. 账户信息:姓名必须与持卡人姓名一致;地址需使用准确的英文
  4. 选择Home Region:一旦选定即无法更改。韩国用户通常选择:
    • 首尔(ap-seoul-1):延迟最低,但ARM容量经常告罄
    • 春川(ap-chuncheon-1):韩国的第二个区域,容量相对更充裕
    • 东京 / 大阪:延迟30-50毫秒,ARM容量更容易获取
    • 若看重可用性,选择春川或大阪;若看重延迟,选择首尔
  5. 电话验证:010-1234-5678 → 去掉开头的0,输入1012345678
  6. 卡片登记:会有$1的预授权,随即撤销。不会产生实际扣款
  7. 同意条款 → 点击"Complete Sign-up"

4.3 注册失败时

"Transaction processing error"是最常见的提示信息。原因通常包括:

  • 卡片被拒(许多韩国发行的卡片会被拒绝)
  • IP/地理位置不匹配(请关闭VPN)
  • 使用相同邮箱/电话/卡片反复重试 → 被封锁
  • 地址与卡片登记地址不一致

解决顺序:

  1. 立即更换卡片重试(避免使用相同信息反复尝试)
  2. 联系Oracle Cloud客户服务的在线聊天或表单
  3. 若仍然失败,使用新邮箱+新电话+新卡片的组合重新注册
  4. Facebook上的"Oracle Cloud KR User Group"中有活跃的Oracle Korea员工,可以协助处理被拒的情况

5. 创建ARM实例:"Out of host capacity"问题的应对方法

这是OCI Free Tier最大的实际痛点。韩国和东京区域几乎总是处于ARM A1配额告罄的状态。

5.1 推荐配置

项目 建议
镜像 Canonical Ubuntu 24.04 Minimal aarch64
Shape VM.Standard.A1.Flex
OCPU/内存 2 OCPU / 12 GB(比4 OCPU更容易获取)
引导卷 47-50 GB(默认)
SSH密钥 本地~/.ssh/id_ed25519.pub或控制台密钥对(立即下载私钥)
公共IP 勾选"Assign a public IPv4 address"

5.2 获取容量的策略(按效果排序)

  1. 将OCPU从4降到2:请求4 OCPU几乎总是失败。拆分为2个各2 OCPU的实例——总资源相同,但成功率大幅提高。
  2. 在凌晨尝试(韩国时间02:00-06:00):资源回收通常发生在活动较少的时段。
  3. 更换可用性域:分别尝试AD-1、AD-2、AD-3。同一区域内不同AD的容量会有所不同。
  4. 自动重试脚本:GitHub上如hitrov/oci-arm-host-capacity等开源工具会轮询OCI API,一旦有容量空出就立即创建实例。需要你自己的OCI API密钥。
  5. 切换为PAYG:有大量报告显示,切换为按量付费后ARM容量的优先级会提高。只要在Always Free限额内仍为$0,但不小心创建付费资源会产生费用——请为未使用的付费服务设置控制台提醒。

5.3 如果仍然无法获取

  • 先创建一个VM.Standard.E2.1.Micro(AMD)实例,该实例可立即创建成功。之后再尝试ARM。
  • 若要更改Home Region,必须创建新账户。已注册的账户无法更改Home Region。

6. 基础安全与运维配置

6.1 网络配置

OCI默认阻止所有入站流量。与AWS Security Groups不同,需要开放两个层级。

  1. VCN Security List:控制台 → Networking → Virtual Cloud Networks → 选择对应VCN → Security Lists → Default Security List → Ingress Rules:添加80/443/所需端口
  2. 实例操作系统的iptables:Ubuntu镜像启用了iptables作为额外的阻止层。需要检查并开放:
sudo iptables -L INPUT -n --line-numbers
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT
sudo netfilter-persistent save

两个步骤都必须完成,否则外部无法访问。

6.2 SSH访问

ssh -i ~/.ssh/id_ed25519 ubuntu@<public-ip>
# Oracle Linux镜像使用opc而非ubuntu

6.3 避免因闲置被回收

Always Free实例在以下情况下会被回收:

  • 7天内CPU使用率第95百分位低于20%
  • 7天内网络使用率第95百分位低于20%
  • 7天内内存使用率第95百分位低于20%

三个条件必须同时满足才会被回收,因此常见的自托管工作负载(博客、VPN、机器人)通常是安全的。对于真正闲置的学习用虚拟机,可人为生成负载:

# /etc/cron.d/keepalive — 每小时产生1分钟的CPU负载
0 * * * * root timeout 60 yes > /dev/null

6.4 设置账单提醒(必备)

控制台 → Billing → Budgets:创建一个$1限额的预算。在50%、80%、100%的阈值处设置邮件提醒。在使用PAYG时尤为重要。


7. 韩国用户常见的坑

后果 规避方法
注册时开启VPN 位置不匹配 → 被拒 注册时关闭VPN,注册后再重新开启
使用预付卡/虚拟卡 被拒绝 使用VISA/Master的信用卡或借记卡
用相同信息反复重试 可能被永久封锁 尝试1-2次后更换信息
一次性请求4 OCPU 一直显示"容量不足" 拆分为2 OCPU×2个实例
只开放Security List而未开放iptables 外部无法访问 两者都要配置
Docker容器中含有加密货币挖矿程序 账户立即被永久封禁 只使用可信镜像,即便是官方仓库的镜像也要核实
在30天试用期内创建付费资源 $300额度用尽后自动扣费 只使用标注为"Always Free Eligible"的资源
Home Region选择错误 无法更改,需要新账户 建议选择春川/大阪

8. 推荐应用场景

在ARM 4 OCPU / 24 GB上可运行的实际工作负载:

用途 配置 备注
个人VPN 单独运行WireGuard 1 OCPU即可,10 TB流量
博客/主页 Nginx+WordPress+MariaDB 1 OCPU / 6 GB
K3s集群 1个控制平面+3个worker(各1 OCPU / 6 GB) 用于Kubernetes学习
自托管AI Ollama+7B/8B量化模型 每秒8-20个token,充分利用4 OCPU
自动化工作流 n8n+Postgres(Docker Compose) 需确认镜像是否兼容ARM
游戏服务器 Minecraft Java+GeyserMC 建议2 OCPU / 12 GB
个人DNS/广告拦截 AdGuard Home / Pi-hole 几乎不占用资源

ARM兼容性:大多数开源软件都提供多架构镜像。但是,部分专有或较旧的Docker镜像仅支持amd64——docker pull时请检查平台选项。作为最后手段,可以在E2.1.Micro x86实例上运行。


9. 转为PAYG(按量付费)的考量

优点:

  • 更容易获取ARM A1容量
  • 可访问付费服务(AI/ML、高性能网络)
  • 可注册官方客户支持工单
  • Always Free资源仍保持免费

风险:

  • 误创建非"Always Free Eligible"资源会立即产生费用
  • 引导卷超过200 GB会产生超额费用
  • 流量超过10 TB会产生超额费用

决策标准:仅在韩国/东京区域确实需要ARM实例、且自动化脚本仍无法获取时才转为PAYG。否则应保持Always Free状态。


10. 参考链接


本文档仅以Always Free限额为前提。若使用付费资源,需另行评估。