マルチクラウドにおけるデータ連携
※ この記事はHacobu Advent Calendar 2024の23日目の記事です。
はじめに
こんにちは、株式会社 Hacobu テクノロジー本部データチームの dach です。
本記事では、クラウド物流管理ソリューション「MOVO(ムーボ)」シリーズのデータを Google Cloud で構築しているデータ基盤へ連携する方法をご紹介します。
MOVO のデータについては Platform チームが管理しており、詳しい構成は先日の大野さんの記事「Aurora v3 移行と Locust を活用したクエリテスト」で触れられていますので、そちらもぜひご参照ください。
マルチクラウドにおけるデータ連携
Hacobu では、プロダクトとデータ基盤でそれぞれ異なるクラウドサービス上で構築されています。プロダクトは AWS 上に構築されており、データ基盤は BigQuery を用いるため Google Cloud 上に構築されています。そのため、クラウドを跨いだデータの連携・転送を行う必要があります。
BigLake や DataStream など、クラウド間でのデータ連携を実現するには様々な方法がありますが、Hacobu では Storage Transfer Service でクラウド間のデータ連携を実現しています。
データパイプラインとしては RDS から S3、GCS、そして BQ へとデータが流れる構成になっています。S3 から GCS の連携を Storage Transfer Service が行ってくれます。
Storage Transfer Service は、オブジェクトとファイル ストレージ システム間のデータ転送を自動化してくれる Google Cloud のサービスです。課金の観点から、データ転送するデータ量[1]とファイル数が少ない場合[2]におすすめです。
実際に運用してみての所感
以下に、実際に運用してみての所感を Pros/Cons の観点で簡単に整理しました。
[Pros]
- 安定稼働していること
- 低コストであること
- 運用負担が少ないこと
[Cons]
データ転送をするとファイルの書き込みが発生し、「1000ファイル」単位で課金額が増える[2:1]ので、転送するファイルは何らかの圧縮が必要
今後の展望
現在のアーキテクチャは非常に安定しています。しかし、さらなるデータ量の増加に備えてスケーラビリティの向上を検討しています。また、データ分析のリアルタイム性を強化するための新しい技術の導入も視野に入れています。
まとめ
- Hacobu では、AWS 上にあるデータを Storage Transfer Service を用いて Google Cloud に連携しています
- Storage Transfer Service は低価格で S3 から GCS へファイル転送をしてくれます
Hacobu のデータ基盤は、AWS と Google Cloud の強みを活かした効率的な構成となっています。今後も技術の進化に合わせて柔軟に対応し、より良いサービスを提供していきたいと考えています。
Discussion