本記事は、Oracle Cloud Infrastructure(以下、OCI)のリソース・スケジューラを使ってインスタンスを定時で自動シャットダウンする方法をご紹介します。
リソース・スケジューラとは
リソース・スケジューラは、スケジュールベースで起動/停止などのリソース操作を自動化するサービスです。
主な特徴は以下の通りです。
- 指定した日時・曜日・繰り返し条件でリソース操作が可能
- OCIコンソールから利用可能で、スクリプト作成は不要
- 無料で使用可能 ※操作対象リソースの利用料金は発生する
検証用インスタンスの停止を忘れると、使用していない間にも料金が発生する可能性があります。リソース・スケジューラを使えば、定刻になったら自動でリソースを停止し、余計な利用料発生を防止することができます。
リソース・スケジュールで操作可能なリソースタイプは以下の通りです。
- インスタンス
- インスタンス・プール
- Autonomous AI Database
- ファンクション・リソース
- Base DBSystem
今回は、リソース・スケジューラを使って、コンパートメント内のインスタンス自動シャットダウンを実装していきます。
リソース・スケジューラでの自動シャットダウン設定方法
今回のリソース・スケジューラ設定内容は以下の通りです。
| 設定項目 | 設定内容 |
|---|---|
| 対象コンパートメント | costsavetest |
| シャットダウン対象 | インスタンス |
| シャットダウン間隔 | 日次 |
| シャットダウン時刻 | 20:00(JST) |
対象のテスト用コンパートメントには、2つのインスタンスが稼働しています。

リソース・スケジューラの作成
- OCIコンソールに管理者ユーザーでログインする。

- [ガバナンスと管理] → [スケジューラ] を選択する。

- [スケジューラの作成] をクリックする。

- 基本情報画面の項目を以下の通り入力し、[次へ]をクリックする。

- リソース画面の項目を以下のように選択し、[次へ]をクリックする。

- スケジュール画面の以下のように選択し、[次へ]をクリックする。

- スケジュールの作成画面で、[スケジュールの作成]をクリックする。

- リソース・スケジューラが作成され、ステータスが有効であることを確認する。リソース・スケジューラ名"vm_auto_shutdown"をクリックし、詳細画面を開く。

- OCIDを確認し、控えておく。※後続の手順で使用する

リソース・スケジューラ用IAMポリシーの作成
デフォルトでは、リソース・スケジューラにはインスタンスに対してアクションを実行する権限がないため、リソース・スケジューラに権限を付与する必要があります。 リソース・スケジューラにインスタンスに対するアクション権限を付与するためにIAMポリシーを作成します。
- IAMポリシー作成前に、コンパートメント”costsavetest”のOCIDを確認し、控えておく。

- [アイデンティティ] → [ポリシー] を選択する。

- [ポリシーの作成]をクリックする。

- ポリシーの作成画面で以下の項目を設定する。

- リソース・ポリシービルダー欄は、[手動エディタの表示]をクリックする。以下のポリシーを入力の上[作成]をクリックする。このポリシーによって、コンパートメント"costsavetest"にあるインスタンスを、リソース・スケジューラ"vm_auto_shutdown"が操作可能になる。
Allow any-user to manage instance in compartment id <costsavetestのOCID> where all {request.principal.type='resourceschedule',request.principal.id='<vm_auto_shutdownのOCID>'}

これで、自動シャットダウンの設定は完了です。
インスタンス自動シャットダウン動作確認
20:00(JST)を経過したら、インスタンスが停止したかどうかを確認します。
- 対象コンパートメント内のインスタンスのステータスが停止済になれば、自動シャットダウンは成功。

- リソース・スケジューラ”vm_auto_shutdown”の作業リクエスト画面からもインスタンス停止を実行したことを確認できる。

おわりに
今回紹介したリソース・スケジューラによる自動シャットダウン設定は、OCI環境の運用負荷を減らし、コスト最適化にも効果的です。また、OCIコンソール画面から簡単に設定できるのはとても魅力的だと感じました。
リソース・スケジューラについては、以下OCIサイトでさらに詳しく学べます。
https://docs.oracle.com/ja-jp/iaas/Content/resource-scheduler/home.htm
本記事が、OCI運用の効率化の参考になれば幸いです。
坂本 典久(日本ビジネスシステムズ株式会社)
クラウドソリューション事業本部所属。 SQL ServerやPostgreSQLなどのデータベース設計・構築、Azureなどのクラウドを中心としたシステムの設計・構築に携わっています。
担当記事一覧