はじめに
インフラチームの大嶽です。アンケートに答えて AWS クレジットを獲得する仕事をしています。
インフラチームの業務はコストと切っても切り離せず、サービス運営に必要なリソースをなるべく安価に用意することが求められます。定期的に AWS Cost Explorer をモニタリングしたり、アノマリーを検知したら原因調査をしたりと、コスト分析は日々の業務の一環です。
モニタリングといえばオープンワークでは Datadog を利用しているのですが、半年くらい前に「クラウドコストマネジメント」機能がリリースされていました。これが使いやすかったのでご紹介します。
従来のコスト分析方法: AWS Cost Explorer と Amazon QuickSight
従来(現在も)、コスト分析には AWS Cost Explorer を利用することが多かったです。必要十分な機能が揃っていてそれほど不満はないのですが、
- 複数のグラフをまとめてレポート化(ダッシュボード化)することはできない
- 分析のためにフィルターを付け外しするときに必要なクリック数が多い
という点に課題を感じていました。
AWS のブログで紹介されていた Amazon QuickSight の CUDOS ダッシュボードをカスタマイズして見ていた時期もあったのですが、
- QuickSight は利用ユーザー数課金。社内ユーザーに広く利用してもらうには抵抗感がある
- QuickSight の UI にメンバーが不慣れ
ということもあり、あまり利用されませんでした。
そんな中で Datadog のクラウドコストマネジメント機能を知り、これであればエンジニアが慣れている UI で分析しやすいのでは、ということで利用開始しました。
Datadog のクラウドコストマネジメント機能
利用料金
先に利用料金を確認しておきます。
https://www.datadoghq.com/pricing/?product=cloud-cost-management#cloud-cost-management
オンデマンド利用で $10.80 Per host, per month (US) とのことです。ここでいう Per host とは何のことでしょうか?
同じページの Common Questions コーナーに補足が書いてあります。
How do you define and bill for hosts with CCM?
A host is any EC2 instance that appears in your AWS cost & usage report or VM in your Azure cloud bill. We use an hourly average across the entire month for metering.
CUR に出力される EC2 インスタンスの数とあります。
...正直なところどう計算されるのか分かりませんでした。最終的には月の時間平均のホスト数が料金計算に利用されるということなので、それほど高額にはならないだろうということでまずは試してみることにしました。
利用開始
セットアップ手順は下記ドキュメントに記載されています。
https://docs.datadoghq.com/ja/cloud_cost_management/?tab=aws
詳細は省略しますが、
- マネジメントアカウントで、指定された形式の CUR を作成する
- マネジメントアカウントに IAM ロールを作成して、Datadog の AWS アカウントからの利用を許可する
- Datadog 側の設定を完了する
というくらいの設定で始められます。簡単でいいですね。
※弊社では AWS Organizations と Consolidated Billing を利用し、マネジメントアカウントに請求情報をまとめています。
使ってみる
クラウドコストマネジメントを利用開始したのち CUR にデータが出力されると、Analytics タブからコストを分析できるようになります。
Datadog ユーザーにとっては見慣れた UI かと思います。Filter by や Group by が多機能で使いやすく、レスポンスもよくさくさく操作できるのでコスト分析が捗ります。
また、自動的にコスト関連のウィジェットがまとめられたダッシュボードが何種類か生成されます。
Cost Explorer よりもさらに操作しやすく、QuickSight よりも社内に展開しやすい機能だと感じました。
しかし...
利用開始後、Plan & Usage から Cloud Cost のホスト数を確認してみると数十ホストがカウントされていました。Datadog のサポートの方にホストの算出方法について確認し、CUR を Athena でクエリして確認しましたが、まあそうなるかという結果。利用を継続するとなると、月額数万円 Datadog の料金が増加することになります。
結果として、この機能の利用料金に見合うだけのクラウドコスト削減には繋げられなさそうなので、弊社の環境では利用継続を見送りました。分析機能としては優れていると感じたので、AWS アカウントの規模が大きかったり、他のクラウドプロバイダ(2023 年 6 月時点では AWS と Azure に対応)のコストを一括管理したい場合にはよい機能なのではないかと思います。
最後に
結局クラウドコストマネジメント機能の利用は継続しませんでしたが、インフラチームでは運用改善のためにできることはないかと日々模索しています。
世の中の新しい技術、サービスを取り入れてシステム運用を改善していくことに興味がある方は、ぜひ弊社の求人をチェックしてみてください。 www.openwork.co.jp