組織でコスト異常を検知する!Cost Anomaly Detection の設定方法を紹介
どうも、こんにちは kaz です。
はじめに
AWS の利用料金が予期せず高くなることはありませんか?
そんな心配を解消するための AWS Cost Anomaly Detection を紹介したいと思います。
Cost Anomaly Detection とは?
一言でいうと、AWS Cost Anomaly Detection は AWS におけるコストパターンを機械学習で分析し、普段とは異なるコストの増加を自動で検出してくれるサービスです。
設定は簡単で、特定のサービスやアカウントに対して監視を行い、異常が見つかったらアラートとして SNS で通知してくれます。
たとえば、テスト環境をうっかり稼働させたままにしてしまったようなミスも、このサービスがあればすぐに気づけます。
前提条件
今回はタイトルの通り、「組織」に焦点当てているため以下が前提条件となります。
- AWS Organizations でアカウントが一元管理されていること
なお、シングルアカウント環境の場合は不要です。
しかし、設定項目は大きく変わらないと思うので本ブログが参考になると思います。
やってみた
“AWS Organizations の管理アカウント” にログインして、設定を行います。
まずは、Cost Anomaly Detection にアクセスします。
はじめて利用する場合は以下のような画面が表示されるので「ご利用開始にあたって」をクリックします。
遷移後、以下の画面が表示されますので「Cost Anomaly Detection の仕組み」の内容に沿って設定を実施します。
コストモニターの作成
コストモニターは、モニタータイプごとに特定の詳細レベルと特定の支出パターンで異常を検出するためのものです。
モニタータイプは以下の 4 つがあり、どのセグメントで異常検知の設定を行うか決めることができます。
- AWS のサービス
- 内部組織や、環境別に支出をセグメント化する必要がない場合に有効的
- アカウント内で使用されているすべての AWS サービスを評価する(新規 AWS サービスも追従される)
- 連結アカウント
- 組織がチーム、製品、サービス、または環境ごとに支出をセグメント化する必要がある場合に有効的
- 単体または、グループのメンバーアカウントの合計支出を評価する
- モニターごとに選択できるメンバーアカウントの最大数は 10 まで
- コストカテゴリ
- コストカテゴリを使用して支出を分類および管理する場合に有効的
- コスト配分タグ
- 組織がチーム、製品、サービス、または環境ごとに支出をセグメント化する必要がある場合に有効的
- 「連結アカウント」と似ているが、コスト配分タグのキーと値のペアの合計支出を評価する
- モニターごとに選択できるキーに対する値の最大数は 10 まで
また、「複数のモニタータイプにまたがるモニターを作成しない」ことが推奨事項となっています。
これは、異常検知時に重複するアラートを生成・評価することに繋がる可能性があるためです。
それでは、「モニターを作成」をクリックします。
モニタータイプは「AWS のサービス」を選択し、適切なモニター名を入力します。
完了したら、「次へ」をクリックします。
次に、コストモニターがコストの異常を検知したときに通知するためのアラートサブスクリプションを作成します。
なお、モニタータイプを「AWS のサービス」に設定した場合、アカウントごとかつ、AWS サービスごとに評価 されるためどの程度コストが高くなるとコストインパクトが発生するのかを見極める必要があります。
何もデータがない状態では、コストインパクトとするしきい値を定めることが難しいですが、現状の利用費を参考にしながらおおよその値にします。
以下の項目を設定して、「モニターを作成」をクリックします。
- サブスクリプション名
- 適切なサブスクリプション名を入力します。
- アラート頻度
- 個別 / 日次 / 週次を選択します
- 今回は、日次としています
- アラート受信者
- アラートを受信するメールアドレスを入力します
- しきい値
- 割合だけをしきい値とすると、すぐにオーバーしてしまうことが多いため金額と割合を AND 条件としています
- まずは、ざっと設定して日々のコスト具合によってしきい値を調整していくことが必要です
- オオカミ少年にならないように気をつけましょう!
また、必要に応じてアラートサブスクリプションをもう 1 つ追加できます。
以上で、Cost Anomaly Detection の設定は完了です。
動作確認
コストモニターを作成した直後では、下記のように異常は発見されていない状態となっています。
下記はしばらく期間が経過したコストモニターの結果ですが、コスト異常検知が表示されていることがわかります。
ここでたとえば、一番上に表示されている AWS Key Management Service
のリンク(日付部分)をクリックすると、詳細を表示できます。
さらに、「Cost Explorer で表示」をクリックすると Cost Explorer で対象期間中の詳細なコスト分析が可能です。
これらを確認しながら「どのような原因でコストが増加したのか?」、「継続的にコスト増が発生しているか?」などの観点を見ることができます。
また、AWSサービスではさまざまな CloudWatch メトリクスが提供されており、これらのデータを活用することでコストに影響を与える要因を明確に把握することが可能です。
例として、「特定の日に通信量が急増し、それが利用費の増加に直結した」といった具体的な分析が行えるようになります。
おまけ: AWS Budgets との違い
AWS Cost Anomaly Detection と似たようなサービスに「AWS Budgets」があります。
それぞれのサービスの違いは以下の通りです。
- AWS Cost Anomaly Detection
- 機械学習によるコストパターンの分析
- 異常なコスト増加の自動検出 ⇒ 予期せぬコストの急増を早期に発見
- ユーザーの介入なく機械的にコスト異常の判断が行われる
- リアルタイムのアラート通知
- AWS Budgets
- 予算の設定と管理
- コストと使用量の監視 ⇒ 設定した予算に対する使用状況を追跡
- 予算超過に対するアラート通知
このように、似ているようで性質が異なるので「どちらか一方を使用する」ではなく、「どちらも使用する」ことでコスト監視と予算管理の両面から、より効果的なコントロールを実現することができます。
まとめ
AWS Cost Anomaly Detection はコストの予期せぬ増加を検出し、リアルタイムで通知することで AWS の利用料金を効果的に管理するための強力なサービスです。
簡単な設定でコスト管理の手間を大幅に削減しつつ、コストの見える化と予算コントロールを強化できます。
利用費も無料ですので、ぜひ設定してみてください!
参考ドキュメント
アノテーション株式会社について
アノテーション株式会社 は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。
「らしく働く、らしく生きる」のスローガンを掲げ、さまざまな背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けています。
現在当社では AWS の構築・運用経験があり、以下の業務に携わってくれるメンバーを募集中です。
- AWS 環境の運用設計支援や構築
- 運用監視とインシデント対応
- 定型業務などの自動化
AWS 関連資格をお持ちの方、クラウドネイティブな運用経験者は大歓迎です。
少しでもご興味がありましたら 募集職種 よりご応募ください!!
一緒に働ける日を心待ちにしています!