ある企業が AWS 上でハイブリッドアーキテクチャを設計しており、オンプレミスのデータウェアハウスのデータを AWS の機械学習パイプラインで活用したいと考えています。データは毎日更新され、ML トレーニングのために S3 に取り込む必要があります。オンプレミスのデータウェアハウスは Teradata で、Direct Connect 経由で接続されています。最小限の開発コストで自動化されたデータパイプラインを構築するには、どのアーキテクチャが最適ですか?
- A. AWS Database Migration Service(DMS)を継続的レプリケーションモードで設定し、Teradata の全変更データをリアルタイムで S3 に取り込む
- B. Amazon Kinesis Data Firehose を Direct Connect 経由でオンプレミスから直接呼び出して S3 にストリーミング取り込みする
- C. AWS Glue の JDBC コネクターを使用して Teradata に接続し、毎日スケジュール実行される Glue ETL ジョブでデータを S3 に抽出・変換・ロードする。Glue のジョブブックマーク機能で差分データのみを抽出し、増分ロードを実現する
- D. オンプレミスの Teradata から毎日手動でデータをエクスポートし、SFTP で AWS S3 にアップロードする
解答と解説を見る
正解: C
AWS Glue は JDBC コネクターで Teradata など多くのデータウェアハウスに接続できます。Glue ETL ジョブをスケジュール実行(EventBridge またはトリガー)で毎日自動化し、ジョブブックマーク機能で前回の実行以降に更新されたデータのみを抽出する増分ロードが可能です。Direct Connect 経由でのオンプレミス接続にも対応しています。 D: 手動エクスポートと SFTP アップロードは自動化されておらず、運用負荷が高くなります。 B: Kinesis Data Firehose は AWS エンドポイントへのデータ取り込みに使いますが、オンプレミスから Direct Connect 経由で Firehose をトリガーするには別途エージェントや Lambda が必要で、バッチデータには Glue の方が適しています。 A: DMS の継続的レプリケーションは MySQL/Oracle/PostgreSQL 等の主要 RDBMS でサポートが充実していますが、Teradata からの CDC(変更データキャプチャ)は制限が多く、毎日のバッチ取り込みには Glue の方が信頼性が高いです。