やりたいこと
Railsで3GB程の動画ファイルを、s3にアップロードしたい。
詳細
動画配信サービスを開発しています。nginx、unicornを使ってサーバを立てています。
ブラウザにアップロードされた動画ファイルをs3に保存したいと考えています。form_forでfile_fieldを用いて動画ファイルを受け取っています。
それをActiveStorageを使ってAWSのs3にアップロードしています。
問題点
400MB以下の動画ならば正常にアップロードされます。(1時間程かかりますが)
400MB以上の動画ファイルをアップロードすると、エラーアラートが表示されてアップロードに失敗します。(そのエラーが出るまでに2時間ほどかかる)
試した事
- ダイレクトアップロードにする。
- nginx及びunicornのタイムアウト設定を伸ばす。
- nginxで最大ファイルサイズ設定を大きくする。
- nginx-upload-moduleを用いる。
環境
- Rails: 5.2.1
- Ruby: 2.5.1
- OS: CentOS7(AWSのEC2インスタンス)
- 通信はhttpsです。
質問
- s3に3GB程の動画ファイルをアップロードするにはどのようにすればよろしいでしょうか?
- みなさまは普段どのような工夫をして大容量ファイルをs3にアップロードするのでしょうか?
よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー