株式会社マネーフォワードにおけるCloud Runの利用(セキュリティチェックシート回答効率化アプリの運用)
株式会社マネーフォワード / kotaro takeshita
メンバー / 機械学習エンジニア
| 利用機能 | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
|---|---|---|---|
CloudRunService | 101名〜300名 | 2025年5月 | B to B |
| 利用機能 | CloudRunService |
|---|---|
| ツールの利用規模 | 101名〜300名 |
| ツールの利用開始時期 | 2025年5月 |
| 事業形態 | B to B |
アーキテクチャ
アーキテクチャの意図・工夫
認証
全社共通の認証基盤として利用されているMicrosoft Entra IDによるSSO(シングルサインオン)を利用して、マネーフォワード従業員のみがアクセスできるよう認証を整備しました。
セキュリティ
さらにセキュリティ強化のため、Cloud ArmorとCloud Load Balancingを組み合わせ、全社共通のVPN経由のユーザーのみがアクセスできるようにアクセス制限を実施しています。
ホスティング
Cloud Run上にStreamlitで作成したアプリケーションを展開しています。
RAGデータ基盤
開発メンバー以外の社内セキュリティチームがデータ編集を容易に行えるよう、過去回答やエンベディングベクトルを管理するデータベースとしてBigQueryを利用しています。
生成AI
回答生成には、Geminiを利用しています。エンベディングベクトルの作成にはGoogle Cloudのtext embedding modelを利用しています。
導入の背景・解決したかった問題
導入背景
より詳しくセキュリティチェック回答効率化アプリについて記載した記事も合わせてご覧いただけますと幸いです。
ツール導入前の課題
お客様からのプロダクト発注時、当社の情報セキュリティ体制を確認するためのチェックシートの提出が必須でした。このチェックシートは50項目から300項目と質問数が非常に多く、個人情報保護からDDoS対策まで多岐にわたる内容で、かつ各社ごとにフォーマットが異なるという問題がありました。
従来、営業担当者はその都度、プロダクト開発チームや社内セキュリティチームへ個別に問い合わせる必要があり、回答には最短で2〜3日、案件によっては最大で2週間程度を要していました。担当者の稼働はセキュリティチェックシート作成に大きく割かれ、回答難易度の高さから心理的負担も大きいことが課題でした。
どのような状態を目指していたか
営業担当者が受け取ったチェックシートをアプリにアップロードするだけで、RAG(検索拡張生成)による一次回答が負担なく作成されている状態を目指しました。さらに、生成された回答が「不明」や「信頼度(過去回答との乖離度)」が「低」となっている箇所のみをプロダクト開発チームに問い合わせるだけで、お客様に提供できるクオリティまで引き上げ、リードタイムの大幅短縮を目指しました。
比較検討したサービス
- Compute Engine (GCE)
- AWS App Runner / Azure Container Apps
比較した軸
最も重要視していた点は、開発速度と運用の簡素化、そしてコスト効率でした。開発者メンバー内で知見が溜まっているGoogle Cloudを利用し、インフラのキャッチアップや管理工数を極力削減したかったため、フルマネージドサービスを中心に評価しました。特に、トラフィックがない時間(営業担当者がこのアプリを利用しない時間)のホスティングコストを最小限に抑えられるか、という点が決定的な要因となりました。
選定理由
最終的にGoogle Cloud Runを採用した決め手は、以下の点です。
- スケールインによるコスト削減
アプリケーションが常時利用されるのではなく、営業時間内に集中して利用される特性から、トラフィックがない時間にインスタンスがスケールインされるCloud Runの特性が、費用対効果の観点から最適でした。
- フルマネージドによる開発集中
コンテナイメージをデプロイするだけで、スケーリングやインフラ管理をGoogle側が全て行ってくれるため、VM(GCE)のような運用負荷が一切なく、アプリケーション開発にリソースを集中できました。
導入の成果
改善したかった課題はどれくらい解決されたか
リソースの準備が容易なGoogle Cloud RunをはじめとしたGoogle Cloudリソース群を活用した結果、当初求められた1ヶ月というスピードでリリースまで達成できました。これにより、営業担当者のセキュリティチェックシートの一次回答作成にかかる時間が1〜数営業日だったところ、約15分程度に短縮され、本来の営業活動に集中できるようになりました。
どのような成果が得られたか
営業による一次回答作成にかかる時間の短縮が実現できました。また、過去回答にない質問について「不明」と生成させたり、信頼度パラメータなどの指標を設けたことで、社内セキュリティチームやプロダクト開発チームへの問い合わせが必要な箇所に限定され、チーム間の連携コストの削減やお客様への迅速な提案が可能になりました。
導入時の苦労・悩み
導入時の最大の悩みは、認証とRAGデータの整備でした。
認証の事前検証
全社共通の認証基盤であるMicrosoft Entra IDを利用する前に、まずはGoogle Cloud上で簡単にユーザー認証をテストする必要がありました。
RAGデータの整備
RAGの核となる「過去回答集」を開発メンバー以外のセキュリティチームが簡単に整備・更新できる環境を、スピード感を持って構築する必要がありました。
導入に向けた社内への説明
上長・チームへの説明
導入推進にあたっては、以下の3点を中心に説明し、上長や関係チームから理解を得ました。
費用対効果と運用効率
Cloud Runはインフラ運用が容易なフルマネージドであること、そして、営業時間外の利用がない時はインスタンスがスケールインされるため、コストが最小限に抑えられることを説明しました。
セキュリティと認証の検証
アプリを全社へ展開する際は Entra ID による認証が必須でしたが、検証フェーズとして一部ユーザーに展開する段階では、Google Cloud の IAP(Identity-Aware Proxy)による認証で十分であるとセキュリティチームと合意しました。この合意により、全社的な Entra ID 連携作業を待つことなく、迅速に認証機能を実装し、すぐに検証を進めることができました。
データ整備の簡素化
BigQueryはGoogleスプレッドシートを簡単にインポートしてテーブル作成できること、そしてBigQuery MLの
ML.GENERATE_EMBEDDINGを利用すれば、セキュリティチームがコードを書かずに、RAGに必要なエンべディングベクトルを簡単に作成・更新できることを具体的に示しました。
活用方法
営業担当者は、受注したタイミングで発生するセキュリティチェックシートの提出依頼時に、このアプリを利用して一次回答案を作成します。その後、各チームに確認を行いお客様に提出する回答を作成します。社内セキュリティチームは、回答の品質を担保するため、最新のセキュリティ情報をBigQueryに連携し、RAGデータを更新しています。
よく使う機能
CloudRunService
本アプリケーションを展開しております。
ツールの良い点
- スケールインによるコスト削減
利用していない時間はインスタンスがスケールインするため、コストを減らすことができる点が最大の魅力です。
- デプロイと運用の容易さ
アプリケーションをコンテナにまとめてアップロードするだけで、インフラ管理の手間なく、すぐに本番環境として利用できる点が非常に優れています。
ツールの課題点
- コールドスタートの発生
インスタンスがスケールインした後リクエストが来た際に、コンテナ起動によるコールドスタートの待ち時間が度々発生します。スケールイン後にアプリを開いたユーザーのより良い体験について検討する必要があります。
ツールを検討されている方へ
Cloud Runは、PoC(概念実証)やMVP(実用最小限の製品)を素早く立ち上げたいチームにとって、最高のサービスです。インフラ選定で悩む時間も重要ですが、まずはCloud Runでホスティングを試してみることで、アプリケーションの価値検証に集中できます。その手軽さと強力なスケーラビリティは、初期フェーズのプロジェクトにおいて大きな武器になります。
今後の展望
今後の本アプリの改善案です。
- フォーマット対応の多様化
現在、セキュリティチェックシートは会社によってファイル形式やフォーマットが多種多様です。今後、ファイルをアップロードしただけで欲しい回答を確実に取得できるような、柔軟な入力データ対応を目指します。
- LLMOpsの導入
ユーザーからのフィードバックを収集し、それを継続的にRAGデータや生成モデルのチューニングに反映させるLLMOps的なサイクルを構築し、利用モデルと回答精度の継続的な向上を目指します。
株式会社マネーフォワード / kotaro takeshita
メンバー / 機械学習エンジニア
よく見られているレビュー
株式会社マネーフォワード / kotaro takeshita
メンバー / 機械学習エンジニア
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法


