【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