Oracle Cloud Always Free Resourcesを使い倒したい

Oracle Cloudの無料枠の活用方法をまとめてみます.

Oracle Cloud Always Free Resourcesを使い倒したい
26日時点で支払い額¥26.

概要

普段使っているものをまとめます。

ここを見ればすべて書いてあります。

Always Free Resources
Learn what Always Free resources are available to all Oracle Cloud Infrastructure users.

Always Free Resources

Compute

無料で最大6台のVMが作れます。ArmとAMDの2種。

E2.1.Micro(=AMD) と A1.Flex(=Arm) (なぜかAlways Freeになっていないインスタンスもありますが無料です)

詳細

  • Arm
    • 全部で4OCPUと24GBのメモリを最大4VMに割り当てられます。
      • 4コア24GBメモリで1VM作るもよし、1コア8GBメモリのVMを4つ作るもよし。
      • 4VMなのは後に説明するブロックストレージの無料枠に依存するからです。記載のとおりだと4つまでしか作れない雰囲気だが6VM立てても課金されてない
      • “月に◯CPU時間まで”みたいなことが書かれてますが、立てっぱなしでも課金されたことありません。
    • 1OCPU = 1CPUです。
    • Armなので、AMDに慣れていると少しクセありです。
      • 例えばコンテナを扱う場合は、使用できるコンテナイメージがArmに対応している必要があります。対応していない場合、Pullはできますが実行時にexec format error になります。
      • いろいろハマるので勉強にはなりますが、時間を浪費することになるかも
  • AMD
    • 1OCPU, 1GBメモリのVMを2つまで。
      • 1OCPU = 2-core扱い
    • そこまでヘビーなことはできないので、リソース的に踏み台とか軽い検証向け
    • グローバル IPが持てるのでそれ目当てでも十分価値ありかも(ロードバランサとかプロキシ的に使う、やってはない。)

Storage

VM向けのBoot VolumeはAlways Free
  • Block Storage 200GB ≒ BootVolume (47*4)
    • VMを使うならほぼそこで消化する。
    • これ以外の使い道を知らない。
  • Object Storage 10GB
    • Amazon S3互換のオブジェクトストレージを作れる。
    • KubernetesでPersistentVolumeを作るためのStorageClassのバックエンドとして使っている。
      • FYI: https://github.com/ctrox/csi-s3 (また別の記事で書くかも)
      • read/writeが発生しすぎなのか,これはなぜか毎日1円課金されてます(1円なので許容)
S3クライアント"Cyberduck"からOracle Cloud上のObject Storageに接続 Podの永続化ボリュームとして利用

DevOps

開発するうえで地味にうれしいサービスたち

  • Container Registry
    • その名の通りコンテナレジストリ。PublicにもPrivateにもできる。
    • イメージを貯めすぎると課金対象になるかも。定期削除の設定を入れていればOK
    • CIでビルドしたイメージをPushしておいてk8sクラスタからPullできるようにしてる。
  • Email Delivery
    • メールサーバ。月3000通だったはず。個人利用であれば数としては充分。
    • OSSのミドルウェアをセルフホストしていてメールを飛ばす必要がある場合に雑に設定できる。
  • CI/CD
    • 無料じゃなかった。
    • 実行した月は数十円課金されていたのでGitHub Actionsに移行した。Templateも充実していて正直GitHub Actionsのほうが書きやすいし高速。
  • Bastion
    • グローバルIPを持たないVMに対してのマネージドな踏み台として使える。
    • VMを公開したくないが、SSHしたい みたいなときに有効。

Network

  • Outbound Data Transfer (-10TB)
    • VMインスタンスからの外向きの通信は10TBまで。ほぼ無限。GCPとかはもう少し小さめだった(それでも充分)が、この点でもOracleは太っ腹
  • VCN
    • Compute向けの内部向けネットワークを作るために使う。これは他のクラウドサービスでも基本的に無料な気がする
  • Network Load Balancer
    • L4のロードバランサ
    • グローバル IPあり、ヘルスチェックできる
    • 「外部から特定のVMのこのポートにUDP通信させる」みたいな使い方
  • Site-to-Site VPN
    • サイト間VPN
    • L3スイッチやVyOSがあれば、自宅のネットワークとVCNをIPsecで繋げられる。ルートはBGPで広告して… みたいにネットワークのお遊びに便利
Network Load Balancer

Database

マネージドなOracle Databaseを2つまで.

  • Oracle Autonomous Database
    • 一般的なRDBMSを使いたい場合はこれ。
    • 他にもNoSQLなどもあるので遊びがいがありそう。
    • Oracle DBを使ってSpring Bootで適当なREST APIを作ってる
マネージドなだけあっていい感じなWebUIからいろいろ見れる

まとめ

基本的に無料でいろいろできる.

オブジェクトストレージだけ毎日1円支払っているが,これだけのリソースを使えて月30円なら十二分.

Kubernetesクラスタを作って壊して,CI/CDを盆栽して,ネットワークで遊んで,楽しい.