無限ノック › DEA 練習問題一覧 › 問題
DEAデータオペレーションとサポート

あるデータパイプラインはAWS Step Functionsを使用してオーケストレーションされており、Amazon S3からデータを読み込み、AWS Glueジョブで変換し、Amazon Redshiftにロードします。Glueジョブが断続的に「ThrottlingException」で失敗することがあります。パイプライン全体の再実行を避けつつ、このような一時的なエラーを自動的に処理するための最適な方法はどれですか?

A
Step Functionsのステートマシン定義でGlueジョブ呼び出しステートにRetryブロックを追加し、ThrottlingExceptionに対して指数バックオフで自動再試行するよう設定する
✓ 正解
AWS Step Functionsのステートマシンでは、各ステートにRetryブロックを定義することで特定のエラーに対する自動再試行ロジックを組み込めます。ErrorEquals・IntervalSeconds・MaxAttempts・BackoffRateパラメータを設定することで、ThrottlingExceptionのような一時的エラーに対して指数バックオフでの自動再試行が可能です。Retryブロックによりコード変更なしに自動的な再試行が行われ、パイプライン全体の再実行を防ぎます。
B
CloudWatch Alarmsを設定してThrottlingExceptionを検知し、Amazon SNS通知でオペレーターに手動再実行を依頼する
CloudWatch Alarmsによる検知は可能ですが、手動オペレーターの介入が必要であり自動化の要件を満たしません。
C
Step FunctionsのCatchブロックを使用してThrottlingExceptionをキャッチし、エラー詳細を記録した上で失敗ステートに遷移させる
CatchブロックはRetryで対処できなかった最終的なエラーのフォールバック処理に使用するものであり、再試行には適しません。
D
AWS Lambdaを使用してThrottlingExceptionをポーリングで検知し、独自のリトライ制御ループを実装する
Lambdaによるカスタム実装は不必要な複雑性を追加し、Step Functionsのネイティブ機能で代替できます。

解説

正解: Step Functionsのステートマシン定義でGlueジョブ呼び出しステートにRetryブロックを追加し、ThrottlingExceptionに対して指数バックオフで自動再試行するよう設定する。 AWS Step Functionsのステートマシンでは、各ステートにRetryブロックを定義することで特定のエラーに対する自動再試行ロジックを組み込めます。ErrorEquals・IntervalSeconds・MaxAttempts・BackoffRateパラメータを設定することで、ThrottlingExceptionのような一時的エラーに対して指数バックオフでの自動再試行が可能です。Retryブロックによりコード変更なしに自動的な再試行が行われ、パイプライン全体の再実行を防ぎます。 選択肢BのCloudWatch Alarmsによる検知は可能ですが、手動オペレーターの介入が必要であり自動化の要件を満たしません。 選択肢CのCatchブロックはRetryで対処できなかった最終的なエラーのフォールバック処理に使用するものであり、再試行には適しません。 選択肢DのLambdaによるカスタム実装は不必要な複雑性を追加し、Step Functionsのネイティブ機能で代替できます。

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

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

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