無限ノック › SAP 練習問題一覧 › 問題
SAP新しいソリューションのための設計

バイオインフォマティクス(生命情報科学:ゲノムデータ等の生物学的データを計算機で解析する分野)スタートアップが、ゲノム解析パイプラインをAWSで新規構築しています。 【ワークロードの特性】 - 入力データ:患者1名あたり約200GBのWGS(Whole Genome Sequencing:全ゲノムシーケンシング)データ(FASTQ形式でS3に保存) - 解析パイプライン:BWA(Burrows-Wheeler Aligner:ゲノムアライメントツール)→ GATK(Genome Analysis Toolkit:変異検出ツール)の2段階処理 - BWAは64 vCPU・256GB RAMを必要とし、処理時間は1サンプルあたり36時間 - GATKは16 vCPU・64GB RAMを必要とし、処理時間は1サンプルあたり12時間 - BWAが完了した後にのみGATKを実行できる(順序依存) - 処理規模:平均50サンプル/日、ピーク時200サンプル/日 【要件】 1. サンプルごとに処理ジョブを並列実行し、スループットを最大化 2. BWA→GATKの依存関係を自動管理(手動介入不要) 3. ジョブ失敗時の自動リトライ(最大3回) 4. 処理完了メタデータをAmazon DynamoDBに自動記録 5. コスト最適化(ただし1サンプルあたりの完了時間を72時間以内に制約) この要件を最も適切に満たすアーキテクチャはどれですか?

A
AWS Batchで2種類のジョブキューを作成する:BWA用(Spot Instancesベースの高メモリコンピューティング環境、64 vCPUインスタンス)とGATK用(Spot Instances、16 vCPUインスタンス)。BatchのジョブDefinition内のdependsOn設定でBWA完了後にGATKジョブを起動する依存関係を定義する。コンテナはBWA実行中にチェックポイントをS3に保存し、Spot中断後のリトライで再開できるように実装する。ジョブ失敗時のリトライ回数は3に設定。EventBridgeでBatch完了イベントをキャプチャしてLambda関数を呼び出し、処理メタデータをDynamoDBに記録する。
✓ 正解
AWS Batchはバッチコンピューティングに最適化されたマネージドサービスで、dependsOnによるジョブ間依存関係の定義・自動リトライ設定・Spot Instancesによるコスト最適化(最大90%削減)・コンピューティング環境の自動スケールが全て標準機能として提供される。チェックポイント実装でSpot中断からの回復も可能で72時間制約内での完了を担保できる。EventBridge → Lambda → DynamoDB連携で完了メタデータ記録も実現できる。
B
Amazon ECS Fargate(Spot起動タイプ)でBWAとGATKのコンテナを実行する。AWS Step FunctionsのワークフローでECS RunTask APIを呼び出し、タスク間の依存関係を制御する。Step FunctionsのRetryとCatchでリトライとエラーハンドリングを実装する。Step Functions完了後にLambda関数でDynamoDBにメタデータを記録する。
ECS Fargate Spotは、1タスク上限が16 vCPU・120GBであり、BWAの要件(64 vCPU・256GB)を満たせません。
C
Amazon EC2 Auto Scaling グループのSpot Instancesでカスタムジョブスケジューラーを実装する。BWAとGATKのジョブはAmazon SQSキューで管理し、Spot InterruptionをEventBridgeでキャプチャして未処理ジョブを再キューイングする。ジョブ完了後にSQS完了キューへメッセージを送信し、Lambda関数がDynamoDBに記録する。
カスタムスケジューラー実装は、複雑性と運用コストが増大します(AWS Batchで解決できる問題をゼロから構築することになります)。
D
Amazon SageMaker Processingジョブを使用してBWAとGATKを実行する。SageMaker PipelinesでBWA→GATKの依存関係を定義し、パイプラインステップのRetry設定でリトライを管理する。SageMaker ProcessingはSpot Instancesをサポートしているためコスト最適化が可能。パイプライン完了イベントでDynamoDBに記録する。
SageMaker Processingは、ML前処理向けサービスであり、HPC(高性能計算)バイオインフォマティクスパイプラインにはオーバーエンジニアリングで不適切です。

解説

AWS Batchはバッチコンピューティングに最適化されたマネージドサービスで、dependsOnによるジョブ間依存関係の定義・自動リトライ設定・Spot Instancesによるコスト最適化(最大90%削減)・コンピューティング環境の自動スケールが全て標準機能として提供される。チェックポイント実装でSpot中断からの回復も可能で72時間制約内での完了を担保できる。EventBridge → Lambda → DynamoDB連携で完了メタデータ記録も実現できる。 選択肢BのECS Fargate Spotは、1タスク上限が16 vCPU・120GBであり、BWAの要件(64 vCPU・256GB)を満たせません。 選択肢Cのカスタムスケジューラー実装は、複雑性と運用コストが増大します(AWS Batchで解決できる問題をゼロから構築することになります)。 選択肢DのSageMaker Processingは、ML前処理向けサービスであり、HPC(高性能計算)バイオインフォマティクスパイプラインにはオーバーエンジニアリングで不適切です。

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

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

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