Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
120
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20251211_第2木曜LT会
kokamoto01
December 11, 2025
More Decks by kokamoto01
See All by kokamoto01
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
700
OU外でもIAM Identity Centerを使いたい!
kokamoto01_metaps
1
700
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Crafting Experiences
bethany
1
360
Marketing to machines
jonoalderson
1
5.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
690
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
The Cult of Friendly URLs
andyhume
79
7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
What's in a price? How to price your products and services
michaelherold
247
13k
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