AWS認定資格 WEB問題集&徹底解説
ソリューションアーキテクト – アソシエイト
問題文と選択肢
- AWS Step Functions と AWS Lambda を組み合わせて、データ処理ワークフローを構築する
- AWS Batch でジョブ定義を作成し、Amazon EventBridge のスケジュールで定期実行する
- AWS Glue でジョブを作成し、Python シェルまたは Apache Spark 環境で処理を実行する
- Amazon RDS のストアドプロシージャでバッチ処理を実行し、Amazon EventBridge で定期起動する
A. AWS Step Functions と AWS Lambda を組み合わせて、データ処理ワークフローを構築する
AWS Step Functions と AWS Lambda でワークフローを自動化すること自体は可能。
ただし本要件の処理は3〜4 時間かかり、Lambda の関数タイムアウト上限(900 秒=15 分)を超えるため完走できない。
処理を細切れにして複数の Lambda 関数へ分割する回避策は、機械学習トレーニングのような一続きの計算では状態の受け渡しが複雑になり、現実的ではない。
B. AWS Batch でジョブ定義を作成し、Amazon EventBridge のスケジュールで定期実行する
AWS Batch はコンテナ化したバッチジョブを実行するマネージドサービスで、実行時間の上限に縛られず 3〜4 時間の処理を完走できる。
既存の Python スクリプトをそのままコンテナイメージに載せられ、S3 からの読み込み・S3 への出力も問題なく行える。
Amazon EventBridge のスケジュールで毎週末に自動起動でき、ジョブ実行中だけコンピューティングが起動するため、EC2 を手動起動する現状よりも運用負荷・コストの両面で有利。
C. AWS Glue でジョブを作成し、Python シェルまたは Apache Spark 環境で処理を実行する
AWS Glue は S3 上のデータを処理するサーバーレスのマネージド実行基盤で、Python シェルジョブと Apache Spark ジョブを選べる。
Python シェルジョブには pandas・numpy・scikit-learn などが同梱され、追加ライブラリも指定できるため Python による処理をそのまま実行でき、大規模データなら Spark を選べばよい。
S3 から読み込み → Python で処理 → S3 へ出力という流れと、スケジュールによる定期実行・実行時間課金という要件に合致する。
D. Amazon RDS のストアドプロシージャでバッチ処理を実行し、Amazon EventBridge で定期起動する
Amazon RDS はリレーショナルデータベースサービスであり、ストアドプロシージャはDB 内の SQL 処理を書くための仕組み。Python スクリプトによる機械学習モデルのトレーニングを走らせる実行基盤ではない。
そもそも S3 上のデータを直接読み書きする用途にも向かず、要件のデータフローを満たせない。
加えて RDS インスタンスは常時稼働で課金されるため、週末だけの処理ではコスト削減の要件にも反する。
構成図
Amazon EventBridge(毎週末スケジュール) │ 定期に起動 ▼ 実行基盤(B: AWS Batch / C: AWS Glue) ▲ 入力 │ 処理結果を書き戻す Amazon S3 ───────────▶ Amazon S3
Lambda は 15 分の壁。長時間 × 定期実行 × 低コストのバッチは Batch(汎用)/Glue(ETL)が定番。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| 処理に 3〜4 時間かかる(長時間処理) | AWS Lambda のタイムアウト上限は 15 分。長時間処理はそもそも完走できない →選択肢(A)を消す |
| Python スクリプトで機械学習モデルをトレーニング | RDS のストアドプロシージャは SQL 処理用で、Python の実行基盤にならない →選択肢(D)を消す |
| Amazon S3 から読み込み、Amazon S3 へ出力 | AWS Batch(コンテナ)・AWS Glue(Python Shell / Spark)はどちらも S3 との入出力に対応 →選択肢(B・C)は候補 |
| 毎週末に定期実行し、運用を自動化したい | Amazon EventBridge のスケジュールや Glue のスケジュールトリガーで、手動の EC2 起動を置き換えられる →選択肢(B・C)は候補 |
| コスト削減(現在は EC2 を手動起動) | ジョブ実行時だけリソースが起動・課金される B・C が有利。常時稼働の RDS は週次バッチでは無駄が大きい →選択肢(B・C)が正解 |
ひっかけポイント
- 「Step Functions + Lambda」は自動化の定番構成に見えるが、本問では3〜4 時間 > 15 分という一点だけで即座に切れる。実行時間を最初に確認する癖をつける
- Step Functions 自体は最大 1 年実行できるため惑わされやすいが、制限に引っかかるのは中で動く Lambda 側
- 「Amazon RDS のストアドプロシージャ」は EventBridge で定期起動できる点がもっともらしいが、スケジュール実行できることと機械学習の実行基盤であることは別問題
- AWS Glue は ETL 寄り、AWS Batch は汎用バッチ寄り。本問はどちらでも要件を満たすため「2 つ選択」で両方が正解になる
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「処理は10 分以内に終わる」 | Lambda(+ EventBridge)が正解に浮上。Batch / Glue は過剰。 |
| 「複数の処理を順番に実行し、失敗時はリトライ・分岐したい」 | Step Functions によるオーケストレーションが正解軸に(実行の中身は Batch / Glue)。 |
| 「GPU を使った大規模なモデル学習と、学習済みモデルの推論エンドポイントが必要」 | Amazon SageMaker(トレーニングジョブ/エンドポイント)が正解軸に。 |
| 「中断されても構わないので、とにかく安く実行したい」 | AWS Batch + スポットインスタンス(Fargate Spot 含む)の組み合わせが問われる。 |
| 「Hadoop / Spark クラスターを細かくチューニングして使いたい」 | Amazon EMR が選択肢として登場する。 |
- AWS Step Functions と AWS Lambda を組み合わせて、データ処理ワークフローを構築する
- AWS Batch でジョブ定義を作成し、Amazon EventBridge のスケジュールで定期実行する
- AWS Glue でジョブを作成し、Python シェルまたは Apache Spark 環境で処理を実行する
- Amazon RDS のストアドプロシージャでバッチ処理を実行し、Amazon EventBridge で定期起動する
次の問題前の問題
会員機能
お役立ち情報
- プレミアム会員のご紹介
- 「徹底解説」のご紹介
- 会員機能のご紹介
- おすすめの勉強方法
- 試験概要
- 資格を取得するメリット
- 合格率や難易度と勉強時間の目安
- AWSサービスの解説
- AWS認定資格の種類・対象者・受験料・合格ライン
- スマホのホーム画面に登録する方法
姉妹サイト
- CLF:AWS 認定クラウドプラクティショナー
- SAA:AWS 認定ソリューションアーキテクト-アソシエイト
- AIF:AWS 認定AIプラクティショナー
- SOA:AWS 認定CloudOpsエンジニア-アソシエイト
- DVA:AWS 認定デベロッパー-アソシエイト
- MLA:AWS 認定機械学習エンジニア-アソシエイト
- SAP:AWS 認定ソリューションアーキテクト-プロフェッショナル
- AZ-900:Microsoft Azure Fundamentals
- AI-900:Microsoft Azure AI Fundamentals