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
k8s(EKS)でマルチテナントプラットフォームを運用する際のコスト按分の実装 / 25012...
Search
OPTiM
March 13, 2025
Technology
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
k8s(EKS)でマルチテナントプラットフォームを運用する際のコスト按分の実装 / 250124_LT_SRE
OPTiM
March 13, 2025
More Decks by OPTiM
See All by OPTiM
IHV like なユースケースへのOpenID Connect 関連仕様の適用事例
optim
0
300
製品の問い合わせ負荷をLLMで解消したい 〜RAGで作る「自社を知っている」チャットボット〜
optim
0
34
AI エージェントシステムの開発を AI で加速させたい!
optim
0
38
既存プロダクトのRSpec カバレッジを 40% から100% にした話
optim
1
78
最近やってよかったデザインシステム運用改善3選
optim
1
280
<install>要素は何ができて、何を変えるのか
optim
1
240
CIでリグレッションテストを実行し継続的に品質を担保する
optim
1
270
Tanstack Startを触ってみての感動
optim
1
270
移行のつらさは誰が引き受けるのか── Vue.js と Next.js を比べて見えたこと
optim
2
270
Other Decks in Technology
See All in Technology
ClaudeCodeでセキュリティ監視業務を半自動化_1年の運用でわかったAIに任せる設計の5つのポイント
kintotechdev
3
490
マイナンバーカード本人確認の実装比較(OAuth/OIDC Numa (Immersion) Workshop 2026) / 20260825 numa-12
oidfj
PRO
0
290
Windows の互換機能 - 古いプログラムはなぜ動作できるのか
murachiakira
PRO
0
110
Digital Credentials API × OpenID4VP ブラウザ完結型本人確認の実装知見(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
280
紙 to デジタル
ichien178
0
160
EUDIWの枠組みを出発点に民間エコシステムの在り方を考える(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
290
アクセスキーが漏れた日にやるべきこと- 無効化の先にある本当の対応
kazzpapa3
0
330
Claude Teamプランの コスト最適化を考える
rfdnxbro
0
710
500名弱規模の組織のPythonプロジェクト(dbt) をどう管理するか?
hiracky16
0
200
AI時代のデータ基盤を考える問い
pacocat
0
690
Digitization部 紹介資料
sansan33
PRO
2
7.7k
フィジカルAIの知識ゼロの僕でも AIを使えばここまでできた
tatsuya1970
0
180
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
440
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
450
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
180
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
520
The untapped power of vector embeddings
frankvandijk
2
1.8k
How GitHub (no longer) Works
holman
316
150k
Optimizing for Happiness
mojombo
378
71k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Transcript
© 2019-2025 OPTiM Corp. All rights reserved. k8s(EKS)でマルチテナントプラットフォームを運用する際の コスト按分の実装 最終更新日:2025/01/24
株式会社オプティム 菅野
© 2019-2025 OPTiM Corp. All rights reserved. 2 自己紹介
職歴 ◼ 2023年4月: オプティム 総合職(ポテンシャル職 = 非エンジニア) 入社 ◼ 2023年4~7月: ITポテンシャル研修 ◼ 2023年7月: プラットフォーム開発ユニットPlatform Engineeringチーム配属 仕事内容 ◼ 社内向けプラットフォーム開発 ◼ MOYT(もっとおやつ会)幹事 技術キーワード ◼ 「AWS」,「Terraform」,「Kubernetes」,「Docker」など
© 2019-2025 OPTiM Corp. All rights reserved. 3 プロダクトチームがプロダクト固有の問題解決にフォーカスできるよ
うにプラットフォームを提供する 活動の一環として、複数のプロダクトが利用できるマルチテナント構 成の社内プラットフォームをKubernetes as a Serviceとして提供 マルチテナントプラットフォームの利点 ✓ 自プロダクトのリソースをプロダクトチーム自ら管理することで、インフラ チームが開発速度を減少させるゲートキーパーとなることを防ぐ ✓ プラットフォームチームが常にメンテナンスする安心、安全な基盤を複数プ ロダクトで共有できる ✓ スケーラブルな基盤を提供することで、プロダクトは自分たちが利用した以 上に無駄なコストを支払う必要がない Platform Engineeringチームの取り組み 提供するマルチテナントプラットフォーム略図
© 2019-2025 OPTiM Corp. All rights reserved. 4 課題: プロダクトが使用した分だけコストを請求されるように、コスト按分を行うこと
リソース占有部分 + リソース共有部分の両者で テナントに平等なコスト按分を 行う必要がある 共通利用 共通利用 共通利用 課題: オプティムは多数のサービスを提供しているため、 リソースを共有しているプラットフォームであっても、 乗り入れした各テナント(≒サービス)ごとの原価を適切に把握できるようにする必要がある 難点: テナントがリソースを共有しているため、 AWSのサービスで請求書を分けることができない
© 2019-2025 OPTiM Corp. All rights reserved. 5 解決案: EKSのネームスペースごとのCPU,メモリリクエストに応じて
アカウントのコストを按分する 現状のコスト按分比率 プロダクトAの料金 =(namespaceA)/(namespaceA + namespaceB) × 全体の料金 プロダクトBの料金 =(namespaceA)/(namespaceA + namespaceB) × 全体の料金
© 2019-2025 OPTiM Corp. All rights reserved. 6 OpenCost
◼ Kubernetes およびクラウドネイティブ環境向けに開発されたオープンソースのコスト監視ソリューション ◼ 無料利用可能 kubecost ◼ Kubernetes 環境向けの包括的なコスト割り当ておよびリソース監視ソリューション ◼ 割引、スポットインスタンス、リザーブドインスタンスなどの高度なコスト調整が可能 ◼ 一部機能は無料利用可能 AWS CUR の Split Cost Allocation Data for Amazon EKSの利用 ◼ AWS の使用状況を追跡しアカウントに関連する推定請求額をS3に出力する ◼ レポートの出力自体は無料で使用できるものもあるが、出力先のS3には課金される ◼ 請求書を受け取るAWSアカウントのBilling and Cost Managementから有効化 ネームスペースごとのコストを計測する手段の検討 今回は導入が簡単だった CURを導入してみました
© 2019-2025 OPTiM Corp. All rights reserved. 7 解決策: AWS
CURを使用しnamespaceごとの按分比率測定 CURでSplit Cost Allocation Data for Amazon EKSを設定し、 pod単位の使用情報を取得 S3にcsvファイルで出力
© 2019-2025 OPTiM Corp. All rights reserved. 8 DuckDBで直接S3をクエリすることもできるが、 データが大量で処理が重かったため断念
取得したcsvをクエリして按分比率を算出
© 2019-2025 OPTiM Corp. All rights reserved. 9 今後の課題:
EKSのnamespaceごとのリソース”使用率”に応じた按分を行いたい ◼現状: EKSのnamespaceのリソースリクエストに応じた按分を行っている ◼解決案: 当初検討していたKubecostをCURの代わりに使用することや、Amazon Managed Service for Prometheus をCURに導入することでリソースの使用率の値を取得することが可能 ALB, NatGW, InternetGWなど、リソースの課金形態に合わせた按分比率を算出したい ◼現状: EKSの按分比率をAWSアカウント全体のコストにかけている ◼解決案: 転送したデータ量などのパラメータを取得して計算スクリプトを追加する コスト按分比率算出が自動実行される仕組みを作りたい ◼現状: PEチームのローカル環境でコンテナを立ててスクリプトを実行している ◼解決案: Cronjobで自動実行するなど オプティムでは 一緒に働く仲間を 募集しています
© 2019-2025 OPTiM Corp. All rights reserved. 10