Amazon DEA-C01: データオーケストレーションとワークフロー管理 — 学習ガイド

こちらの一部です: Amazon Data Engineer Associate DEA-C01 — 学習ガイド. 検証済みの解答で練習: Amazon試験ハブ, または時間制限付き模擬試験に挑戦: ExamRoll.io.

オーケストレーションとワークフロー管理は、信頼性と保守性の高いデータプラットフォームを構築する上で中心的な役割を果たします。これらは、ETL(extract-transform-load)ジョブの調整、依存関係の管理、障害処理、イベント駆動型プロセスの統合を行います。このドメインでは、バッチETL、複雑なDAG、サーバーレスステートマシン、イベントスケジューリングのためのマネージドなAWSオプションを扱います。それぞれ実行セマンティクス、耐久性、スケーリングのトレードオフが異なります。AWS Glue Workflows、MWAA、Step Functions、EventBridge Schedulerをいつ使用するか、そしてエラーハンドリングとオブザーバビリティをどのように設定するかを理解することは、予測可能なパイプラインと運用コストの管理に不可欠です。

AWS Glue ワークフローとトリガー

AWS Glue Workflowsは、Glueジョブ、クローラー、トリガーを依存関係グラフにグループ化し、協調したETLを実行できるようにします。ワークフローは、コンソールまたはCLI(aws glue create-workflow –name MyWorkflow)で作成します。トリガーはワークフローにアタッチされ、スケジュール型、オンデマンド型、条件付き型の3種類があります。スケジュール型トリガーのCLI作成例:

条件付きトリガーは、ジョブ名と状態(SUCCEEDED、FAILED)を参照するPredicateを使用します。PredicateのJSON例:{“Logical”:“AND”,“Conditions”:[{“JobName”:“prev-job”,“State”:“SUCCEEDED”}]}。デフォルトでは、Glueの条件付きトリガーは成功時に起動します。障害を処理するには、State=FAILEDで条件を設定するか、エラーを修正ジョブやSNSアラートにルーティングするための明示的なFAILEDトリガーを作成します。

運用パターンと判断基準:

エラーハンドリング:FAILEDトリガーを追加し、ジョブの成功/失敗に関するCloudWatchメトリクスを出力し、自動リトライや調査のためにLambdaを介して障害をSQS/SNSデッドレターキューにプッシュします。

複雑なDAGのためのAmazon MWAA (Managed Airflow)

MWAAは、複雑なDAG、タスクの依存関係、センサー、カスタムオペレーターを表現するためのマネージドなApache Airflow環境を提供します。aws mwaa create-environment –name MyEnv –airflow-configuration-options Key=core.executor,Value=CeleryExecutorで環境を作成し、DAGのS3パスと実行ロールを指定します。重要なサイジングとネットワーキングの詳細:

判断基準:

Airflowでのエラーハンドリング:DAG定義でタスクのリトライとretry_delayを使用し、on_failure_callbackを設定して通知したりSQSデッドレターキューにプッシュしたりします。また、タスクレベルのSLAハンドリングを設定して修正用のDAGをトリガーします。

サーバーレスオーケストレーションのためのAWS Step Functions

Step Functionsは、JSONベースのAmazon States Languageを使用したステートフルなオーケストレーションを提供し、AWSサービスと幅広く統合されています。標準ワークフローとエクスプレスワークフローのいずれかを選択します。

ユースケースと判断基準:

エラーハンドリングと統合パターン:

EventBridge Schedulerとイベント駆動型パイプライン

EventBridgeは、豊富なイベントルーティングと、cronおよび1回限りのタスクのためのScheduler機能を提供します。スケジュールベースのルールは aws events put-rule --name dailyRule --schedule-expression "cron(0 2 * * ? *)" で作成し、ターゲットは aws events put-targets でアタッチします。イベント駆動型(パターン)ルーティングの場合、put-rule--event-pattern '{"source":["aws.s3"],"detail-type":["Object Created"]}' を指定して、S3イベントをLambda、Step Functions、またはSQSにルーティングします。

主な運用上のポイント:

エラーハンドリング:ターゲット固有のリトライ試行とバックオフを設定し、配信失敗にはDLQを使用し、複雑なエラーハンドリングや補償トランザクションにはEventBridgeとStep Functionsを組み合わせます。

よくある落とし穴と判断基準

実践的な問題:Acme Retail社のスパイクのある毎時ETL

Acme Retail社は、生データの取り込みのためのGlueジョブ、Pythonオペレーターを含む複雑なエンリッチメントDAG、そして高頻度の在庫イベントに応答する必要がある短時間のSKU集計を実行する、毎時ETLを必要としています。彼らは堅牢なリトライと障害キャプチャを要求しています。

  1. EventBridgeを使用して、パイプライン全体を調整するStep FunctionsのStandardワークフローを呼び出す、毎時実行のスケジュールルールをトリガーします。
  2. Step Functions内で、長時間実行されるGlueジョブ(StartJobRun)をRetryおよびCatchハンドラでオーケストレーションします。失敗時には、Catchブロックを介してSQS DLQと修復用Lambdaにルーティングします。
  3. 複雑なエンリッチメントDAGをMWAAにデプロイし、Step FunctionsからAirflow REST APIを使用するか、SQSにDAG実行メッセージを配置して呼び出します。MWAAワーカーは、予想される同時実行数に基づいてcelery.worker_autoscale設定でサイジングし、CloudWatchメトリクスを監視して調整します。
  4. 高頻度の在庫イベントには、EventBridgeのイベントパターンルールを使用して、べき等性キーを持つExpress Step FunctionまたはLambdaにプッシュし、SQSをバックエンドとするDLQでバーストを吸収します。
  5. 集中監視(CloudWatch Logs/Metrics、Step Functions用のX-Ray)を実装し、DLQの増加やタスクリトライの枯渇に対してアラートを設定します。

論理的根拠:この設計は、各要件に対して適切なツールを使用しています — 耐久性のあるサービス間オーケストレーションとエラーハンドリングにはStep Functions、複雑なDAGロジックにはMWAA、マネージドETLにはGlue、スケジューリングとリアクティブなイベントにはEventBridgeです。これにより、AWSのベストプラクティスに沿った、回復力と可観測性を備えたパイプラインのためのべき等性とDLQが強制されます。


データ変換と処理 · すべてのドメイン · データクエリと分析

これらの問題を練習する → · ExamRoll.ioで時間制限付き練習 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

試験に合格する →

Amazonを閲覧 →

Related guides

オールインワンアクセス

1つのサブスクリプション。すべての試験。

すべてのプランで、無制限の回答検索、模擬試験、AI解説、および完全なリソースライブラリが利用可能 — 20以上の言語に対応。

月額
24.87
Just €0.83/day
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

ベストバリュー
12ヶ月
179.87
Just €0.49/daySave 40%
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

✓ 無料プランが含まれています · ✓ いつでもキャンセル可能 · ✓ すべてのプランで製品の全機能が利用可能