DEAデータオペレーションとサポート
あるデータエンジニアリングチームは、AWS Glue ETLジョブが失敗した際に担当エンジニアへメール通知を送信し、最大2回まで自動的に再実行する仕組みを、最小限のカスタムコードと運用オーバーヘッドで構築したいと考えています。最も適切な方法はどれですか?
AAmazon EventBridgeのルールでGlueジョブ失敗イベントを検知し、SNS通知を送信するとともにStep Functionsを起動してリトライロジックを制御する
✓ 正解
Amazon EventBridgeはGlueジョブのFAILEDイベントをリアルタイムに検知してSNSとStep Functionsを同時トリガーでき、最小限のコードで通知と回数制御付きの再実行を実装できる最適な方法。
BAWS CloudTrailのGlue APIコールを定期的にLambda関数で解析し、ジョブ失敗を検知したらSNS通知とジョブ再実行を実装する
CloudTrailはAPIコールの監査ログを記録するサービスであり、ジョブ失敗のリアルタイム検知には向かない。定期的なLambda解析では応答が遅延し、コードの実装コストも高くなる。
CAmazon CloudWatch Logsにサブスクリプションフィルターを設定してGlueのエラーログを検知し、Lambda関数でSNS通知とジョブ再実行を行う
CloudWatch Logsサブスクリプションフィルターによる検知も可能だが、Glueのログフォーマットに依存するため変更に弱く、EventBridgeのイベントドリブン方式より信頼性・即時性で劣る。
DAWS Glue Workflowのトリガーを使用してジョブ失敗時に後続ジョブを自動実行し、Amazon SESで担当者に通知メールを送信する
Glue WorkflowはGlueジョブ間の依存関係管理に特化しており、リトライ回数の上限設定やSES/SNSとの柔軟な連携においてStep Functionsほどの制御性を持たない。
解説
選択肢AはAmazon EventBridgeのルールでGlueジョブの状態変化(FAILED等)をリアルタイムにイベントとしてキャプチャし、ターゲットとしてAmazon SNS(メール通知)とAWS Step Functionsステートマシン(リトライ制御)を同時に設定する方法です。カスタムコードを最小化しながらジョブ失敗の検知・通知・再実行を実現でき、Step FunctionsのWait状態とChoice状態を組み合わせることでリトライ回数を柔軟に制御できます。
選択肢BのAWS CloudTrailはAPIコールの監査ログを記録するサービスであり、ジョブ失敗をリアルタイムに検知する用途には適さず、定期的なLambda解析では遅延が生じます。
選択肢CのAmazon CloudWatch Logsのサブスクリプションフィルターはログパターンマッチングで検知できますが、ログフォーマット変更への依存があり、EventBridgeイベントよりも信頼性が低いです。
選択肢DのAWS Glue Workflowは、Glueジョブ間の依存関係管理に特化しており、最大リトライ回数の細かい制御においてStep Functionsほど柔軟ではありません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →