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
140
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
OPTiMized SRE 〜共通基盤で、SREの改善を個別対応から横展開へ〜
optim
0
74
地図が指し示す場所を、機械に検索させてみる
optim
0
500
「人間を最適化するAI」から「AIを最適化する人間」への主語転換 〜Agentic Engineeringの実践〜
optim
0
140
フロントエンド開発者のための「厄払い」
optim
0
2.5k
レイアウト構築の基本を理解しよう ~ 横スクロールが起きない!? Flex脱却編 ~
optim
0
590
デザインとエンジニアリングの架け橋を目指す OPTiMのデザインシステム「nucleus」の軌跡と広げ方
optim
0
1k
落ちてほしかった単体テスト
optim
0
160
Goのカバレッジ計測の仕組みをコードリーディングで理解する
optim
1
370
0→1製品の毎週リリースを支えるGoパッケージ戦略——AI時代のPackage by Feature実践
optim
6
2.4k
Other Decks in Technology
See All in Technology
Mastering Ruby Box
tagomoris
3
160
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
800
protovalidate-es を導入してみた
bengo4com
0
160
運用を見据えたAIエージェント設計実践
amacbee
1
3.4k
探して_入れて_作って_使う_Agent_Skills___LT.pdf
peintangos
2
190
やさしいA2A入門
minorun365
PRO
10
1.4k
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
53
58k
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
1.8k
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
380
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
【Gen-AX】20260530開催_JJUG CCC 2026 Spring
genax
1
450
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
190
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Become a Pro
speakerdeck
PRO
31
6k
How to train your dragon (web standard)
notwaldorf
97
6.7k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
A designer walks into a library…
pauljervisheath
211
24k
A Tale of Four Properties
chriscoyier
163
24k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Writing Fast Ruby
sferik
630
63k
KATA
mclloyd
PRO
35
15k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
The Art of Programming - Codeland 2020
erikaheidi
57
14k
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