【お知らせ】
この記事の最新版は、個人ブログ「OCI Tech Journal」で公開しています。ぜひご覧ください。👉 https://oci-tech.jp/oci-resource-scheduler/
初めに
時はお金なり。使わないときにインスタンスを起動しっぱなしにするのはもったいないです。
インスタンスの停止忘れは、お金を落とすのと同じ!
2024年5月21日に、新しいサービスであるOCIリソース・スケジューラがリリースされました。これを利用することで、インスタンスの起動および停止のスケジュール設定がより簡単になります。待ちに待った機能がついに登場しました。(この機能自体は簡単なのに、なぜ長い間リリースされなかったのか、とても興味深いです。)
運用ケース:指定日付(曜日)に、指定したリソースを自動に起動・停止させる。
試算してみましょう。
1ヶ月を30日と仮定すると、1ヶ月は合計で30日 × 24時間 = 720時間になります。24時間稼働させる場合、インスタンスは1ヶ月720時間で課金されます。簡略のため、OCPU per hour以外の費用(ストレージ等)は考慮しないことにします。
例として、インスタンスを平日の毎日8:30から18:30まで(10時間)稼働させ、週末と祝日は稼働させないとします。
1ヶ月の稼働日数を22日と仮定すると、毎日定時に起動・停止させることで、1ヶ月で合計500時間 (720 - 22*10)を節約できます。つまり、OCPU per hourに関連する費用は、停止なしの場合から69.4%(約7割)も節約できることになります。これは無視できない大きな差異です。
他方法との比較
| インスタンス・タイプ | リソース・スケジューラ | ネイティブの スケジュール機能 |
CLI/APIで実現 |
|---|---|---|---|
| Compute | サポート対象 (Standardのみ) |
なし | 可能 |
| Autonomous Database | サポート対象 | あり | 可能 |
| Oracle Base DB | サポート対象外になった (2025/4/29) |
なし | 可能 |
Autonomous DBの自動起動・停止を例に、リソース・スケジューラの利点と制限事項を他の方法と比較してみます。
| 項目 | リソース・スケジューラ | ネイティブの スケジュール機能 |
CLI/API |
|---|---|---|---|
| OCIコンソールでの設定 | Yes | Yes | No |
| コーディング作業 | 不要 | 不要 | 必要 |
| 実施端末 | 不要 | 不要 | 必要 |
| 分単位で細かく設定 | Yes | No (時間単位のみ) |
Yes |
| ローカルタイムゾーンの対応 | No (UTC時間) |
No (UTC時間) |
Yes |
Oracle Base Databaseはリソース・スケジューラのサポート対象から外れたため、自動起動・停止を行いたい方には、次の代替手段をご紹介します。
OCIインスタンスの自動起動・停止
この方法は、Oracle Base Databaseだけでなく、他の種類のインスタンスにも適用可能です。ぜひご参考になさってください。
リソース・スケジューラの使い方
詳細については、こちらをご覧ください。
トラブルシューティング
下記の現象が発生した場合、対応方法についてこちらをご覧ください。
以上
楽しくお金を節約しましょう。Happy money saving!



