コストセンター間で正確にコストを配賦するには、共有コストへの対応が欠かせません。本記事では、DoiT Cloud Intelligence™で共有コストをグループ間に振り分ける方法をご紹介します。

クラウド活用が進むと、どの企業にも請求書を本気で見直すきっかけとなる出来事が訪れます。
月額支出が一定のしきい値を超えたとき、見過ごされていた大きなコストスパイクが発生したとき、クラウドプロバイダーとcommitment契約を交渉するとき、あるいは経営陣や取締役会から支出について問われてうまく説明できなかったとき——きっかけはさまざまです。
いずれにせよ、こうした場面を乗り切るためにクラウド支出の透明性を高める鍵となるのがコスト配賦です。組織構造に沿ってコストを配賦できれば、クラウド支出に関するビジネス上の問いにも即座に答えられ、Engineersに自らのコストへのオーナーシップを促すこともできるようになります。
クラウドコストをコストセンターにマッピングすることは重要ですが、同時に向き合うべき共有コストも存在します。サポート料金や共有リソース(ストレージなど)がその代表例です。
コスト配賦の際に共有コストを考慮しないと、次のような問題が起こります。
- コストセンターへの配賦が過少または過大になる
- 誰もそのコストを引き受けず、結果として歯止めが利かなくなる恐れがある
- 不完全なデータをもとにフォーキャストや予算編成を行うことになり、判断を誤る
そこで役立つのが、Cloud Analytics ReportsのCost Splitting機能です。DoiTのお客様はDoiT Cloud Intelligence上で、共有コストや未配賦コストを各ステークホルダーグループに簡単に振り分けられます。
具体的な分割手順に入る前に、コスト分割の前提となる2つのポイントを押さえておきましょう。
- クラウドコストをビジネス単位のグループにマッピングする
- それらをまとめ、共有コストを振り分けるべきコストセンターを把握する
Attributionsで組織構造に沿ってクラウドコストをマッピング
DoiTのお客様はAttributionsを使って、クラウドコストをビジネスに紐づけています。Attributionとは、クラウドリソース(個々のVM、タグ、プロジェクト/アカウントなど)を論理的にまとめたグループです。
Attributionsを使えば、アカウント構造やタグ付けが完璧でなくても、製品やチームなど組織固有のカテゴリにクラウドコストをマッピングできます。すでに整ったアカウント構造や緻密なタグ付けがある場合も、Attributionsで補強すれば、その限界に縛られずに適切な配賦を実現できます。
たとえば、クラウドサービスによってはタグ付けの範囲や粒度に独自の制約があります。Google Cloud Storageはバケット単位のラベル付けのみに対応し、オブジェクト単位では行えません。そのため、複数の組織に按分すべきバケットの扱いが難しくなります。
あるいは、チームごとにプロジェクト/アカウントを分けつつ、コストを按分すべき共有プロジェクトが1つ以上存在するケースもあるでしょう。
さらに、コストへのタグ付けは過去にさかのぼって適用できません。こうした場面でAttributionsはタグ付け戦略を補完し、漏れのないコスト配賦を支えます。
Engineeringチームのコスト(2つのアカウント内で「team:engineering」とタグ付けされたあらゆるリソース)を定義するAttributionの例
下の例では、BIアプリケーションのコストを「team」ラベルまたはプロジェクトラベルの値が「BI Application」に該当するすべてのリソースとして定義しています。
Attributionsの代表的なユースケースはこちらをご覧ください。

BIアプリケーションのコストを定義したAttributionの例
続いて、共有コストもAttributionsで定義します。下の例ではAWSとGCPのサポートに関連するすべての料金をまとめていますが、ストレージやKubernetesといった共有リソースのコストも共有コストに含められます。

共有クラウドコストを定義したAttribution
Attributionsと共有コストを1つにまとめる
Attribution Groupsを使えば、共通のAttributionsの集合の中でコスト配賦を行えるようになり、共有コストや未配賦コスト(Attribution Group内のどのAttributionにも紐づかないコスト)を分割するための土台が整います。
マッピング対象のAttributionsをすべて作成したら(今回は各アプリケーション+共有コスト)、それらをAttribution Groupにまとめます。
下の図では、3つのアプリケーションのコストを表すAttributionに加え、共有コストと未配賦コストを含むAttribution Group「Applications」が確認できます。
各アプリケーションのコストと共有コストを表すAttributionsのグループ。

各アプリケーションのコストと共有コストを表すAttributionsのグループ。
また、Attribution Groupsを使えば、あるグループを別のグループで分解することもできます。下の例では、アプリケーションコストを格納したAttribution Groupと環境コストを格納したAttribution Groupの2つを組み合わせ、アプリケーションコストを環境別に分解しています。

共有コストと未配賦コストを分割する
これで、トラッキング対象の3つのアプリケーションに、未配賦コストと共有コストを振り分ける準備が整いました。インタラクティブツアーで実際に体験することも、以下の手順に沿って進めることもできます。
まず、Attribution Group「Applications」を使ってレポートを作成します。次に「Applications」チップの横にある縦三点リーダーをクリックし、「Distribute costs」を選択します。

続いてドロップダウンから「Unallocated」を選び、まずは未配賦コストを分割します。

分割方法には次の3つのオプションがあります。
- Evenly split - 選択したすべてのAttributionsにコストを均等に配分します。
- Proportional - 選択した各Attributionの重み付きコストの比率に応じて配分します。
- Custom - 任意に指定した割合(%)に基づいて配分します。
今回は、3つのApplication Attributionsに未配賦コストを均等に振り分けます。

最後に「Distribute cost」をクリックし、レポートを再実行します。「Shared Costs」Attributionについても同じ手順を行います。
下の図では、各チームのコストが実コストと、共有コスト・未配賦コストの按分分とにどう分かれているかを確認できます。
これで、各チームが負担しているコストの内訳をより正確に把握できるようになりました。ただし長期的には、タグ付けやAttributionsの見直しによって、未配賦コストを最小限(理想は$0)に近づけていくのが望ましい姿です。

FinOpsの主要原則のひとつに「誰もが自らのクラウド利用にオーナーシップを持つ」があります。とはいえ、Engineersのチームがそれを実践するには、自分たちのコストを正確に把握できる状態が前提です。そうでなければ、クラウドコストの分析から導いた結論が大きく的を外してしまいかねません。
DoiT Cloud Intelligenceのコスト分割機能を使えば、共有コストや未配賦コストを関連するビジネスユニットに振り分けられるため、クラウド利用者の間にコストの透明性だけでなく、説明責任の文化も根づかせられます。
ぜひインタラクティブツアーをお試しください。AttributionとAttribution Groupの作成から、それらの間で共有コストや未配賦コストを分割するまでを一通り体験いただけます。