Oracle Cloud Infrastructureタダ乗り運用

オラクルクラウドサービスの仮想マシンを利用して1ヶ月が経過しました。勘違いからリミットに達しインスタンスが無効となってしまったので復活させる手順をここにメモしておきます。

Oracle Cloud Infrastructureタダ乗り運用
謝辞
このサイト自体もOCI上の無料利用枠(Always Free)インスタンスで実行されています。無料でこのようなサービスを提供してくださっているOCIには感謝の気持ちしかありません。

何が起きたのか?

Oracle Cloud Infrastructureの絶大な無料利用枠につられて利用を開始しましたが、私自身がAlways Freeを勘違いしていたため、このサイトをおよそ12時間ほどダウンさせてしまうという結果になりました。

Oracle Cloud Infrastructureとは
  • Oracleの提供するクラウドサービス
  • 仮想サーバーやOracleDBサービスなどが利用可能
  • Always Freeと呼ばれる無料利用枠がある
MEMO
この記事ではOracle Cloud Infrastructureの頭文字を取ってOCIと記載します。

無料利用枠のスゴさ

まずはOCIの無料利用枠の素晴らしさを見ていきます。

高性能インスタンス

OCIでは仮想サーバーを利用することができ、インスタンスの構成はAMDやIntelそして、ArmベースCPUであるAmpereを選択することが出来ます。

またCPUコア数やメモリのカスタマイズももちろん可能です。

無料利用枠では AMDプロセッサーを採用したマシンは 1OCPU/1GBメモリですが、ARMベースのプロセッサーでは 4OCPU/24GBメモリという無料とは思えない構成を選択することが可能です。

さらにこのA1を選択すると、ネットワーク帯域も 4Gbps となります。

MEMO
他クラウドサービス・プロバイダーにも無料利用枠は存在しますが、4CPU/24GBメモリ/4Gbpsの帯域を無料利用枠として設定しているのはOCIのみです。素晴らしいですね。

トライアル開始

まずはトライアルでいくらかのクレジットが付与されるため、そのクレジットを利用しトライアル期間は有料サービスをバシバシ使っていくことができます

しかし私は、完全タダ乗り目論んでいたためクレジットが必要となるサービスの利用は避け、A1 4OCPU/24GBのインスタンスのみ作成しました。

トライアル期間終了からのインスタンス停止

ということで、無事トライアル期間も終了しサイトも無事に動作しているようで、なかなかナイスとニヤニヤしていたとき、突如インスタンスが停止していることが発覚しました。

https://docs.oracle.com/ja-jp/iaas/Content/FreeTier/freetier.htm
公式ドキュメントの記載
「使用が中断されることはありません」とノート欄の記載が矛盾しているように感じますが、A1インスタンスに限ってはトライアル完了後30日で停止するという事と思われます。

どうやらトライアル終了後30日が経過するとA1インスタンスは無効になり、後述の手順により復活させる必要が出てきます。

起動しようとしても、「無効なため操作リクエストは受付できない」というメッセージが表示されます。

もちろん再起動など他の操作も試しましたが、全ての操作は無効なのでサポートに連絡するようにというメッセージが。

無情ですね。

サポートへの連絡
OCIではBotと思われるチャットサポートがありますが、インスタンスを再度有効にするためには電話で連絡を行うようにとのメッセージ表示されました。

つまり有料プランにアップグレードするか、電話でリミットを延長してもらうしかこのインスタンスを継続して利用する方法は無いようです。

しかし無料利用枠でサイトを復活させたい

ご覧になっているこのサイト自体OCI上でホストしているため、この記事を皆さんがご覧になっているということは無事復活している証拠です。

ではどのように復活させたのか手順を見ていきます。

OCIの管理画面(コンソール)から、インスタンスの詳細ページにアクセスします。

1.インスタンスからブートボリュームをデタッチ

インスタンスは無効になっていますが、ディスクは無効となっていないため、まずはディスクをインスタンスからデタッチします。

ディスクは無効にならず

ディスクが無効になってしまうともしバックアップ等を取っていない場合、完全にロストすることになりサイトを復活させることは実質不可能になります。しかし、ディスクをデタッチできたり無効にしないあたりにOracleの優しさを感じます。ありがとう。

インスタンス詳細ページの下にスクロールしていくとBootVolumeというセクションがあるため、そのメニューから"Detach Boot Volume"を実行します。

途中で警告表示されますが、このインスタンスは破棄するので気にせず"detach"を押します。

デタッチとは
ストレージはPCで言うと、SSD/HDDに相当します。これは仮想インスタンスに接続されているBoot Volume(起動ドライブ)を取り外す作業になります。

デタッチに成功したら次はこのデタッチしたブートボリュームからインスタンスを作成します。

2.別インスタンスの作成

メニューのストレージ から Block Volumesをクリックします。

おそらくひとつだけブートボリュームが表示されるので、右端のメニューから"Create Instance"をクリックし、無効となってしまったインスタンスと同様の構成を選択しインスタンスを作成します。

MEMO
IntelやAMDを選択する事もできますが、異なるCPUなので動作しないものと思います。

3.IPアドレスを更新

VNICに対してあらかじめ予約していたパブリックIPアドレスをアサインします。

インスタンスのページから VNIC の詳細を表示します。

VNIC詳細の画面下部に "IP v4 Address" があるので "Edit" を押します。

"RESERVED IP ADDRESS"を選択し、予約しておいたIPアドレスへ更新します。

MEMO
"EPHEMERAL PUBLIC IP" が設定されている場合は一度 "NO PUBLIC IP" に変更し保存すると"RESERVED PUBLIC IP"から選択できるようになります。

もし、IPアドレスをリザーブしていない場合は Networking > IP Management からIPアドレスをリザーブすることが出来ます。

謝辞

元々この記事ではIPを固定出来ないので、DNS側を更新する方法で乗り切っていましたが、@ryan_j23さんにIP固定方法を教えて頂きました。ありがとうございます!

Oracle Cloud Always Free 枠でArmインスタンスを作る | Fun Scripting 2.0
前回手続きを済ませた Oracle Cloud Free Tierに、 Always Free 永久無料枠を活かしたNextCloud環境を構築すべく、まずはArmベースのVM インスタンス を作成してみました。

まとめ

トライアル終了後30日で停止する
トライアル期間終了後30日でA1インスタンスが無効化され起動や停止することが出来なくなります。無効化される前に気が付いて、インスタンスを再度作りなおすべきでした。
ストレージは有効のまま
デタッチしたストレージから新規インスタンスを作ることが可能です。そのため、データの引き継ぎ作業などを行う必要はありません。
トライアル終了後に作成したインスタンスは停止しない
トライアル期間終了後に作成したインスタンスはOracle Cloud側のサービスが変更されない限り停止させられることはありません。この期間終了後は同一インスタンスをずっと利用することができます。

このスペックのマシンを無料で使えるなんて本当にスゴイ!ありがとうOracle!


References

  1. Oracle Cloud Infrastructure https://cloud.oracle.com/
  2. Oracle Cloud Always Free 枠でArmインスタンスを作るhttps://servercan.net/blog/2021/07/oracle-cloud-always-free-%e6%9e%a0%e3%81%a7arm%e3%82%a4%e3%83%b3%e3%82%b9%e3%82%bf%e3%83%b3%e3%82%b9%e3%82%92%e4%bd%9c%e3%82%8b/
  3. Oracle Cloud Infrastructure Free Tierhttps://docs.oracle.com/ja-jp/iaas/Content/FreeTier/freetier.htm
記事の内容は間違いが無いように気をつけていますが、私の認識違いや、ミスなどにより間違っている可能性もあります。もし発見された場合はお問い合わせフォームよりご連絡頂けると幸いです。