オンプレ Embulk バッチデータ転送基盤から TROCCO へ移行した事例


Loading...

はじめに

データマネジメント部の奥村です。

本記事では、当社においてオンプレミス環境で運用していた Embulk を用いたバッチデータ転送基盤を SaaS 型のデータ連携サービスである TROCCO へ移行した事例をご紹介します。

長年運用してきたデータ転送基盤は安定して稼働していた一方で、インフラ管理や運用負荷といった課題を抱えていました。
今回の移行では、クラウド・SaaS を前提とした構成へ刷新することで、運用効率と保守性の向上を実現しています。


背景と課題

当社では、社内オンプレミス環境上に Embulk を中心としたバッチデータ転送基盤を構築し、各種システム間のデータ連携を行ってきました。

この基盤は VM 上で稼働しており、Embulk の実行環境や周辺ツールも含めて自前で管理していました。しかし、利用用途の拡大に伴い VM 台数が増加し、以下のような課題が顕在化していました。

  • VM 増加に伴うリソース管理・運用負荷の増大

  • ジョブ追加・変更時の作業コスト

  • 監視・スケジューリングなど周辺ツールの保守負担

また、2024年6月のサイバー攻撃の影響を受け、オンプレミス環境を前提とした構成の見直し が必要となったこともあり、クラウド環境への移行を前提にデータ転送基盤の再構築を検討することになりました。


技術選定と採用理由

新たなデータ転送基盤の選定にあたり、以下のサービスを比較検討しました。

  • TROCCO

  • Amazon AppFlow

  • Fivetran

Amazon AppFlow については、連携対象として扱っていた LTSV 形式のファイルに対応していなかった ため、今回の要件には適合しませんでした。

Fivetran も有力な候補ではありましたが、既存基盤が Embulk を中心に構築されており、社内に Embulk に関する知見が蓄積されていた点を重視しました。
TROCCO は内部で Embulk を採用しており、既存の設計やノウハウを活かしやすい ことから、移行コストを抑えられると判断しました。

さらに、別プロジェクトにおいて TROCCO 採用の検討実績があり、PoC を迅速に実施できる環境が整っていた ことも、採用を後押しする要因となりました。


移行前のシステム構成

TROCCO導入前

移行前のデータ転送基盤は、以下のような構成で運用していました。

  • Ansible によるインフラおよび embulk 転送ジョブの構築

  • Embulk 設定ファイルをコードとして管理

  • Zabbix・Datadog を用いた監視

  • cron によるスケジュール実行

コード管理による柔軟性はある一方で、インフラ・監視・スケジューリングまで含めた運用を自前で行う必要があり、継続的な保守コストが発生していました。


移行後のシステム構成

TROCCO導入後

TROCCO 導入後は、データ転送ジョブの実行、スケジューリング、監視を TROCCO に集約した構成へ移行しました。

これにより、Embulk 実行基盤を自社で保持する必要がなくなり、データ連携基盤の運用が大幅に簡素化されています。

TROCCO 導入による効果

ジョブ構築・運用の効率化

データ転送ジョブは Web UI 上で設定できるため、ジョブの新規作成や設定変更が容易になりました。
これにより、従来と比較して構築・変更にかかる作業時間を削減できています。

スケジュール管理の可視化

ジョブの実行順序や並列実行、依存関係を Web UI 上で管理できるため、
スケジュール全体の可視性が向上し、運用ミスの防止にもつながっています。

監視・アラートの統合

Slack への通知機能が標準で提供されているため、
Zabbix や Datadog といった外部監視ツールへの依存が不要になりました。
監視設定の保守負荷が軽減された点は、大きな改善効果の一つです。

インフラ管理コストの削減

VM 構築やリソース管理といったインフラ運用が不要となり、
データ基盤チームはより本質的な業務に集中できるようになりました。


今後の課題と展望

TROCCO を導入したことによって日々の運用・管理コストが大きく削減されましたが、一部課題も残っています。

従来は Embulk の設定ファイルを Ansible でテンプレート化することで、大量のジョブ作成や一括変更を効率的に管理できていました。

一方、TROCCO は Web UI 中心での運用が前提となるため、同様の管理が難しい点が課題となっています。

現在は導入当初よりも TROCCO API や Terraform の機能拡充が進んでいるため、今後は TROCCO のジョブについてもコード管理(IaC)を導入し、運用の効率化を図りたいと考えています。


おわりに

オンプレミス環境で運用していた Embulk 基盤を TROCCO へ移行したことで、
データ転送基盤の 運用効率・保守性・可視性の向上 を実現することができました。

今後も SaaS を適切に活用しながら、データ基盤の安定運用と改善を継続していく予定です。
本事例が、同様の課題を抱える企業・チームの参考になれば幸いです。