前回の続きになります。
前回はメモリ編として、限られたインスタンスサイズ(メモリ)でも問題なく稼働するようにスワップ領域を設定しました。
その後、nginx等のセットアップをしたりfirewallの設定をしたりするわけですが、すべて書いてしまうとセキュリティ的に問題がありそうなので、今回は別の内容の記事とします。
現在使用しているOracle Cloud Always Freeでは、実行中であってもアイドル状態とみなされたインスタンスは停止されてしまうという情報を確認しました。
サイトが見られなくなってしまい困るので、アイドル状態とみなされないよう、一定の稼働率となるように調整する必要が出てきます。
https://docs.oracle.com/ja-jp/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm
2026年4月現在、以下の条件のようです。
アイドル状態のコンピュート・インスタンスの再利用
アイドル状態のAlways Freeコンピュート・インスタンスは、Oracleによって再利用されることがあります。7日間の期間中に次のことが当てはまる場合、Oracleは仮想マシンおよびベア・メタル・コンピュート・インスタンスをアイドルとみなします:
- 95%ileのCPU使用率が20%未満
- ネットワーク使用率が20%未満
- メモリー使用率が20%未満(A1シェイプにのみ適用)
こちらを回避するように、5%の時間において20%以上のCPU使用率とするため、crontabで設定します。
crontab -e内容は以下とします。深夜の時間帯に3時間だけ25%の負荷をかける内容です。
0 18 * * * stress-ng --cpu 1 --cpu-load 25 --timeout 180m現状インスタンスが停止されたことはないので、これでうまくいっていると思っています。