無限ノック › DVA 練習問題一覧 › 問題
DVAAWSのサービスを使用した開発複数選択

ビデオ共有サービスで、ユーザーが最大5GBの動画ファイルをS3にアップロードする機能を開発しています。通常のPutObjectでは以下の問題があります: ①単一のHTTPリクエストに対するS3の上限(5GB)に近い ②アップロード途中にネットワーク障害が発生すると最初からやり直しになる これを解決する最も適切な実装はどれですか?(2つ選択)

A
S3マルチパートアップロードAPIを使い、ファイルを複数パートに分割してアップロードし、最後にCompleteMultipartUploadを呼び出す
✓ 正解
S3マルチパートアップロードは大容量ファイルを複数パートに分割してアップロードし、完了後にCompleteMultipartUploadで結合する機能です。失敗したパートのみ再送できるためネットワーク障害への耐性が高く、最大5TBのオブジェクトに対応します。AWS SDKの高レベルAPI(TransferManager等)はこのプロセスを自動化します。
B
AWS SDK for JavaのTransferManagerなどマルチパートアップロードを自動的に処理するSDK高レベルAPIを使用する
✓ 正解
S3マルチパートアップロードは大容量ファイルを複数パートに分割してアップロードし、完了後にCompleteMultipartUploadで結合する機能です。失敗したパートのみ再送できるためネットワーク障害への耐性が高く、最大5TBのオブジェクトに対応します。AWS SDKの高レベルAPI(TransferManager等)はこのプロセスを自動化します。
C
S3 Transfer Accelerationを有効化してPutObjectの転送速度を向上させる
S3 Transfer Accelerationはエッジロケーション経由の高速転送であり障害回復とは別機能です。
D
ファイルをLambda関数経由でストリーミングアップロードし、Lambdaが内部でPutObjectを実行する
Lambda経由のストリーミングアップロードはペイロード上限(6MB同期/256KB非同期)があり大容量ファイルには不適です。
E
Amazon S3のPresigned URLを生成し、クライアントから直接単一のPutObjectリクエストでアップロードする
Presigned URLによる直接PutObjectは単一リクエストのため、ネットワーク障害時に最初からやり直しになり耐障害性要件を満たしません。

解説

マルチパートアップロードは大容量ファイルを複数パートに分割してアップロードし、完了後にCompleteMultipartUploadで結合します。失敗したパートのみ再送できるためネットワーク障害への耐性が高く、最大5TBのオブジェクトに対応します。 選択肢AのS3マルチパートアップロードAPIを直接使用する方法は、アップロードIDや各パートのETagを自前で管理する必要がありますが、5GB超のファイルにも対応し障害時の部分再送が可能です。 選択肢BのAWS SDKの高レベルAPI(TransferManager等)はマルチパートアップロードの分割・再試行・結合処理を自動化し、実装コストを大幅に削減できます。 選択肢CのS3 Transfer Accelerationはエッジロケーション経由の高速転送であり、障害回復やファイルサイズ上限への対応とは別機能です。 選択肢DのLambda経由のストリーミングアップロードはLambdaのペイロード上限(同期6MB/非同期256KB)があり大容量ファイルには不適です。

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

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

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