最近知ったのですが、OCIのインスタンスとしてArmサーバが作成できるようになってました。しかも、従来無料だった2つのインスタンス(x86サーバ)に加えて、ArmサーバもFree Tierアカウントで作成できるとのことで、やってみました。
4つのコア、24GBのメモリまで利用できるとのことだったので、1コア、メモリ6GBのインスタンスを4つ作ってみました。OSはCentOSがArmに対応していないとのことで、Ubuntuにしました。
とりあえずdockerをインストールして、従来のx86サーバで動作していたイメージをビルドしてみたのですが、残念ながら動作しませんでした。どうやら、ベースイメージがマルチCPUアーキテクチャに対応していなかったようです。ソースがあればarm版のベースイメージを自力でビルドできるかもしれませんが、そこまでやるのは億劫でしたので、マルチCPUアーキテクチャに対応しているベースイメージを使用したコンテナのみをarmサーバで運用することにしました。手始めにmosquittoとお手製のGoのアプリを動かしてみましたが、特に問題なく動作しています。思っていたよりパフォーマンスもよさそうです。
これで無料だなんてoracleは太っ腹だなあ、と感心していた矢先、1週間ほど立ったある日、ふとociのコスト分析画面をチェックすると、なんと100円ほど課金されているではありませんか。armインスタンスについては「VMインスタンスの最初の3,000 OCPU時間および18,000 GB時間/月を無料で取得します。Always Freeテナンシの場合、これは4 OCPUおよび24 GBのメモリーと同等です。」とoracleのページに書いているので、全部無料かと思っていたのですが、どうやらブートストレージは無料ではないようです。正確には、ブロックストレージが無料(Always free)なのは合計200GBまでなので、すでに2つのインスタンスが稼働(合計100GB)していて、あと、100GBまでは無料だったのですが、4つもインスタンスを作ったので100GBオーバーしてしまったようです。ブロックストレージの画面で確認したところ、確かに「Always Free」ではないブートストレージが2つありました。結局ARMサーバは2つに削減して、それぞれ2コア、12GBのメモリを割り当てるようにしました。
後気になっているのは、インスタンス画面をチェックしてみたらarmサーバのところだけ「Always Free」のラベルがついていません。これもしばらくすると課金されてしまわないか、心配です。Free Tierアカウントのままなら絶対課金されないと思い込んでいたのですがそうではなさそうなので、予算の画面で1円でも課金されたらメールでアラートを飛ばすように設定しておきました。しばらくこれで様子を見てみます。