無限ノック › DEA 練習問題一覧 › 問題
DEAデータの取り込みと変換

あるデータエンジニアリングチームは、以下の手順からなるデイリーバッチETLパイプラインを構築する必要があります。 ①Amazon RDSからS3へデータを抽出するAWS Lambda関数を実行 ②AWS Glue ETLジョブでデータを変換・加工 ③変換後データの品質チェックを実行し、失敗した場合はAmazon SNSで通知して処理を中断 ④品質チェック通過後にAmazon Redshiftへデータをロード 各ステップ間には依存関係があり、失敗時の自動リトライと詳細なエラーハンドリングが必要です。運用負荷を最小化しながらこのパイプラインを実装するオーケストレーションサービスはどれか。

A
AWS Glue Workflows でジョブとクローラーをトリガーで連鎖させ、エラーハンドリングをGlueジョブ内に実装する
AWS Glue WorkflowsはGlueジョブとクローラーの連鎖実行に特化しており、Lambda関数の呼び出しやSNS通知、Redshiftへのロードなど非Glueサービスのオーケストレーションや条件分岐による処理中断には対応していません。
B
AWS Step Functions でステートマシンを定義し、各ステップをTask・Choice・Catchで制御するパイプラインを構築する
✓ 正解
AWS Step Functionsはステートマシンとして複数AWSサービスを横断するワークフローを管理します。Task・Choice・Catch・Retryを組み合わせることで、依存関係制御・条件分岐・自動リトライ・エラー通知をコードなしで宣言的に実装でき、このパイプラインの要件をすべて満たします。
C
Amazon EventBridge Scheduler でステップごとに独立したスケジュールを設定し、前ステップの完了をS3イベントで検知する
Amazon EventBridge Schedulerは定期実行のスケジュールトリガーには使えますが、ステップ間の依存関係を管理したり、失敗時に条件分岐してSNS通知と処理中断を行うオーケストレーション機能は持ちません。
D
AWS Batch でジョブキューと依存関係を設定し、ジョブ定義ごとにエラー通知のコンテナロジックを実装する
AWS Batchはジョブ間の依存関係(dependsOn)を設定できますが、サービスを横断した条件分岐・エラーハンドリング・リトライ・通知連携の宣言的管理はStep Functionsほど柔軟でなく、実装コストが増大します。

解説

選択肢BのAWS Step Functionsは、複数のAWSサービスをまたぐワークフローをステートマシンとして定義できるサーバーレスオーケストレーションサービスです。Lambda・Glue・SNS・Redshiftなど異なるサービスをTaskステートで統合し、Choiceステートで条件分岐(品質チェックの合否判定)、Catchでエラーハンドリング、Retryで自動リトライを宣言的に定義できます。AWS SDK統合によりコード追加なしで各サービスを呼び出し可能です。 選択肢AのAWS Glue WorkflowsはGlueジョブとクローラーの依存関係管理に特化したツールです。Lambda・SNS・Redshiftなど非Glueサービスのオーケストレーションや、条件分岐・詳細なエラーハンドリングには対応しておらず、このシナリオの全要件を満たせません。 選択肢CのAmazon EventBridge Schedulerは定時実行トリガーに使えますが、ステップ間の依存関係制御や失敗時の条件分岐・リトライを管理するオーケストレーション機能は持ちません。 選択肢DのAWS Batchはコンテナベースのバッチ計算環境であり、ジョブの依存関係は定義できますが、サービス横断の条件分岐・エラーハンドリング・通知連携を宣言的に管理するStep Functionsの柔軟性はありません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DEA の問題一覧に戻る