LoginSignup
0
0

More than 1 year has passed since last update.

[Rails] ActiveStorageの画像の保存先をAmazon S3にする~番外編 Herokuでも使えるようにする~

Posted at

はじめに

前回はActiveStorageの画像をS3に保存する方法を三回にわたって説明してきました。しかしそれはローカル環境での話でした。今回は本番環境の Herokuでも同じようにS3へ保存させるようにします。

前回までの①〜③までが完了している状態から始めさせていただきます。
よろしくお願いします。

production.rbを編集

アプリのconfig/environments/production.rbファイルを編集します。
現在の設定ではactivestorageの画像の保存先がローカルに設定されているのでS3に変更します。

下記の記述が存在するか確認してください。

config/environments/production.rb
# ~省略~

config.active_storage.service = :local

# ~省略~

この「:local」を→「:amazon」に変更します。

config/environments/production.rb
# ~省略~

config.active_storage.service = :amazon

# ~省略~

これでアプリ側の設定は完了です。
後はHerokuの環境変数を設定してあげます。

Heroku上で環境変数を設定する

下記のコマンドでターミナルでHerokuの環境変数を設定します。

ターミナル
% heroku config:set AWS_ACCESS_KEY_ID="CSVファイルのAccess key IDの値を貼り付け"

% heroku config:set AWS_SECRET_ACCESS_KEY="CSVファイルのSecret access keyの値を貼り付け"

※ダブルクォーテーションは必要です。

ちゃんと設定されたか確認をします。
下記のコマンドを実行して設定した環境変数が表示されればOKです。

ターミナル
% heroku config

全て完了したら% git push heroku masterで本番環境にpushして反映させてください。

最後に前回の記事と同じように、本番環境で画像を投稿し、AWSのS3のページでその画像がS3に保存されているか確認してください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0