
はじめに
クラウド支出が膨らみ複雑化していくなかで、組織のなかでコストがどう分かれているのかを本当に把握したいなら、サービス別やプロジェクト/アカウント別に請求書を分解するだけでは足りません。
事業の動かし方に沿った形でコストを整理する必要があります。たとえば、複数のチームや環境、その他のカテゴリ単位でコストを割り当てたい場面もあるでしょう。ところが、そうしたカテゴリの定義は意外と複雑です。たとえば社内で「ステージング環境」と言ったとき、複数のチームやサービスにまたがる「staging」で始まるすべてのプロジェクトやアカウントを指す、というケースもあります。
DoiT Cloud IntelligenceのAllocationsを使えば、ラベル/タグ、プロジェクト、アカウント、サービスタイプ、リージョン、さらには請求メタデータといった複数のコスト軸を横断してリソースをグルーピングし、クラウドコストを自社独自のビジネスカテゴリにマッピングできます。Allocationsは直接コストと共有コストの両方の配分方式に対応し、サポートやネットワーキングのような共有サービスを比例配分する自動ルールも備えています。
それでは、Allocationsとは何か、どのように動作するのかを見ていきましょう。すぐに触ってみたい方は、下のインタラクティブツアーへどうぞ。
Allocationsとは?
Allocationとは、自社独自のコストカテゴリを定義する、クラウドリソースの論理的なグルーピングです。
多くの企業がDoiT PlatformのAllocationsを活用し、クラウドの利用状況を自社のビジネス文脈で読み解いています。
また、チームや部門をまたいでコストの当事者意識を根づかせるための土台でもあります。
では、Allocationsの具体例と実際の使い方をいくつか見ていきましょう。
エンジニアリングチームのコストを定義する
DoiTでは、各エンジニアリングチームのクラウド利用範囲を可視化するために、社内でAllocationsを活用しています。次の例では、リソースレベルのラベルかプロジェクトレベルのラベルが「bruteforce」と一致するリソースをまとめて、Bruteforceチーム用のAllocationを作成しました。
ここで「A OR B」のロジックを適用しているのは、以下のいずれに該当するリソースも漏れなくAllocationに取り込むためです。
- リソースラベル team:bruteforce のみが付与されているもの
- プロジェクトラベル team:bruteforce のみが付与されているもの
- 両方が付与されているもの
このやり方なら、ラベルがどこに付いていてもBruteforceのコストを抜け漏れなくカバーできます。
スクリーンショット
多くのお客様は、こうしたAllocationsを土台にチーム別のダッシュボードやレポートを作成し、コストの主要な発生源を可視化しています。
下の例では、Bruteforceのコストをサービス別に分解し、そのチームの支出を押し上げている要因がひと目でわかるようにしています。
スクリーンショット
環境ごとのコストを定義する
次の例では、正規表現マッチングを使って「staging」を名前に含むGoogle Cloudプロジェクトをまとめ、ステージング環境のコストを定義しています。
ラベルやタグに頼らずにAllocationsを構築できることを示すよい例です。
スクリーンショット
ステージング用プロジェクトは追加・削除が頻繁に発生するものですが、正規表現を使えば新しいプロジェクトが増えるたびに手で更新しなくても、Allocationが自動的に最新の状態に保たれます。
スクリーンショット
下の例では、Development、Staging、Productionという3つのAllocationsを比較する「環境別コスト」レポートを作成しました。これにより、環境ごとの利用状況を簡単に追跡し、推移を比較できます。
スクリーンショット
各環境のコストをサービス、アカウント、リージョン別にさらに分解し、差分の要因を掘り下げることもできます。
スクリーンショット
さらに、これらのレポートはどれもスケジュール設定で自動更新し、任意の頻度で関係者に配信できるため、チーム全体が常に最新情報を把握できます。
スクリーンショット
EBSストレージの削減効果を試算する
Allocationsの用途は、組織やチーム単位のカテゴリにとどまりません。インフラ構成要素をまとめて、分析やシナリオ試算に使うこともできます。
たとえば、AWS EBSでGP2ボリュームを使用していて、GP3に移行した場合のコスト削減効果を試算したいとしましょう。
まず、GP2ボリュームに関連するEBSコストをすべて捕捉するAllocationを作成します。GP2の利用を識別できるAWSサービスメタデータ(ボリュームタイプ、使用タイプ、SKUなど)でフィルタリングすればOKです。
スクリーンショット
Allocationを定義したら、DoiT PlatformのMetricsと組み合わせて削減シミュレーションを実行できます。
AWSによれば、GP3ボリュームはGP2に比べてGBあたりの価格が最大20%低くなります。削減見込みを試算するには、GP2 Allocationのコストに0.2を掛けるカスタムメトリックを作成します。
スクリーンショット
あるいは、すでにGP3を使っていた場合の移行後コストを試算したいときは、同じAllocationに0.8を掛けます。
これにより、次のことを手軽に、そしてセルフサービスで実現できます。
- 1日あたりの削減見込み額の定量化
- ストレージ移行の優先順位付け
- 実際のコストデータに基づくアーキテクチャ判断の検証
Allocationsのさらなる活用法
Allocationsを一度定義すれば、DoiT Platform全体で活きるインプットとなり、より精緻で、すぐに動けて、ビジネスに直結するインサイトをプラットフォームのいたるところで引き出せるようになります。
ここまで、Allocationsがより意味のあるコストレポート作成にどう役立つかを見てきました。しかし用途はそれだけではありません。DoiTのお客様はAllocationsを次のような場面でも活用しています。
- 支出を正確に配賦する
- クラウドコストを1ドル単位で特定の事業部、製品、施策に紐づけ、タグ付けの不統一や請求構造の分断による空白を埋めます
- Budgetsで予測と統制の精度を高める
- Allocation単位の予算を設定し、チーム・環境・アプリケーションが予測を超えそうかを追跡して、責任者に先回りでアラートを送ります
- 粒度の高い、狙いを絞ったアラートを作る
- 異常、コストの急増、利用量の変化を、アカウントやサービス単位ではなくAllocation単位で検知し、対応すべきチームに直接届けます
- 部門を越えた対話を後押しする
- Allocationsは事業構造をそのまま映し出すため、Finance、Engineering、Leadershipがコストの動きを評価し意思決定するための共通言語になります
- その他にも多数
そのほかの活用法はこちらの記事でご覧いただけます。
タグやラベルとの違いは?
「タグやラベルでも同じことができるのでは?」と感じた方もいるかもしれません。Allocationsはタグやラベルの代わりになるものなのでしょうか?
両者は別の概念ですが、重なる部分もあります。Allocationsは、タグ付けが完璧でなくてもクラウド支出を整理できるようにするものです。タグやラベルをAllocationsの入力として使うこともできますが、それだけに縛られません。
たしかに、タグ運用が徹底されている組織であれば、タグとラベルだけでも同様のグルーピングは 可能 です。前提となるのは次の3点です。
- カテゴリごとに一貫したタグキーを1つだけ用意する(例: environment、product、team)
- キーごとに使用する値を定義しておく(例: prod、dev、staging)
- すべてのリソースでタグカバレッジ100%を維持する
AWSタグが正しく一貫して付与されている場合、AWS Cost Explorerのレポートは次のように見えます。

タグキーや値の重複
しかし現実には、タグ運用がもっと断片的になっている組織が少なくありません。Environment、Env、environmentのようにキーがバラバラだったり、prod、production、Productionのように値が混在していたりするケースです。
こうした不整合があると、それらの値をネイティブには1つの論理単位にまとめられず、コストレポート作成が一気に難しくなります。
Allocationsを使えば、こうしたタグのバリエーションをすべて1つのルールに含め、ビジネスに沿った単一のグルーピング(例:「Production環境」)として定義できます。
下の例では、Environmentタグの値がprod、Production、productionのリソースを1つのAllocationにまとめています。
スクリーンショット
マルチクラウド
アプリケーションがAWSとGoogle Cloudの両方にまたがって動いているとしましょう。そのアプリのトータルコストをどう計測しますか?
各クラウドのコンソールではそれぞれ自社のデータしか見られないため、ネイティブには実現できません。
DoiT PlatformのAllocationsなら、タグ、ラベル、アカウントID、プロジェクト名といった共通のメタデータを使って、両クラウドのリソースをまとめてグルーピングできます。これでマルチクラウドのサービスや製品のコストを、一元的に把握できます。
定義したいグルーピングにタグが向かない場合
作りたいグルーピングに、そもそもタグが合わないこともあります。
たとえば、「ステージング環境」のコストを、リソースのタグ有無に関係なく、名前に「staging」を含むAWSアカウントやGCPプロジェクトをまとめて定義したい、というケースです。
Allocationsを使えば、プロジェクト/アカウント名、正規表現マッチ、その他のディメンションを使って、こうしたコストグルーピングを構築できます。
スクリーンショット
タグに対応していないレガシーシステム
お客様のなかには、タグそのものに対応していなかったり、タグ付けルールを強制できなかったりするレガシーシステムを抱えている方もいます。
このような場合、ネイティブのコンソールではうまい回避策がありません。しかしAllocationsを使えば、アカウントID、リージョン、サービス名、カスタムロジックなど、別のメタデータを使ってタグなしのリソースもグルーピングできます。
まとめ
ビジネス文脈でクラウド支出を理解するにせよ、チームをまたぐコストの当事者意識を醸成するにせよ、出発点はAllocationsです。
クラウドコストをよりクリアに見える化する準備はできましたか?下のインタラクティブツアーをお試しいただくか、DoiTまでお問い合わせのうえ、貴社向けのデモをご予約ください。Allocationsをはじめとする DoiT Platformが、お客様のチームでどう機能するかをご覧いただけます。
Allocationsのインタラクティブツアーを体験する