Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20251211_第2木曜LT会
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kokamoto01
December 11, 2025
91
1
Share
20251211_第2木曜LT会
kokamoto01
December 11, 2025
More Decks by kokamoto01
See All by kokamoto01
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
500
OU外でもIAM Identity Centerを使いたい!
kokamoto01_metaps
1
640
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.6k
Code Review Best Practice
trishagee
74
20k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
700
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
440
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
300
GraphQLとの向き合い方2022年版
quramy
50
14k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
510
Large-scale JavaScript Application Architecture
addyosmani
515
110k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Transcript
「コミットメント割引の未活⽤率」を 実際に測ってみた 2025.12.11 第2⽊曜LT会 srest SRE こかも (岡本 健太郎)
扱うテーマが請求データなので 黒塗りが多いです ご了承ください 2
今年も1年お疲れさまでした (まだ2週間ありますが) 3
© Metaps Holdings, Inc. 今年精算したい課題 リザーブドインスタンス Savings Plans 本当に適切に活⽤できてる? 過不⾜ない?
4
© Metaps Holdings, Inc. 今年精算したい課題 リザーブドインスタンス Savings Plans 本当に適切に活⽤できてる? 過不⾜ない?
5
© Metaps Holdings, Inc. 実際にSavingsPlansを調べてみた (とあるプロダクト) 6 購⼊⽇
© Metaps Holdings, Inc. 実際にSavingsPlansを調べてみた (とあるプロダクト) 7 あれ?全然適⽤されてなくね? 購⼊⽇
調査しよう 8
© Metaps Holdings, Inc. 調査はこちらの記事のやり⽅を参考にしました 9 https://www.finops.org/wg/percent-commitment-based-discount-waste-playbook/
© Metaps Holdings, Inc. 未使⽤率が計算できればOK SP償却コスト = ([SP の前払い料⾦の合計⾦額] ÷
12または36) 未使⽤コスト = (SP償却コスト) - (使⽤したSPコミットメント) 未使⽤率(%) = (未使⽤コスト / SP償却コスト) × 100 10
© Metaps Holdings, Inc. 実⾏する前に注意すること 11 Organizations全体の請求情報にアクセスできるアカウントまたは、 RI/SPを購⼊したアカウントでないとSP償却コストが取得できません。
© Metaps Holdings, Inc. ⼿順その1 Cost and Usage Reports (以降CUR)のデータをS3にエクスポートする
Data Exportsを使⽤します。設定は以下の通り - 標準データエクスポート - テーブルデータコンテンツはCUR2.0 - 時間粒度は[時間単位] - SPが時間単位のコミットのため、整合性がとりやすい - エクスポートする圧縮タイプとファイル形式はParquet形式 - Athenaで使うのが簡単 - ファイルのバージョニングは[既存のデータエクスポートファイルを上書き] - S3バケット料⾦の節約になります 12
© Metaps Holdings, Inc. ⼿順その2 GlueでAthenaでクエリを読み込ませるためのデータベースと データカタログテーブルを作る テーブル作成はGlue Crawlerでもできますが、 実⾏時間の⻑さとカラムの型の誤認が怖いので⼿動またはIaCで作成するのを推奨
ぶっちゃけAthenaでテーブル定義(CREATE EXTERNAL TABLE)すればいい 13
© Metaps Holdings, Inc. ⼿順その3 Athenaでクエリを呼び出す 14 SELECT SUM(discount_amount) AS
unused_discount_cost FROM commitment_discounts WHERE start_date <= DATE 'YYYY-MM-DD' AND end_date >= DATE 'YYYY-MM-DD' AND usage_amount = 0;
© Metaps Holdings, Inc. ⼿順その3 Athenaでクエリを呼び出す 15 SELECT SUM(discount_amount) AS
unused_discount_cost FROM commitment_discounts WHERE start_date <= DATE 'YYYY-MM-DD' AND end_date >= DATE 'YYYY-MM-DD' AND usage_amount = 0; 全く読み込めない
© Metaps Holdings, Inc. なので、 読み込めるように⾊々改造しました。 全部説明してたらLTに収まらないので気になった⽅はこちらからどうぞ 16 https://github.com/kokamoto01/cur_calculate
実⾏結果 17
© Metaps Holdings, Inc. コミットメント割引の未活⽤率を計算してみた unused_cost カラムがSPコミットメント割引に使われていないコスト unused_percentage カラムがSPコミットメント割引の未活⽤率 18
© Metaps Holdings, Inc. ⼀番下の⽇付のコストでunused_percentageが増えている理由 CURの更新は最⼤24時間頻度で⾏われるため、前⽇のコストは正確に測れない。 これは仕様のため仕⽅ない。 19
© Metaps Holdings, Inc. 実⾏結果からわかったこと Savings Plansは購⼊した分が100%ロスなく使われていた。 20 じゃあ、どのアカウントでSPが どのくらい使われているの?
© Metaps Holdings, Inc. アカウントごとにSPのコミットメント使⽤率を計算してみた sp_usage はアカウントが使⽤したSavings Plansの⾦額 ($) usage_percentage
はアカウントのSP使⽤割合(%) 21 同じ ⾦額
© Metaps Holdings, Inc. アカウントごとにSPのコミットメント使⽤率を計算してみた total_commitmentは 指定期間のSavings Plan総コミットメント額($)。 SPグループ共有でSPの区分を分けてないので⼀律同じ⾦額になっていることを確認。 22
同じ ⾦額
気付いたこと 23
© Metaps Holdings, Inc. 気付いたこと SPの購⼊⾦額が⾜りなかった -> ⾃分のミスです。すみません。 過去12ヶ⽉のオンデマンド相当額のベースラインを⾃前で 出すのは相当難しい。
(スプレッドシートで計算だけでは限界がある) 24
© Metaps Holdings, Inc. 公約 Savings Plans Purchase Analyzerを有効活⽤します 25
https://aws.amazon.com/jp/blogs/news/announcing-savings-plans-purchase-analyzer/
© Metaps Holdings, Inc. 気付いたこと 26 Savings Plansの優先順位は不平等 -> ペイヤーアカウントでまとめてSPを購⼊しているが、
複数の事業部で1つのOU設計になっているため、 SPの適⽤割合が違っていると償却コストの計算が ⾯倒なことになりそう🤮
© Metaps Holdings, Inc. 公約 Cost Categoryを作り、共有設定でSP適⽤割合を均等に します 27 https://aws.amazon.com/jp/blogs/news/control-your-aws-commitments-with-risp-group-s
haring/
余談 28
© Metaps Holdings, Inc. 2025/12/02からDatabase Savings Plansが利⽤できるようになりました 29 https://aws.amazon.com/jp/blogs/aws/introducing-database-savings-plans-for-aws-databases/
FinOps 30
© Metaps Holdings, Inc. ざっくり説明 FinOpsとは? クラウドの利⽤料を 「ビジネス側」「エンジニア側」 「財務側」が⼀体になり 継続的に最適化していこうという考え⽅
31
© Metaps Holdings, Inc. ざっくり説明 FinOpsとは? クラウドの利⽤料を 「ビジネス側」「エンジニア側」 「財務側」が⼀体になり 継続的に最適化していこうという考え⽅
32 ⼿法ではない。どう実現していくかは環境によって変わる
AWSコスト管理ツール「スレスト」 srest はAWSファンデーショナルテクニカル レビュー (FTR) の認定ソフトウェアです ガバメントクラウド環境 33
© Metaps Holdings, Inc. ⾃⼰紹介 岡本 健太郎 株式会社メタップスホールディングス SRE Okamoto
Kentaro @kokamoto01 プロフィール: SIer -> メタップス ドキュメント書くことが多い ⼀⾔: アドベントカレンダー書くの遅れてます 34 こかもって呼んでね
Fin. 35