Q77 — AWS SAA-C03 第16章

第 77/100 問 | ← 第16章

Q1277. ある企業が、データ取り込みプロセスを再設計しています。現在のデータ取り込みプロセスでは、同社は毎晩データ転送を受信し、そのデータを Amazon S3 バケットにアップロードしています。また、AWS Glue クローラーと AWS Glue ジョブを使用して、機械学習(ML)ワークフロー向けにデータを準備しています。同社は、複数の AWS Glue ジョブを順次実行できる低コードソリューションと、視覚的なワークフロー表示機能を必要としています。これらの要件を満たすソリューションはどれですか?

正解: B. Amazon EventBridge を使用して AWS Step Functions のワークフローを起動し、その中で AWS Glue ジョブを実行します。Step Functions を使用して視覚的なワークフローを作成します。

解説

正しいソリューションは、AWS Glue ジョブの順次実行と視覚的なワークフロー表示を提供する「低コード」なソリューションであり、手動によるオーケストレーションを回避する必要があります。各選択肢を検討します。 正解:B.Amazon EventBridge を使用して AWS Step Functions のワークフローを起動し、その中で AWS Glue ジョブを実行します。Step Functions を使用して視覚的なワークフローを作成します。 なぜ B が最適か: ・低コードによるオーケストレーション:AWS Step Functions は、サーバーレスのワークフローサービスであり、ジョブの順序をドラッグ&ドロップで可視化できます。EC2、Lambda、ECS などに基づくカスタムスクリプトは不要です。 ・視覚的なワークフロー:Step Functions は、ジョブの実行フロー、成功/失敗パス、再試行などを示す組み込みのステートマシン図を提供します。 ・AWS Glue との統合:Step Functions は、AWS Glue の StartJobRun API を直接呼び出して Glue ジョブを実行できます。また、エラー処理(再試行、フォールバック)や条件分岐もサポートします。 ・イベント駆動型のトリガー:Amazon EventBridge を使用すれば、S3 への新規データ到着(例:S3 イベントルール)を契機に Step Functions ワークフローを自動起動できます。 他の選択肢が不適切な理由: A.Amazon EC2 インスタンス上で cron ジョブとスクリプトを実行し、S3 ファイルの有無を確認して AWS Glue ジョブを呼び出します。Amazon CloudWatch ダッシュボードを作成してワークフローを可視化します。 ・高メンテナンス:EC2 インスタンスのパッチ適用、スケーリング、稼働時間管理などの手動作業が必要です。 ・ネイティブな視覚的ワークフローなし:CloudWatch ダッシュボードはメトリクスやログの監視には適していますが、ジョブの実行順序を可視化することはできません。 ・低コードではない:Glue ジョブのオーケストレーションには Bash/Python などのカスタムスクリプトが必要です。 C.S3 イベント通知を活用して、一連の AWS Lambda 関数および AWS Glue ジョブを順次呼び出します。Amazon QuickSight を使用して視覚的なワークフローを作成します。 ・Lambda の制限:Lambda は最大15分のタイムアウトがあり、長時間実行される Glue ジョブには不向きです。複数の Lambda を順次呼び出すには、SNS/SQS などを用いた複雑なイベント連携が必要です。 ・ワークフロー可視化機能なし:QuickSight は BI/分析ツールであり、ジョブオーケストレーションのダイアグラムを提供しません。 D.AWS Glue ジョブの管理と視覚的ワークフローの生成を行う Python スクリプトを含む Amazon ECS タスクを作成します。Amazon EventBridge Scheduler を使用してこの ECS タスクを起動します。 ・低コード要件に反する過剰設計:Docker コンテナ化と Python スクリプトの記述が必要であり、「低コード」ではありません。 ・組み込みの可視化機能なし:ECS はワークフローダイアグラムを提供せず、AWS X-Ray やカスタムダッシュボードなどの外部ツールが必要です。 主要要件の比較: 要件|Step Functions(B)|その他(A/C/D) 低コード/ノーコード|ドラッグ&ドロップUI(スクリプト/コンテナ不要)|スクリプト/コンテナが必要 視覚的ワークフローダイアグラム|組み込みステートマシン図あり|CloudWatch/QuickSight/ECS では提供不可 AWS Glue ジョブとのネイティブ統合|StartJobRun API を直接サポート|Lambda のタイムアウト問題、EC2/ECS ではカスタムコードが必要 イベント駆動型トリガー|EventBridge による信頼性の高いトリガー|S3 イベント+Lambda は不安定、EC2 の cron はスケジュールベースのみ 結論:選択肢 B のみが以下のすべてを満たします。 ・サーバーレスかつ低コードの視覚的ワークフロー(Step Functions)を提供します。 ・AWS Glue とスクリプト不要でネイティブに統合できます。 ・イベント駆動型のトリガー(EventBridge)をサポートします。 最終的な正解:B