この記事でできること/分かること
- CostExploreとAWS Budgetの違いについて
- CostExploreについて
はじめに
今回は小ネタ(?)です。
いきなりな話ですが、インターネットが普及し始めた頃、多くの家庭は電話回線でネットに繋いでいました(要は電話しているってことですね)。今のような定額が当たり前ではなく「従量課金」です。
月末の請求書がびっくり金額で親に怒られたのをよく覚えていますww
携帯が普及し始めた頃も、今のようなWiFiがそこかしこにある時代ではないので、請求で親に怒られたこと/子供を叱ったこと、が経験としてあるのではないでしょうか。
AWSは言うまでもなく従量課金ですが、上記のように知らない間に課金が発生している(課金状況をちゃんと把握できない)という恐怖があるので、個人アカウントを作らないのかなぁ、と周りを見てそう思う今日この頃。。
というわけで今回は、CostExploreについて紹介したいと思います。
CostExploreとAWS Budgetの違いについて
いきなり寄り道になりますが、まずはCostExploreとAWS Budgetの違いを説明したいと思います。
私は最初すごい混乱しました。日本語にすると分かりやすいか、、な。「費用探索」と「予算」ですね。
・・いや、分かりづらいかもですね。
話を進めまして、まずはBudgetの方から。
「予算」なので「予め算出する」となります。要は「未来」へ目が向いているんですね。皆さんの会社でも、毎期予算を策定して月単位でその予算に向けて、どれくらい達成したか/してないか、をチェックしているかと思います。
budgetも同じで、設定した金額に達したとき、アラートをあげてくれるサービスです(アラートはSNSと連携してメール発砲)。また、〇%に達したとき、と段階を経てメール発砲させることも可能です。
以下が、「月額予算」というbudgetを作成し、予算を2ドル(・・笑)の80%という閾値条件で、実際に飛んできたメールです。課金は、即時に課金されるのではなく、その日の集計になるので一気に予算の2ドルを超えた2.95ドルとして発砲されてきましたが。。

Budgetの設定については以下を参照ください。

対して、CostExploreですが、既に発生している費用に対して「探索」をしているので、「過去」に目が向いている、と考えていいでしょう。
もちろん、未来に繋げるための「探索」ではありますが、機能としては「過去」の費用内容や課金割合等を提供してくれます。過去の支出を確認し、コスト削減や支出予測を立てたりしますので、「過去」をキーワードにするのは妥当だと思います。
CostExploreについて
これは百聞は一見にだと思います。実際の画像を載せます。

すごい節約して、フリーで使用できるものだけでなるべくやりくりしているので、最近発生した費用はRedshiftくらいですね。「サービス」や「インスタンスタイプ」単位で費用を確認したりできます。
また、最も利用頻度が高い/活用が見込みまれる方法が「タグ」ごとの表示、でしょうか。「コスト配分タグ」と呼ばれる機能となりますが、
通常の「タグ」と何が違うのか、、、というと、AWSが用意した代表的なタグ値を各種リソースから拾ってきて抽出してあげるよ、という機能です。分かりづらいですね。。
おそらくですが「ユーザー定義のコスト配分タグ」だけで事足りると思いますので、今回は、「ユーザー定義のコスト配分タグ」を「コスト配分タグ」として説明します。
機能そのものとしては、なんら難しいことはありません。下図のように、EnvやSIDでタグ付けされた各種リソースがあったとして、「Dev」の課金合計や、「AAA」システムの課金合計を抽出してくれる機能です。

ただし、決められたKeyしか扱えず、この決められたKeyが「コスト配分タグ」と呼ばれるものです。
コスト配分タグは、合計9種類あります。
・billing
・creator
・Env
・name
・Name
・Network
・SID
・sqlworkbench-resource-owner
・workflow
また、「Env」「SID」といったKey/ValueでTagを付与するだけではダメで、「有効化」が必要となります。
以下有効化の手順となります。
検索窓に「billing」と入れ、Billingサービスをクリックします。

画面左側の「コスト配分タグ」をクリックします。

有効化したいコスト配分タグにチェックを入れ、「有効化」をクリックします。
ステータスが「アクティブ」になれば有効化成功です。

ただし!「有効化」してから最大で24時間経たないと、そのコスト配分タグでのコスト集計はできません。
これはおそらくですが、そのアカウントが所有する全AWSリソースのタグを走査するためだと思います。
(最大で24時間後)CostExploreに戻り、右側のフィルターのタグに有効化したタグが表示されることができます。
※「コスト配分タグが有効」かつ「実際のリソースにそのタグを付与」していなければ表示されません。下図でいうと、有効化している「creator」「name」「SID」を持つリソースはスクショ当時存在しなかった、という意味になります。

少し混乱するのですが「Env」はあくまでKeyなので、
ここから更に抽出したいValue(下図の場合「Dev」)を選択することで、
「Dev」の課金額が表示されます。

(余談ですが、Devの課金額は0円なので画像は載せていません)
さいごに
コスト配分タグは設定そのものは簡単だと思います。感覚的にも分かりやすい。なのに、なぜ設定方法を紹介したかというと、、コスト配分タグのページそのものが見つかりづらいからです!
コスト配分タグは、CostExploreと連携ズブズブなのに、CostExploreのページから行けないんですよね。(少なくとも私は見つけられませんでした)

個人的に、ここのGUIは整備されていないと感じていて、非常に見づらい/探しづらい。。。CostExploreはメニューとしては「AWSコスト管理」に属する模様ですが、Billing側で「CostManagement」と表記されていたり、うーーん、という感じでした。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2023/08/26 文章を微修正