MEGAZONEブログ
Migrate legacy ETL to AWS Glue
レガシーETLをAWS Glueに移行する
Pulisher : AI & Data Analytics Center ソン・スルギ
Description:ETLソリューションからAWS Glueに移行する方法についての紹介セッション
はじめに
Glueを活用するETLは概ね伝統的な方法であり、それによって定型化され、過去のトレンドに沿って開発が行われる傾向があります。
しかし、Glueサービスは継続的に進化しており、データ処理要件も継続的に変化しているため、このような変化に適切に対応するために、現代的で最適化されたGlueの活用方法を知り、学習する必要があります。
セッションの概要紹介
従来のデータ統合および変換ツールはコストが高く、断片的であるため、組織はETL、検索、移動、整理、変換、リスト作成などの機能を提供するためにマルチツールアプローチを志向する傾向があります。 このセッションでは、実際の事例を使用して、レガシーETLソリューションからAWS Glueに移行する方法を紹介します。AWS Glueを採用することで、最新の最適化されたサーバーレスアーキテクチャを実装すると同時に、運用コストを削減する方法を確認することができます。
従来のETLの限界点
・ビジネス目標達成のための多様なソリューションが必要 オンプレミス環境でのETLは、多様なソース環境に合わせた多数のソリューションが必要でした。
・インフラ拡張の難しさとコストの限界 データを移管する作業には相当なリソースが必要ですが、データの量が増えるほど利用可能なリソースは減少するオンプレミスシステムの限界上、インフラ拡張が必須ですが、現実的にインフラを拡張することは技術的、コスト的に難しいのが現実です。
・技術的な障壁 また、データのソースロケーションとターゲットロケーションのすべてのシステムを理解する必要があり、これらのスキルセットをすべて備えることは容易ではありません。
AWS Glueによる限界点改善
・統合データETLソリューションを提供 Glueは様々なデータソースからデータをAWS内部に移行するために必要なすべてのツールを統合ソリューションの形で提供します。
・高い拡張性、コスト最適化 GlueはAWS完全管理型サービスで、サーバーレスの形でサービスが提供され、柔軟に必要なリソースを調整して活用が可能で、使用した分だけ費用が請求されます。
・カスタマイズ可能なツールサポート GlueはPython、Scala、Sparkなどの言語を提供することで、ユーザーが好きな言語を選択してスクリプトを開発できるように支援しています。
・ユーザーフレンドリーなインターフェース Glue Studioを通じて視覚化形式のETLプロセス構成を支援し、誰でも簡単にこのインターフェースを通じてETL開発ができるようにします。
AWS環境への移行を選択した背景
・既存のオンプレミス環境は、異質で断絶されたシステムであるだけでなく、プラットフォームへの依存度が高く、レガシーデータを維持するためには高いメンテナンスコストが必要でした。
・新たなビジネスニーズと様々な規制や要件を満たすためには、拡張可能で簡単に統合できる近代化されたプラットフォームが必要でした。
レガシーデータの移行事例
・500以上のスキーマ、4万5千以上のテーブル内の数百テラバイト級のデータをData Migration Serviceを活用して正常に移行しました。
・3千余りの作業をGlue作業に転換し、データパイプライン全体の構築を完了しました。
・このような大規模な移行過程では、移行プロセスに対する自動化が必須であり、移行後にデータとプロセスをテストする過程も自動化することが必要です。
・何よりも、表面的に現れない標準化や使いやすさの改善などの非機能的な要件をよく把握して移管する過程で解決することも重要な移管ポイントの一つです。
セッションを終えて
レガシーシステムをクラウドシステムに移行するには、かなりの努力が必要であり、様々な困難が発生する場合が多いです。
特に、セッションで紹介された非機能要件が事前に明確に識別されず、移行する過程で再作業が必要だったり、すでに行った作業が不要になる場合が発生します。
また、移管後に完成されたシステムに対する検証作業に多くの労力がかかりますが、このプロセス自体を自動化することができれば、このような労力とコストを削減できるポイントになることを確認しました。