DoiTのAttributionsで、クラウド請求をビジネスの文脈に沿って分解し、コスト配分を実現する方法をご紹介します。

クラウド請求をビジネスの文脈で読み解く
クラウド支出が拡大し複雑化していくと、サービス単位やプロジェクト/アカウント単位で請求を分解するだけでは、組織内でコストがどう配分されているかを正確に把握することはできません。
コストは、自社の組織構造に沿って整理することが重要です。たとえば、複数のチームや環境、その他のカテゴリ別にクラウド請求を分けたいケースは少なくありません。しかし、こうしたカテゴリは複雑な定義になりがちです。たとえば、自社の「ステージング環境」のコストが、「staging」で始まるすべてのプロジェクト/アカウントの合計として定義されている、といったケースです。
DoiT Cloud Intelligence™のAttributionsを使えば、タグ/ラベル、プロジェクト/アカウント、サービスメタデータなど、あらゆるクラウドリソースを自由に組み合わせてグループ化し、独自カテゴリにクラウドコストをマッピングできます。
それでは、Attributionsとは何か、どのように動くのかを見ていきましょう。こちらのインタラクティブツアーから、Attributionsを実際に体験することもできます。
Attributionsとは
「Attribution(アトリビューション)」とは、自社固有のコストカテゴリを定義するために、クラウドリソースを論理的にグルーピングしたものです。
多くの企業がDoiT Cloud IntelligenceのAttributionsを活用し、自社のビジネスの文脈でクラウド利用状況を把握しています。
また、ステークホルダー間でコストオーナーシップを根付かせるための第一歩としても用いられています。
では、Attributionsの活用例をいくつか見ていきましょう。
エンジニアリングチームのコストを定義する
当社では社内でAttributionsを使い、各エンジニアリングチームのコストを定義しています。この例では、「team」ラベル、またはプロジェクトラベルの値が「bruteforce」に該当するすべてのリソースを、チーム「Bruteforce」と定義しています。
そのうえで「A OR B」のロジックを用い、以下のリソースのコストを集計しています。
- 「team」ラベルのみが付与されたリソース
- プロジェクトラベル「team」のみが付与されたリソース
- プロジェクトラベルと「team」ラベルの両方が付与されたリソース

多くのお客様がAttributionsを使ってコストレポートを構築し、ビジネスの文脈に沿ったコスト把握に役立てています。
下の例では、「Team Bruteforce」のコストをサービス別に分解し、このエンジニアリングチームの主なコストドライバーを可視化しています。

環境別コストを定義する
ここでは正規表現を使い、「staging」を含むすべてのGoogle Cloudプロジェクトをまとめて、ステージング環境のコストを定義します。
タグやラベルに頼らずにコストカテゴリを定義できる好例です。

「ステージング環境」のAttributionの定義では、正規表現で「staging」を含むすべてのプロジェクトを拾うようにしている点に注目してください。「staging」プロジェクト/アカウントは頻繁に追加・削除される可能性があります。正規表現を使えば、その都度レポート(やAttribution)を修正し直す手間がかかりません。

下の例では、それぞれ異なる環境タイプを定義した3つのAttributionを使って「環境別コスト」レポートを作成し、開発・ステージング・本番の各環境のコストをひと目で把握できるようにしています。

各環境のコストを「サービス」など別の軸でさらに分解すれば、主なコストドライバーまで把握できます。
作成したレポートをチームや関係者に共有したい場合は、任意の間隔で自動更新・配信されるようスケジュール設定し、メールで直接届けることもできます。

EBSストレージの削減見込みを試算する
Attributionsは、クラウド請求をカテゴリ別に切り分ける用途以外にも活用できます。
たとえば、AWS EBSでGP2ボリュームを使っていて、GP3に移行した場合にどれだけ削減できるかを知りたいケースを考えてみましょう。
まず、GP2ボリュームに関連するすべてのEBSコストを拾うAttributionを作成します。

AWSによれば、GP3は既存のGP2ボリュームと比べてGB単価が最大20%安いため、削減額の計算はいたってシンプルです。
DoiT Cloud Intelligenceのもう一つの機能Metricsを使えば、先ほど作成したAttributionから1日あたりの削減見込み額を算出できます。下の図のように、GP2 Attributionに0.2を掛けるだけです。

逆に、このAttributionに0.8を掛ければ、削減後のGP3ボリュームでの想定コストも算出できます。
その他のAttributions活用方法
Attributionsを作成すれば、DoiT Cloud Intelligence全体でさまざまに活用でき、クラウド支出の把握、想定外の利用の発見、社内のコスト意識の醸成に役立ちます。
カスタムコストレポートの作成方法はすでに紹介しましたが、DoiTのお客様は次のような目的でもAttributionsを活用しています。
- クラウドコストの配分
- 予算機能による支出予測の精度向上
- きめ細かなクラウドコストアラートの設定
- チームや環境などの異常を自動でモニタリング
- そのほか多数
その他の活用方法はこちらの記事でご覧いただけます。
タグやラベルとの違いは?
「タグやラベルでも同じことができるのでは?」と感じた方もいるかもしれません。Attributionsはタグやラベルの代替なのでしょうか?
両者は別物ですが、重なる部分もあります。Attributionsは、完璧なタグ付けがなくても支出を整理しやすくする仕組みです。タグ/ラベルはAttributionsを構築する際の素材として活用できます。
もちろん、組織のタグ付け運用が徹底されていれば、タグ/ラベルだけでもAttributionsに近いことは実現できます。具体的には、定義したいカテゴリ(環境、プロダクト、チームなど)ごとに1つのタグキーがあり、各タグキー内の項目ごとに1つの値が定められていて、リソースへのタグ付けが一貫して行われている状態です。
AWSタグが正しく(かつ一貫して)付与されていれば、AWS Cost Explorerのレポートは次のようになります。

タグキーや値の重複
しかし、同じカテゴリに対してタグキーや値が複数存在する状況に直面することもあります。たとえば、あるリソースには「Environment」、別のリソースには「Env」や「environment」が付与されているケースです。あるいは、すべてのリソースに「Environment」タグは付いていても、値が「prod」「production」「Production」とバラついているケースもあります。
こうなると、重複するキーや値を1つのグループに統合できず、コストレポートの作成が難しくなります。しかしAttributionsなら、それが可能です。
下の例では、「Environment」タグの値が「prod」「Production」「production」のリソースをすべてまとめ、本番環境のコストを定義しています。

マルチクラウド
たとえば、アプリがAWSとGoogle Cloudの両方で稼働している場合、運用にかかる総コストをどう測ればよいでしょうか? 各クラウドのコンソールでは片方のデータしか得られないため、標準機能だけでは対応できません。ラベル付け・タグ付けされたリソースをそれぞれ別々に分析する必要があります。
Attributionsを使えば、ラベル/タグ付きリソースやアカウント/プロジェクトなど、両クラウドのコストを統合し、マルチクラウドアプリを一つの定義としてまとめられます。
タグでは適切に切り分けられない場合
コストカテゴリの定義に、タグが必ずしも必要でないケースもあります。たとえば、ステージングに使っている複数のAWSアカウントやGCPプロジェクトのコストを合計して「ステージング環境」コストを定義したい、といった場合です。

タグに対応していないレガシーシステム
最後に、タグを実装できないレガシーシステムを抱えているお客様もいらっしゃいます。
現状、AWSやGoogle Cloudのコンソールにはこうしたケースへの回避策はありません。しかしAttributionsを使えば、自社固有の分類軸とクラウドコストを結び付ける際に、タグに依存する必要はなくなります。
Attributionsをインタラクティブツアーで体験
ビジネスの文脈に沿ってコストへの理解を深めたい場合も、ステークホルダー間でコストオーナーシップの文化を根付かせたい場合も、すべてはAttributionsから始まります。
Attributionsで自社のクラウドコストをクリアに把握してみませんか? 下のインタラクティブツアーをお試しいただくか、DoiTまでお問い合わせのうえ、AttributionsをはじめとするDoiTの各種プロダクトをぜひご活用ください。
