LoginSignup
8
6

More than 3 years have passed since last update.

Aws::Sigv4::Errors::MissingCredentialsError 本番環境へのアップロード

Last updated at Posted at 2020-02-04

初めての投稿で緊張しておりますが、ようやくエラー解除できたので、共有します!:raised_hand:

rails5.2で作成したアプリケーションをHerokuへアップロードする際に出たエラーです。
エラーの主な原因としてAWSのS3機能とRails5.2以上から登場したCredentialの機能をHerokuに上手く設定できなかったことが原因みたい。:cry:

(具体的な内容)
Herokuにアップロードし、heroku openをすると
84308945cc9dcd981c2d383e42478eb7.png
こちらのエラーが出てきてなかなか開けません。

ですので、heroku run rails cでエラーの内容を確認すると、以下のエラー内容が表示されます。(Aws::Sigv4::Errors::MissingCredentialsError)
スクリーンショット (311).png

terminal.
missing credentials, provide credentials with one of the following options:
  - :access_key_id and :secret_access_key
  - :credentials
  - :credentials_provider
  • access_key_id and secret_access_key
  • credentials
  • credentials_provider のうちいずれかが上手く設定できていないみたい。
$ rails c
irb(main):001:0> Rails.application.credentials.secret_key_base
=>nil

ここが設定できていないのが原因のようだ
ここで同じような原因で悩む記事を発見しました!
rails エラー
(Aws::Sigv4::Errors::MissingCredentialsError)がわかりません。
こちらの方はHerokuのssettingからConfig Varsに
・AWS_ACCESS_KEY_ID
・AWS_SECRET_ACCESS_KEY
・AWS_DEFAULT_REGION
を設定したところ解決できたようです。

エラーが起こっているherokuに上げているアプリケーションのSetting(鍵マーク)→Config Varsを選択します。
スクリーンショット (312).png

こちらを参考に、
Config Varsのより
KEYにそれぞれ
・AWS_ACCESS_KEY_ID
・AWS_SECRET_ACCESS_KEY
・AWS_DEFAULT_REGIONを設定し、VALUEにIAMから作成したシークレットキーとシークレットアクセスキー、リージョン(たぶん東京の人が多いはず)を入力していきます。
その後、

$ heroku run rails c 
Running rails c on ⬢ herokuapplication2020... up, run.3100 (Free)
Loading production environment (Rails 5.2.4.1)
irb(main):001:0> 

エラーが出ない!嬉しい限りです。:relaxed:
そして、、、

$ heroku open
 ▸    Error opening web browser.
 ▸    Error: Exited with code 3
 ▸    
 ▸    Manually visit https://herokuapplication.herokuapp.com/ in your
 ▸    browser.

Herokuにアクセスできるようになった!
以上より解決👏👏👏

Herokuに上げた後に直接環境変数を記述するのは初めてだったので、戸惑いましたが、なんとか完了!ターミナルからも本来はできると思うので、ここらへんの知識をもっと勉強しなくてはなりません。💦

8
6
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
8
6