目次
はじめに
こんにちは。社内横断で利用されるデータ基盤 Crois の開発を担当している、大澤と茅原です。
2025年6月18日に開催された FinOps X Day Tokyo 2025 にて、「分散型と集中型で切り開くクラウドコスト最適化:リクルート横断プロダクトCroisのFinOps実践」と題して発表を行いました。
本記事では、FinOps実践におけるクラウドコスト最適化の取り組みについて詳しくご紹介します。特に、分散型FinOpsと集中型FinOpsの両輪アプローチによる成功事例を中心にお伝えします。
発表スライド・動画
発表に使用したスライドを公開しています。 動画 も公開されていますので、併せてご参照ください。

FinOps実践の背景と課題
リクルートのデータ組織とFinOpsの必要性
リクルートのデータ組織は、各事業領域に対応する「領域データ組織」と、事業を横断して活用できるシステム(横断プロダクト)を提供する「横断データ組織」で構成されています。
様々な事業領域でデータ活用施策が実施されており、例えば、 機械学習モデルによる予測値を活用した顧客の新ジャンル利用促進 、 飲食店の調理順序最適化による料理提供遅延の防止 、 対話型チャットボットによる旅行代理店のような検索体験の実現 など、多種多様な施策があります。

これらのデータ利活用施策において、バッチ処理(機械学習の学習・推論パイプライン、ETL等)は不可欠です。
しかし、これらのインフラを各領域データ組織で個別に構築するのは非効率であり、社外製品やOSSでは対応できない特殊要件も存在します。
そこで、リクルートではバッチ処理に特化したワークフローエンジン・ジョブスケジューラである横断プロダクト「Crois」を内製開発し、プラットフォームとして提供しています。

Croisについては本ブログ以外にも
関連ブログ
を公開していますので、ぜひご一読ください。
特に以下ブログでは、AWS BatchからECS on EC2へ移行することによって得られた、コストパフォーマンス改善の事例について紹介しています。
Croisの成長とFinOps実践の必要性
Croisは、汎用的なワークフローエンジン・ジョブスケジューラ機能、よく使われる処理を再利用可能にした「公式モジュール」、スケーラビリティ・セキュリティを確保したインフラを提供することで、各領域データ組織のデータサイエンティスト・データエンジニアがより創造的なタスクに注力できるよう支援しています。
2019年にリリースされたCroisは、重複する機能を持つ社内基盤の統合・移行や各事業領域でのデータ利活用の拡大に伴い、ジョブ実行数が年平均3倍で増加し続けています。

2025年5月時点でのCroisの運用規模は以下の通りです。

マルチクラウド環境におけるFinOpsの課題
Croisのアーキテクチャは、API ServerとワークフローエンジンがAWS上で実装され、コンテナジョブ実行基盤としてECS on EC2、Fargate、GKEを採用したマルチクラウド構成となっています。
これにより、複数の領域の施策が一つのプロダクト上で稼働するマルチテナント環境であり、AWSとGCPの両方でクラウドコストが発生するという特徴があります。
横断プロダクトは、各種クラウドサービスを活用して開発・提供されており、発生したクラウドコストを課金請求(FinOpsにおけるチャージバック)する責任を負っています。
課金の大前提は受益者負担であり、サービスを利用した各領域データ組織がそのクラウドコストを負担することで、領域データ組織側の利用規模の測定および適切な投資意思決定を可能にすることを目的としています。

急成長によるFinOps実践の必要性
2021年までは、会社統合前からの利用者が過半数を占めており、ジョブ実行数やクラウドコストの変動は少なかったため、特定のAWSサービス以外のコストは固定費として扱えていました。
そのため、リソースタグを使用した整理や追跡は十分に行われていませんでしたが、実運用上は収支が均衡していました。
しかし、2022年に入り、複数の事業領域での利用開始とともにジョブ実行数が急成長し、状況は一変しました。
これにより、プロダクト収支が赤字に転落し、クラウドコスト変動の要因が特定のAWSサービスに限定されなくなり、固定費として扱っていたクラウドサービス費用が固定費では賄いきれなくなりました。
さらに、リソースタグによる整理・追跡が不十分だったため、「どのクラウドコストが急増しているのか」「どの利用者起因のコストなのか」を特定するのに苦労しました。
FinOpsを全く実践していなかったわけではありませんが、この状況では確実にFinOps改善が必要であると認識したのが2022年でした。

現状の課題を痛感した我々は、どこを目指してFinOpsを実践するべきかを考えることにしました。たどり着いた答えは、プロダクト利用者が高い経営効率を実現するためにFinOpsの実践を徹底する必要がある、ということです。

横断プロダクトがプラットフォームとしてできることは、大きく分けて3種類あります。役割を果たすために、機能開発とFinOpsは等しく重要であると、我々は考えています。

CroisにおけるFinOps戦略
クラウドFinOps第2版の原則に基づく両輪アプローチ
2022年当時、急成長によって生まれたFinOpsの課題は主に以下の3点でした:

これらの課題に対し、運用負荷解消のため、以下の取り組みを進めてきました:

CroisのFinOps実践は上述した運用改善から始まり、 クラウドFinOps第2版 の原則「分散型で使用量削減、集中型で料金削減」 に基づく両輪アプローチで成果を実現することで、課題を克服していきました。以降では、両輪アプローチの具体例をご紹介します。

分散型FinOpsの取り組み
利用者側での最適化支援
分散型FinOpsアプローチでは、FinOps原則「すべての人が自分のクラウド使用量に当事者意識を持つ」 を推進し、利用者自身のコスト最適化ループ実現を支援する機能を提供しました。
1. コストアロケーションの適正化
コストアロケーションでは、Croisのインフラコストを利用料に応じて請求するため、変動費と共通費の分類を設計しました。コンテナジョブを動かすインスタンスコストなどの変動費は、リソースにラベルやタグを付与して利用者ごとの利用量を取得しています。通信量、ログ、APIサーバーなどの共通費は、変動費の割合によって按分し、負担分を計算しています。

2. データ提供による透明性の確保
データ提供においては、BigQuery Tableとしてコストデータを公開し、利用者ごとに好ましい形で活用できるようにしています。プラットフォーム側での可視化だけでなく、利用者独自でクエリを探索したり、利用者側のコストダッシュボードと統合したりすることも可能です。

3. コスト見積もりツールの提供
利用者自身でCroisコストを見積もれるツールも提供しています。共通費(共有リソースの按分コスト)についても、過去の利用実績から予測して見積もりを提供しています。

4. 利用者側でのコスト最適化文化の醸成
利用者側でコスト最適化を行う環境を整備したことで、利用者側でのコスト最適化文化が醸成されました。例えば、Crois以外のサービスのデータと統合したコストダッシュボードを作成したり、Croisを効率よく使うためのルール(インスタンスのリサイジングポリシー、NATを通さずに通信量を抑える設定など)を自発的に策定したりする動きが見られるようになりました。

集中型FinOpsの取り組み
基盤側でのコスト削減
集中型FinOpsアプローチでは、プラットフォーム側から利用の全体感を把握し、全体最適な状態を目指しています。コストデータ整備によって、これまで見過ごされていたリソースの無駄を発見し、対応ができるようになりました。
1. 共有リソースの最適化
例えば、NATのコストが高いという課題がありました。Croisのスケジュール実行は毎分実行するECS Taskによって実現されており、このECS TaskがNATを持つネットワークに配置されていたため、毎分コンテナイメージをプルする際にNATを経由し、NATコストが高騰していました。これに対し、毎分実行するECS Taskのネットワークを変更することで対応しました。

2. サービスの見直し
もう一つの例として、AWSのSecret Managerコストが余計にかかっているという課題がありました。Croisではパスワードなどの機密情報をセキュアにコンテナタスクに渡す機能を提供しており、Secret Managerを利用していましたが、利用増加に伴い保管コストが負担になっていました。そこで、AWS Parameter Storeに移行することで、セキュアなまま保管コストをゼロにすることができました。

FinOps実践の成果と今後の展望
FinOps実践による成果
Croisでは、プロダクト利用者の経営効率向上を目的にFinOpsを実践し、クラウドコスト最適化を実現しました。
具体的には、FinOps推進の基盤となる信頼性の高いコストデータ基盤を構築し、新鮮なコストデータを提供することで請求業務の運用負荷を削減しました。
クラウドFinOps第2版の原則に基づく「分散型アプローチによる使用量最適化」(利用者側のコスト意識向上・自律的最適化)と「集中型アプローチによる料金最適化」(プラットフォーム側の共有リソース・サービス見直しによるコスト削減)の両輪で効率的なFinOps推進を実現しました。

FinOps実践の主要な成果
-
コストアロケーションの適正化
- 利用量ベースの変動費請求
- 共通費の適切な按分計算
-
利用者側のコスト意識向上
- 透明性の高いコストデータ提供
- 自発的なコスト最適化文化の醸成
-
プラットフォーム側のコスト削減
- 共有リソースの最適化
- 効率的なサービス選択
-
運用負荷の削減
- 自動化されたコストデータ基盤
- 効率的な請求業務プロセス
今後のFinOps実践の展望
今後の展望として、リクルートのデータ活用施策は拡大し続けており、利用者が施策を早く・安く実装し、正確な検証を行うためのFinOps実践は今後も継続していきます。
具体的には、以下のようなFinOps機能強化や運用の効率化を検討しています。
FinOps機能強化の計画
-
コスト異常検知機能の導入
- リアルタイムでのコスト異常検知
- 自動アラート機能の実装
-
コスト改善レコメンド機能の導入
- AIを活用した最適化提案
- 過去データに基づく改善案の提示
FinOps運用の効率化
-
AIOpsの導入による課題の発見・解決
- FinOps基盤と連携してクラウドコスト課題に取り組む
- AIOpsに対してもFinOpsによって適切な投資となるよう最適化
FinOps実践のベストプラクティス
本記事で紹介したFinOps実践のポイントをまとめると、以下のようになります:
- 分散型FinOpsと集中型FinOpsの両輪アプローチ
- 透明性の高いコストデータ基盤の構築
- 利用者側のコスト意識向上と自律的最適化支援
- プラットフォーム側での共有リソース最適化
- 継続的なFinOps機能強化と運用効率化
最後までお読みいただき、ありがとうございました。
本記事が、皆様のFinOps実践やクラウドコスト最適化の取り組みに少しでもお役に立てれば幸いです。