DEAデータオペレーションとサポート
あるデータエンジニアリングチームは、複数のAWS Glueクローラーと複数のGlue ETLジョブを、依存関係と条件分岐に従って順番に実行する必要があります。ジョブ間で実行日やパーティション情報などの状態を共有したいが、Apache Airflowなどの追加基盤の運用は避けたいと考えています。最も運用負荷の低い構成はどれですか。
AAWS Glue Workflowsでクローラーとジョブをトリガーで連結し、ワークフロー実行プロパティで状態を共有する
✓ 正解
Glue Workflowsはクローラーとジョブをトリガーで連結し条件分岐を含むDAGをネイティブに定義できる。実行プロパティでジョブ間の状態を外部基盤なしに共有でき、Glueのみで完結するため運用負荷が最も低い。
BAmazon MWAA環境を構築し、Airflow DAGでクローラーとジョブの依存関係およびXComで状態を定義する
MWAAはマネージドだがAirflow環境のサイジング・パッチ・スケーリングを継続的に管理する必要がある。DAGやXComで実現は可能でも追加基盤の運用を避けたいという要件に明確に反する。
CAWS Step Functionsステートマシンで各ジョブをタスクとして定義し、外部のDynamoDBテーブルで状態を共有する
Step Functionsで依存関係や分岐は表現できるが、ジョブ間の状態共有には別途DynamoDB等の外部ストアを用意・管理する必要がある。Glueネイティブで状態共有できる手段に比べ運用負荷が高い。
DAmazon EventBridgeのスケジュールルールで各クローラーとジョブを固定時刻に個別に起動する
EventBridgeの固定時刻スケジュールは各ジョブを独立起動するだけで、前段の完了待ちや条件分岐、ジョブ間の状態共有を表現できない。依存関係のあるパイプラインの順序保証ができず要件を満たさない。
解説
AWS Glue WorkflowsはGlueに統合されたオーケストレーション機能で、クローラーとETLジョブをオンデマンド/スケジュール/イベントのトリガーで連結し、条件分岐を含むDAGをネイティブに定義できます。
ワークフロー実行プロパティ(run properties)により、ジョブ間で実行日やパーティション情報などの状態を外部基盤なしで共有できるため、Glueのみで完結し運用負荷が最小です。
選択肢BのMWAAはAirflow環境のプロビジョニング・パッチ・スケーリングの管理が必要で、追加基盤を避けたい要件に反する。
選択肢CのStep Functionsは実現可能だが、ジョブ間の状態共有に別途DynamoDBを用意・管理する必要があり運用負荷が増える。
選択肢DのEventBridge固定スケジュールは依存関係や条件分岐、状態共有を表現できず、前段の完了を待たずに起動してしまう。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →