ぼくらの勉強

ぼくらのための勉強をしていきます。

【Rails】EC2 Active Storageを利用してS3に画像をアップロード、表示

      2019/11/12

Active Storage機能利用に必要なRailsのバージョン

Rails 5.2.0以上

1.ImageMagickのインストール

Mac(開発環境)

$ brew install imagemagick

EC2(本番環境)

以下の記事を参考にしてEC2にImageMagickをインストールする。
https://qiita.com/takamicii/items/ad319e5af95dbd8fdf31

2.gemのインストール、ActiveStorage有効化

gem 'mini_magick', '~> 4.8'
gem "aws-sdk-s3", require: false

上のようにGemfileに追記して

$ bundle install

でgemをインストール。

ActiveStorageを利用するために

$ rails active_storage:install
$ rails db:migrate

を実行。

3.S3へのアクセス権限を持ったIAMユーザーの作成、RailsでのActiveStorage設定

以下の記事を参考に設定。
https://qiita.com/NaokiIshimura/items/b5fabc4b8bd9f54de3b4

ただし本番環境ではmaster.keyの作成、設定を改めてする必要があるので以下の記事を参考に。
https://qiita.com/NaokiIshimura/items/2a179f2ab910992c4d39

4.Active Storage機能を使った画像管理機能をRailsに実装

以下の記事
https://qiita.com/hmmrjn/items/7cc5e5348755c517458a

と以下の記事の「Active Storageでの実装」項目以降が参考になる。
https://qiita.com/kazuomatz/items/3cdbd2c40576c2e9d89b