💸

AWSのコスト管理初心者に知って欲しいお金に関する3つポイント

2023/11/27に公開

概要

本記事は個人開発や普段コスト管理をする方がいきなりの高額請求にびっくりしないためのTipsについてまとめてみました。

何かサービスを契約する際には金額の説明があって、
それに納得して契約をして、請求書が届いて請求金額をみて高いと感じたら節約できる部分はないかを考えるのではないかと思います。

所感ですが、AWSを利用する際にはアカウント作成してその流れで利用できてしまうので、
コストを意識して利用しないと、請求で痛い目をみるケースがあるのではないかと思います。
また、最近ではAWSのベストプラクティスをまとめたWell-Architectedフレームワークコストの柱ができるほどユーザのコスト管理が重要視されているため、
不安や興味があれば是非ご覧いただけると幸いです。

請求コストの構造イメージ

以下にコスト体系をまとめてみました。
基本的には(①-②)+③が請求金額となるイメージです。

クレジットなどは割引できる項目が決まっており、
サポートプランの一部を含み、ほどんどのAWSサービスであれば適用できますが、
AWS Marketplaceなどに対しては適用できないようです。

②請求されたコスト内訳の確認方法は?

請求コストの確認の仕方はいくつかあります。
以下は主な確認の仕方についてご紹介します。

請求ダッシュボード

下記画像のCloudTrailを例に挙げると、東京リージョンのイベント記録が23,666イベント記録されていますが、無料課金枠内のため金額は$0となります。

このように実際に何が、どういう計算に基づいて、だからこれだけ請求しますね
細かく記載されています。
コスト分析をする際にまずはコストを可視化することが第1歩となりますが、
可視化されたグラフの分析をする際の仮説の検証や調査をする際に役立つかと思います。

なんか請求金額がすごい高いと感じたら
とりあえず請求ダッシュボードを見ればどのサービスがなぜ請求されたのかぱっとわかると思います。

AWSコンソール

AWSにログインすると、トップ画面のウィジェットに「コストと使用状況」に関するパネルがあります。
コストが高いサービスや、先月に比べてどうだったかなどコスト概要を把握するのには良いかもしれません。
更新間隔は基本的には24時間に1度更新され、残りのデータは場合によっては数日更新されます。

AWS Cost Explorer

無料で利用が可能かつ、使用コストを可視化してくれるサービスです。
コストの予測や利用履歴に基づきRIの購入について、
どのように購入すると安く利用できるのか提示をしてくれます。

また可視化されたグラフを分析する際に、
サービスやリージョン、インスタンスタイプやタグなど様々な切り口が用意されているので、
個人開発や特定のアカウントのコストのみ把握できていればよい場合は、
AWS Cost Explorerで十分
に機能として充実しているかと思います。

引用:https://aws.amazon.com/jp/blogs/aws-cloud-financial-management/getting-started-with-aws-cost-explorer-part-1/

AWS CUR(Cost and Usage Reports)

CURは最もコストが詳細に記録されているレポートです。
請求ダッシュボードではサービスの課金項目(S3の場合、クラスごとのストレージ料金、API料金など)に集計して表示されますが、
CURではさらに時間単位や日単位でコストを記録しています。
例えば、EC2のt3.xlargeインスタンスを1時間起動、c5g.xlargeのインスタンスを1時間起動などがレコード形式で記録されています。
CURには大量のレコードがあり、人間が見るにはいささか難しい代物なのでSaaS製品と連携したり、AWS QuickSightを使って可視化をすることができます。
更新間隔は1日最低1回、3回まで更新がされます。

③高額請求されないためには?

クラウドは俊敏性が高く非常に利用しやすいのですが、
その分従量課金のためユーザ自身で適切にコントロールをしておかなければ予期せぬコストが請求されてしまいます。
例えば、こちら[6]によるとクラウドに移行した際に平均32%が過剰に支出がされており、
移行時のコスト効果が半減しているといった結果があります。

過剰な支出に対する対策の例

上記例のように予期せぬ請求を避けるためにできることをいくつかあると思います。

コストアラートを設定する

コストアラートには、
BudgetsアラートとCost Anomaly Detectionの2種類があります。
Budgetsアラートは大局的な通知に使い、
Cost Anomaly DetectionはAWS利用者への気づきとしてそれぞれ使い分けるといったアプローチがあります。

定期的な棚卸をする

例えば月に1度定期的にアカウント全体のリソースを棚卸をすることで、
削除し忘れたリソースがないかや
一時的なリソースがないかを気付くことができそうです。

コスト管理体制、FinOpsの整理

1人・1チームが組織横断でコストを確認していくのか、
各チームに1人コストリテラシーの高いメンバーを配置・育成するのかができると
継続的に過剰な支出を避けることができそうです。
FinOpsについてはこちらをご参照ください。

まとめ

請求金額がどのようなイメージで算出されるのか、
請求書が届いたらどこを確認すればいいのか、
請求金額が高くならないようにするにはどこに気を付ければいいのか、
という流れでまとめてみましたがいかがでしょうでしょうか?

支出への対策はざっくり書いてしまいましたが、
「コスト最適化」という記事で別途詳しく書いていこうと思います!

この記事がどなたかの一助になれれば幸いです。
最後までご覧いただきありがとうございました!


引用
[1]https://aws.amazon.com/jp/blogs/aws-cloud-financial-management/bundled-discounts-in-aws-cost-and-usage-report/
[2]https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/savings-bundle.html
[3]https://aws.amazon.com/jp/blogs/news/migration-acceleration-program-map/
[4]https://www.redhat.com/ja/topics/cloud/committed-spend#:~:text=Amazon Web Services Enterprise Discount,を奨励するものです。
[5]https://aws.amazon.com/jp/legal/service-level-agreements/
[6] "State of the Cloud Report", P.47, Flexera, 2022.

Discussion