過去問ドリル

LinuCレベル4 システムアーキテクト ネットワークとストレージの選定 問39

ネットワークとストレージの選定/ストレージとアクセスプロトコル

数GBから数十GBの動画ファイルをオブジェクトストレージへアップロードするシステムを設計する。ネットワーク断が発生しても失敗した箇所だけを再送して処理を再開できるようにしたい。採用する方式として最も適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「ネットワークとストレージの選定」に対応。実際の試験問題ではありません)

正解:B

解説

マルチパートアップロードは大容量ファイルを一定サイズのパート(最小5MB)に分割し、各パートを独立してアップロードする方式。アップロード済みのパートは中断後も保持されるため、ネットワーク断が発生したパートだけを再送できる。全パートのアップロード完了後に完了APIを呼び出してオブジェクトを確定する。大容量ファイルの転送では再送コストの最小化と並列アップロードによる速度向上の両面でメリットがある。

選択肢ごとの解説

  • A誤り。動画ファイルはmp4やH.264等すでに圧縮済みの形式が多くgzip圧縮の効果は低い。また断が発生したら全体を再送する設計では「失敗した箇所だけを再送」という要件を満たせない。
  • B正しい。マルチパートアップロードはまさにこの要件のために設計されたAPI。パート単位の再送が可能でネットワーク断への耐性が高く、要件に直接合致する。
  • C誤り。presigned URLはアプリサーバーを介さずクライアントが直接ストレージへアップロードする経路設計に有効だが、中断再開の機能はない。断が発生した場合は全体を最初から送り直すことになり、要件を満たせない。
  • D誤り。rsyncはファイルシステム間の差分同期ツールであり、オブジェクトストレージのHTTP APIに対しては直接使えない。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く