最近、本業で 複数の AWS アカウントの予算アラートを
AWS Organizations マスターアカウントから設定する機会があったので、
その方法を備忘録として残しておきます。
AWS Organizations では、複数の AWS アカウントで発生している料金を
まとめて一括で把握・支払いすることが可能です(コンソリデーティッドビリング)。
→ 【参考】AWS Organizations の一括請求 (コンソリデーティッドビリング)
それだけでなく、すべてのアカウントの使用料合計に対し、
例えば 50% を超えたときにアラート発砲、80% で再度アラート発砲、
などの設定もすることができるため、リソースの使い過ぎにいち早く気づけたり、
アカウント全体の予算の見直しなどにも大変便利な機能となっています。
今回僕が設定したのは、
Organizations 配下にある複数の子アカウントそれぞれにおいて、
予算の使用状況に応じたアラートの設定です。
例えば、アカウントA では予算 200$ の 50% でアラート発砲し、
アカウントB では予算 500$ の 80% でアラート発砲し・・・
というのを設定したうえで、Organizations の Budgets コンソールから、
各アカウントの使用状況を監視する、ということがやりたかったわけです。
以下、その設定方法を書いていきます。
作業全体の流れ
作業全体の流れとしては以下です。
- AWS Organizations のマスターアカウント(親アカウント)ログイン
- AWS Billing コンソールへ移動
- 子アカウント毎に予算を作成(アラートも設定)
- Budgets 画面からアカウント毎の料金使用状況を確認
通常の Budgets のアラート設定とほぼ同じ手順で進められますが、
一部、設定をミスしてしまうと、子アカウント毎の料金監視がうまくできないため、
そこだけ注意が必要です。
|
|
Organizaitons / Budgets 設定の詳細
まず AWS Organizations のマスターアカウント(親アカウント)にログインし、
コンソール画面から Cost Management の画面へ移動します。
左のメニューから「Budgets」を選択し、「予算を作成する」をクリックします。
予算の設定
「予算タイプの選択」画面では、「コスト予算」を選択します。
予算の名前は、どの子アカウントの予算か分かるようにしておきましょう。
(例 : 月別_予算_開発部アカウント_1)
間隔は「月別」で。
予算額は、月に使用してよい金額の MAX値を入れます。
(後で、この MAX値の何%でアラートを発砲するのかの閾値を決めます。)
また、「フィルタリング」の項目の「関連アカウント」にて、
「Include all」となっているところを、アラート設定したい子アカウントに
チェックを入れます。
このフィルタリング設定を忘れてしまうと、Organizations の子アカウントすべての使用料金合計に対して
アラート設定されてしまうため、求めているものと違う結果になってしまうので注意です。
|
|
アラートの設定
特定の金額を超えたタイミングでアラートを受け取りたい場合は
「実際のコスト」を選択します。
ただ、AWS Budgets が参照するアカウントの実際のコストには、
8~24時間程度のタイムラグがあるようですので、設定した閾値を超えたらすぐに
アラート発砲されるというわけではありません。
そのため、閾値を「超えそう」なタイミングでアラートを受け取りたい場合は、
「予測コスト」を選択します。
アラートのしきい値は、先ほど設定した MAX 予算額の何%に使用料金が到達したら
アラートが上がるのかを設定します。
例えば 月の MAX予算が 100$ だとして、
50$ を超えたタイミングでアラートを受け取りたい場合は下図のように設定します。
アラートの通報先は複数登録できます。
メーリングリストとか入れておけば良いと思います。
さらに、アラートの閾値は複数設定することも可能です。
50%と80%と90% でそれぞれアラートを受け取りたいなどの要望がある場合は、
各閾値毎に「アラートの追加」を追加し、閾値を設定します。
(1つの予算に対し、アラートは 5 つまで設定できます。)
すべての値を入力したら、次の画面で予算設定の内容を確認できます。
問題がなければ「作成」をクリックします。
以上の設定を 子アカウントの数だけ繰り返すことにより、
今後は Organizations マスターアカウントの Budgets 画面から、
各子アカウントの使用料金状態を確認でき、使用状況に応じて
それぞれアラートが発砲されます。
「フィルタリング」の項目の「関連アカウント」にて、複数の子アカウントに
チェックを入れることで、同じ目的で使用している AWS アカウントの使用料合算に対して
アラートを設定することも可能です。
まとめ
僕はこの方法を知るまで、Organizations では複数アカウントの使用料合計しか
監視・確認できないと思い込んでいましたが、そんなことはありませんでした(笑)
チェック対象のアカウントをうまくフィルタリングすることで、
各事業部ごとが所持する複数の AWS アカウント使用状況とそのアラート発砲を
自由自在に設定するなんてこともできちゃいますね。
個人で複数の AWS アカウントを扱うことはあまりないと思いますが、
比較的大規模なシステム、お客様環境などでは、絶対に使いたい便利機能ですね。
コメント