PROGRAMMING

Herokuで画像が消えてしまう!(AWS)

先日作成したECサイトで投稿した画像が消えていた!

という現象があったので、その対処法を今日は軽くやりたいと思います!

ちょっとその作業に手間取ってしまったので、今日は内容が短いです!!笑

作業手順

Amazon S3の設定

まずは画像をアップロードする場所を用意します!

AWSコンソール ➡︎ サービス ➡︎ ストレージ ➡︎ S3 ➡️ バケットを作成するをクリック!

バケットとは、画像などのファイルをアップロードできる場所のことです。

登録するバケット名はなんでもOKです!

あとは全部そのままの設定で大丈夫です!

アクセスキーの作成!

  • AWSコンソール ➡︎ サービス ➡︎ セキュリティ ➡︎ IAMをクリック!

ユーザー ➡️ ユーザーの追加をクリック!

あとは下記のように登録していくだけです!

この後に表示される「アクセスキー ID」と「シークレットアクセスキー」 をメモ帳などにコピペして保管しておく!

Railsの設定!

gem "aws-sdk-s3", require: false
$ bundle install
$ EDITOR=vim rails credentials:edit
# コメントアウトを解除!
aws:
 access_key_id: 先ほどのアクセスキー
 secret_access_key: 先ほどのシークレットアクセスキー

#iキーで編集開始、escで編集終了 、 ZZで保存して終了

下記のコードで入力したコードを確認しましょう!

$ rails credentials:show
amazon:
  service: S3
  access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>  # そのまま
  secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %> # そのまま

  region: us-east-1 #バージニア北部
  bucket: **********  #自分で作成したS3のバケットの名前を記入

config/environments/production.rbを下記のように変更!

config.active_storage.service = :amazon #:localからamazonに変更

Herokuにデプロイ

$ heroku buildpacks:add -i 1 https://github.com/heroku/heroku-buildpack-activestorage-preview
$ git add .
$ git commit -m "added s3 to production"
$ git push heroku master:main
$ heroku config:set RAILS_MASTER_KEY=マスターキーを入力
$ heroku run rails db:migrate
$ heroku open

まとめ

ちょっと今日のはメモ感覚でしたね。。

明日の分はちゃんと書けるように頑張ります😭

最後まで読んでいただきありがとうございます☀️

-PROGRAMMING

Copyright © Iseblog ,@2020 All Rights Reserved.