クラウドを使い始めると、簡単にリソースが作れる一方で、課金がどれくらい発生するのか気になります。
今回は、OCI(Oracle Cloud Infrastructure) にて、設定したしきい値に達したとき、または達しそうな時に、指定したメールアドレスへ通知が届く仕組みである予算(Budget)と予算アラート・ルールの設定を紹介します。
コンソールから数分で作れるので、テナンシを用意したら早めに入れておける設定のひとつです。
予算アラートでできること
予算(Budeget) という機能を使うと、コンパートメントやタグの単位で支出を追跡することができます。
さらに、アラート・ルールを足すと、支出が「予算の何%」または「いくら」に達した時点でメールが飛びます。
しきい値の判定は、実際に使った金額と、月末の着地見込み(予測)のどちらでも設定できます。 たとえば「予測で100%に届きそうなら早めに知らせる」「実績で100%を超えたら知らせる」というルールを、1つの予算に並べて持たせられます。
前提条件
予算とアラート・ルールの作成には、usage-budgets に対する権限が必要です。 テナンシ管理者であれば設定済みですが、そうでない場合は次のようなポリシーをテナンシに対して作成します。
Allow group accountants to use usage-budgets in tenancy
use で予算とアラート・ルールの作成と編集ができ、削除まで含めるなら manage になります。
注意点: 予算が支出を追跡するのはターゲットに指定したコンパートメントですが、権限そのものはテナンシのルート・コンパートメントに対して必要です。 特定のコンパートメントにだけ権限を持つユーザーでは作成できません。
予算を作成する
ナビゲーション・メニューから「請求とコスト管理」を開き、「予算」を選択します。
リスト・ページで「予算の作成」を選択すると、作成画面が開きます。
名前と説明を入力する
予算の名前には、英数字とダッシュ、アンダースコアが使えます。 数字で始めることはできません。 名前にも説明にも、機密情報は入れないようにします。
予算範囲を選ぶ
まず、何に対して予算を張るかを選びます。
| 予算範囲 | 内容 |
|---|---|
| コンパートメント | 指定したコンパートメントと、その配下の子コンパートメントすべての支出を追跡します |
| タグ | 指定したコスト追跡タグが付いたリソースの支出を追跡します |
| 子テナンシ | 組織の親テナンシにサインインしている場合に選べます |
よく使うのはコンパートメント単位です。 ルート・コンパートメントを指定すれば、テナンシ全体の支出が対象になります。
注意点: すでに予算があるコンパートメントに、もう1つ予算を作ることはできません。タグも同様に、1つのタグにつき予算は1つです。 しきい値を複数持ちたい場合は、予算を増やすのではなく、1つの予算の中にアラート・ルールを複数作ります。
スケジュールと予算金額を決める
繰り返しの有無を選びます。
| スケジュール | 内容 |
|---|---|
| 月次 | 毎月リセットされる予算です。継続的な監視はこちらを使います |
| カスタム(繰返しなし) | 開始日と終了日を指定する、1回きりの予算です。最大1年までの範囲を指定できます |
予算金額は、選択した通貨で1から999,999,999,999までの範囲で入力します。
月次を選んだ場合は、あわせて「予算処理を開始する月の日付」を指定します。 請求サイクルに合わせて、月初以外の日から集計を始められます。 画面の「選択に基づく現在の予算処理期間」に、選んだ日付での集計期間が表示されます。
29日、30日、31日を選んだ場合、その日が存在しない月は月末が開始日になります。
カスタムを選んだ場合、開始日と終了日はUTCで指定します。 この2つは予算がアクティブになる前にしか編集できないので、作成時に確定させておきます。
予算アラート・ルールを設定する
予算の作成画面には、そのままアラート・ルールを1つ設定する欄があります。
2つ目以降は、作成後の予算の詳細ページで「予算アラート・ルール」タブを開き、「予算アラート・ルールの作成」から追加します。
設定する項目は次の4つです。
しきい値メトリック
何をもってしきい値と比べるかを選びます。
| 選択肢 | 内容 |
|---|---|
| 実績支出 | その予算期間に実際に使った金額を監視します |
| 予測支出 | 使用量から予算期間の着地額を見積もり、超えそうなときに警告します |
予測支出は、線形外挿で計算されます。いまのペースがこのまま予算期間の終わりまで続いた場合の金額です。
期間の開始から今日までの支出を1日あたりに直して、それを期間の日数分に引き伸ばして計算します。
30日の予算期間で、10日目までに30,000円使っているとします。
1日あたり3,000円なので、これが30日続くとして90,000円。これが予測支出です。
計算式は (実績支出 ÷ 予算期間の開始からの経過日数) × 予算期間の日数 です。
注意点: 予測支出のアラートがトリガーされるには、3日以上の消費実績が必要です。 予算を作った直後は、予測のアラートは動きません。
しきい値のタイプ
| 選択肢 | 内容 |
|---|---|
| 予算の比率 | 予算額に対する割合(%)で指定します。0より大きく10,000以下の値を入れられます |
| 絶対金額 | 金額そのもので指定します |
比率は100%を超える値も設定できるので、「予算の120%に達したら別の宛先にも通知する」といったルールも作れます。
電子メール受信者
アラートの通知先のメールアドレスを入力します。 複数のメールアドレスを指定する場合は、カンマ、セミコロン、スペース、タブ、改行のいずれかで区切ります
この項目はオプションですが、空のままにするとアラートがトリガーされても通知先がありません。
電子メール・メッセージ
アラートメールの本文に入る文章を、1,000文字以内で入力できます。 予算名やコンパートメント、月次予算額といった予算のメタデータは自動で付くので、ここに書くのはそれ以外の情報です。
予算の増額を申請する手順や、社内の連絡先を書いておくと、受け取った人がそのまま動けます。
入力できたら「作成」を選択します。 作成したルールは、予算の詳細ページの一覧に並びます。
設定するときに知っておくこと
評価は24時間ごと
予算アラートは24時間ごとに定期的に評価されます。 支出がしきい値を超えた瞬間にメールが飛ぶわけではなく、最大で1日ほどの間があります。
最後に評価された時点は、予算の詳細ページで確認できます。 現在の支出額や予測、集計対象の期間が表示されます。
予算はソフト制限
予算アラートは通知の仕組みで、リソースの作成や課金を止めるものではありません。 しきい値を超えても、インスタンスは動き続けます。
作成そのものを止めたい場合は、コンパートメント割当て(クォータ)のような別の仕組みと組み合わせることになります。
CLIとAPIからも作れる
コンソール以外に、OCI CLIの oci budgets 配下のコマンドと、CreateBudget / CreateAlertRule のAPIが用意されています。 複数テナンシに同じ予算構成を配りたいときは、こちらのほうが早いです。 コマンドの引数はコマンドライン・リファレンスで確認できます。
まとめ
設定の流れは、予算を1つ作り、その中にアラート・ルールを必要な数だけぶら下げる、というかたちです。
- 予算はコンパートメントかタグに1つ。しきい値を増やしたいときはアラート・ルールを足す
- しきい値は「実績支出」と「予測支出」の2種類。予測は3日分の実績が溜まってから動く
- 評価は24時間ごとで、通知はメール。支出を止める機能ではない
まずはルート・コンパートメントに月次予算を1つ作り、実績80%と予測100%の2本を入れておくところから始められます。





