railsでpaperclipを使ってamazon s3に画像を保存する
TRANSCRIPT
![Page 1: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/1.jpg)
RailsでPaperclipを使ってAmazon S3に
画像を保存するaguuu Inc.
tochi
![Page 2: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/2.jpg)
自己紹介• aguuu Inc.
• tochi (Tochihira)
• @aguuu
• iOS、Ruby、PHP
• JAWS-UG岡山支部長
![Page 3: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/3.jpg)
http://www.aguuu.com/archives/2012/12/paperclip/
![Page 5: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/5.jpg)
岡山Git勉強会http://local.aguuu.com/events/11120
![Page 6: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/6.jpg)
第1案
•Webサーバーのローカルに画像ファイルとして保存する。
![Page 7: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/7.jpg)
第1案 問題点
• DeployにCapistranoを使っているのでゴニョゴニョしないといけない。
•Webサーバーをスケールアウトする場合にWebサーバー間での画像の同期が必要。
![Page 8: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/8.jpg)
第2案
• DBにバイナリデータとして画像ファイルを保存する。
![Page 9: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/9.jpg)
第2案 問題点
•画像の呼び出し時にネットワーク負荷が大きい。
• OGPの画像表示が上手くいかない。
![Page 10: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/10.jpg)
Open Graph Protocol
<meta property="og:image" content="event/get_image" />
![Page 11: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/11.jpg)
第3案
• Amazon S3に画像ファイルとして保存する。
![Page 12: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/12.jpg)
S3使用時の構成
<img alt="Original" src="http://s3-ap-northeast-1.amazonaws.com/local.aguuu.com/images/7/original.png?1358387686">
![Page 13: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/13.jpg)
Paperclipの準備
![Page 14: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/14.jpg)
画像情報を保存する項目の準備
DB項目:image_file_name: stringimage_content_type: stringimage_file_size: integerimage_updated_at: datetime
![Page 15: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/15.jpg)
モデルに画像の項目を追加
![Page 16: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/16.jpg)
S3のキー情報を記述
![Page 17: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/17.jpg)
画像を保存・表示してみる
![Page 18: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/18.jpg)
S3使用時の構成
![Page 19: Railsでpaperclipを使ってamazon s3に画像を保存する](https://reader033.vdocuments.mx/reader033/viewer/2022042818/55af79d61a28ab34568b4662/html5/thumbnails/19.jpg)
Please enjoy the development