三寻猿
发布于 2026-02-28 / 0 阅读 / 0 评论 / 0 点赞

Oracle永久免费机器入门

这篇文章记录了oracle永久免费机器从注册到可访问的完整步骤。

整个过程我都是通过询问AI进行的,没有看一篇文章,但也踩了坑。主要是AI第一次没告诉我VCN要创建Gateways,导致一直ssh不上机器。还有就是80端口一直访问不通,排查后发现iptables里有一条默认拒绝规则。所以就都记录下来,方便后面自己看吧。

1、注册OCI账号

1.1、oracle云基础设施(Oracle Cloud Infrastructure),简称OCI。网址是https://www.oracle.com/cloud/,也可以搜索引擎找OCI打开。

1.2、点击Try OCI for free,或Sign Up for Free Cloud Tier,打开的页面一样。

1.3、点击Start for free,如实填写国家、姓名、邮箱,点验证邮箱。

1.4、邮箱会收到一封邮件,点击里面的链接,进入下一步。

1.5、完善账号信息:

  • 设置密码;

  • 选Customer type,可以选Individual(个人)填的信息少;

  • 选主区域,这个取决于你的服务主要在哪访问,一般地理上近的地方延迟小。

  • 将Cloud 账户名称改成记得住的,以后登录要输入。

1.6、验证银行卡:

  • 填写真实的地址和手机号;

  • 填写银行卡信息,目前只支持Visa、Mastercard、Amex的外币信用卡。

  • 提交后oracle会扣款 1.38 新加坡元,并立即退回,所以这里其实没有收费只是验证银行卡有效。如果不放心,可以把银行号的限额调低。

2、登录OCI

2.1、重新打开OCI首页,点右上角小人图表,点击Sign in to Cloud。

2.2、输入Cloud 账户名称,点Next。

2.3、输入邮箱和密码点登录,

2.4、首次登录提示你要开启多因素身份验证(Multifactor Authentication, MFA),根据提示下载安装Oracle Mobile Authenticator APP,然后用APP扫描页面上的二维码绑定账号到APP。oracle只提供了google play链接,国产手机打不开google play的可以去 apkpure下载apk手动安装到手机。后续登录需要在手机APP上点允许。

3、创建机器

3.1、点左上角菜单>Networking>Virtual cloud networks

  • 点Create VCN

  • 起个名字填到Name

  • IPv4 CIDR Blocks填写10.0.0.0/16

  • 开启Assign an Oracle allocated IPv6 /56 prefix.

  • 其它保持默认,提交

3.2、点击刚才创建的VCN,点Subnet

  • 点Create Subnet

  • 起个名字填到Name

  • IPv4 CIDR Block填写10.0.0.0/24

  • 开启Assign an Oracle allocated IPv6 /64 prefix.Help available,填写01

  • 确认Subnet Access是Public Subnet(默认是,但确认下,否则无法公网访问)

  • 其它保持默认,提交

3.3、还是刚才创建的VCN,点Gateways

  • 点Create Internet Gateways

  • 起个名字填到Name

  • 其它保持默认,提交

3.4、还是刚才创建的VCN,点Routing

  • 点Default Route Table for xxx,xxx是你3.1创建的VCN名字

  • 点Route Rules

  • 点Add Route Rules

  • Target Type选Internet Gateway

  • Destination CIDR Block填0.0.0.0/0

  • Target Internet Gateway选你3.3创建的Gateway名字

  • 其它保持默认,提交

3.5、还是刚才创建的VCN,点Security

  • 点Default Security List for xxx,xxx是你3.1创建的VCN名字

  • 点Security rules

  • 点Add Ingress Rules

  • Source CIDR填0.0.0.0/0

  • Destination Port Range填80,443(如果你还要暴露其它端口,就在这继续添加)

  • 其它保持默认,提交

3.6、点左上角菜单>Compute>Instances

  • 点Create instance

  • 点Change image,可以根据自己的习惯选系统镜像,我这里选的是Canonical Ubuntu 22.04 Minimal。ARM机器要选aarch64版本,如Canonical Ubuntu 22.04 Minimal aarch64,当然机器规格下一步会选

  • 点Change shape,免费机器主要是两种,Ampere(ARM处理器)下的VM.Standard.A1.Flex,和Specialty and previous generation(特定和上一代)下的VM.Standard.E2.1.Micro。前者能创建最大4C24G的大规格机器,也可拆为4台1C6G或在额度内自由组合。后者只能创建1C1G的机器,但可创建两台。也就是说最多能创建6台机器。

  • 点Next,进入Security,这块保持默认

  • 点Next,进入Networking

    • Virtual cloud networks 选择3.1创建的,

    • Subnet选择3.2创建的

    • Private IPv4 address选Automatically assign private IPv4 address(默认是这个,确认下)

    • 打开Automatically assign public IPv4 address

    • 打开Assign IPv6 address from subnet prefix

    • Add SSH keys确认选的是Generate a key pair for me,并下载private key和public key,后面登录机器要用。

  • 点Next,进入Storage

    • 打开Specify a custom boot volume size and performance setting

    • Boot volume size (GB)按需填写,最小填50

    • Boot volume performance (VPU)填120,性能拉满

  • 点Next,确认配置没问题后点Create

4、登录机器

  • 给private key文件授权,chmod 600 xxx.key

  • 用终端登录机器:ssh -i xxx.key ubuntu@x.x.x.x

  • Canonical Ubuntu 22.04 Minimal默认有iptables拦截规则,也就是说需要暴露的端口不仅需要在VCN的Security配置,还需要配置到iptables规则。修改方式:编辑/etc/iptables/rules.v4文件,在第一行REJECT前一行添加-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT(这里以80为例,可以改为你需要的端口),iptables是顺序匹配的注意顺序,保存后执行netfilter-persistent reload(如果不生效执行iptables -F后再执行netfilter-persistent reload)

5、友情提示

  • Ubuntu 22.04 Minimal没有vi、netstat等常用软件,需手动安装

  • OCI会对资源利用率低的机器(说是<20%,但好像也不是很严格的在执行)进行回收,所以适当跑一些定时任务会好些,但也不要放重要数据在上面以免不测

6、常见问题

  • ping不通ip,没有配Gateways或Routing,参考3.3、3.4

  • 打不开部署的网页,原因是iptables拦截,见4

  • certbot给nginx安装Let's Encrypt证书,报错Error getting validation data,原因是iptables拦截,见4


评论