CDP:Direct Object Uploadパターン

From AWS-CloudDesignPattern
Jump to: navigation, search

アップロード手順の簡略化

Contents

解決したい課題

写真や動画の共有サイトでは、数多くのユーザから容量の大きいデータがクラウド上にアップロードされる。アップロード処理はサーバ側の負荷(特にネットワーク負荷)が高く、ある程度の規模のサイトでも、アップロードを処理するための専用の仮想サーバが必要なケースがある。

クラウドでの解決/パターンの説明

このパターンは、サイト機能のうちのアップロード処理部分も含めインターネットストレージへ直接行う事で、アップロード処理の負荷をインターネットストレージに分散するためのパターンである。


実装

  • Amazon EC2上で、Amazon S3に対するアップロードフォームを含んだHTMLを生成する。
  • アップロードフォームを使用して、ユーザ側からS3へ直接ファイルをアップロードする
  • S3へファイル転送終了後にフォームに指定してあるURLへリダイレクトされるため、リダイレクト先のサーバでアップロード終了の確認処理を行う

構造

6wNg0ISJczU5Pz1m-99789.png

利点

  • アップロード用のEC2インスタンスを用意する手間とコストがなくなる
  • S3のスケーラビリティを生かして、アップロード処理の負荷を分散できる
  • S3にデータがアップロードされるため、EC2インスタンス間での共有が容易

注意点

  • EC2のみを使用したアップロードに比べて、S3との連携部分の実装が必要となるため、仕組みが複雑になる

その他

  • HTMLフォームを使用したS3へのアップロード機能説明: http://doc.s3.amazonaws.com/proposals/post.htm
  • HTMLフォームは手動で作成する事も可能なため、S3だけでHTMLフォーム配布とアップロードを完結させることも可能

寄贈したアーキテクト

Ninja of Three

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox