質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.33%

  • Ruby on Rails

    7716questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AmazonS3登録後にApplication Errorが出ました。

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 280

Sugisan

score 4

*初学者です。お手柔らかにご教示頂けますと幸いです。

Herokuでアップロードした画像が時間経つと消える問題が発生していたので、記事通りにAmazon S3を登録してプログラムを書いて、Git commitして、heroku openしたらブラウザ上で以下のようなエラー文が表示されました。

Application error
An error occurred in the application and your page could not be served. 
If you are the application owner, check your logs for details.


(https://アプリ名.herokuapp.com/) 
よくわからないエラー文だったので、heroku logsで確認しました。

ログには以下のエラーが繰り返されていました。

2018-07-28T03:50:29.821941+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=xxxxxxxxxxxx.com request_id=host=xxxxxxxxxxxx fwd="host=xxxxxxxxxxxx" dyno= connect= service= status=503 bytes= protocol=https
2018-07-28T03:50:35.328051+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=host=xxxxxxxxxxxx.com request_id=xxxxxxxxxxxx fwd="xxxxxxxxxxxx" dyno= connect= service= status=503 bytes= protocol=https
2018-07-28T04:27:52.249864+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=xxxxxxxxxxxx.com request_id=host=xxxxxxxxxxxx fwd="host=xxxxxxxxxxxx" dyno= connect= service= status=503 bytes= protocol=https
2018-07-28T04:27:52.665188+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=host=xxxxxxxxxxxx.com request_id=xxxxxxxxxxxx fwd="xxxxxxxxxxxx" dyno= connect= service= status=503 bytes= protocol=https
2018-07-28T07:32:44.528767+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=xxxxxxxxxxxx.com request_id=host=xxxxxxxxxxxx fwd="host=xxxxxxxxxxxx" dyno= connect= service= status=503 bytes= protocol=httpsheroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=xxxxxxxxxxxx.com request_id=host=xxxxxxxxxxxx fwd="host=xxxxxxxxxxxx" dyno= connect= service= status=503 bytes= protocol=httpsheroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=xxxxxxxxxxxx.com request_id=host=xxxxxxxxxxxx fwd="host=xxxxxxxxxxxx" dyno= connect= service= status=503 bytes= protocol=https
2018-07-28T07:32:44.971320+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=host=xxxxxxxxxxxx.com request_id=xxxxxxxxxxxx fwd="xxxxxxxxxxxx" dyno= connect= service= status=503 bytes= protocol=https
2018-07-28T07:41:04.312419+00:00 app[api]: Starting process with command `bin/rails console` by user XXXXXXXXXXX
2018-07-28T07:41:14.211907+00:00 heroku[run.3441]: Awaiting client
2018-07-28T07:41:14.283555+00:00 heroku[run.3441]: Starting process with command `bin/rails console`
2018-07-28T07:41:14.289348+00:00 heroku[run.3441]: State changed from starting to up
2018-07-28T07:41:26.906739+00:00 heroku[run.3441]: Process exited with status 1
2018-07-28T07:41:26.921985+00:00 heroku[run.3441]: State changed from up to complete
2018-07-28T09:23:25.195336+00:00 app[api]: Starting process with command `bin/rails console` by user XXXXXXXXXXX
2018-07-28T09:23:36.926778+00:00 heroku[run.7888]: State changed from starting to up
2018-07-28T09:23:36.856143+00:00 heroku[run.7888]: Awaiting client
2018-07-28T09:23:36.916641+00:00 heroku[run.7888]: Starting process with command `bin/rails console`
2018-07-28T09:23:49.706539+00:00 heroku[run.7888]: Process exited with status 1
2018-07-28T09:23:49.725755+00:00 heroku[run.7888]: State changed from up to complete
2018-07-28T09:28:45.022500+00:00 app[api]: Starting process with command `rails db:migrate` by user XXXXXXXXXXX
2018-07-28T09:28:55.395241+00:00 heroku[run.1816]: State changed from starting to up
2018-07-28T09:28:55.331343+00:00 heroku[run.1816]: Awaiting client
2018-07-28T09:28:55.567885+00:00 heroku[run.1816]: Starting process with command `rails db:migrate`
2018-07-28T09:29:06.794224+00:00 heroku[run.1816]: Process exited with status 0
2018-07-28T09:29:06.966385+00:00 heroku[run.1816]: State changed from up


こんな感じです。

heroku run consoleをしてみると、以下のようにも表示されてしまいます。

Running console on ⬢ XXXXXXXXXXX... up, run.5382 (Free)
/app/vendor/bundle/ruby/2.3.0/gems/aws-sigv4-1.0.3/lib/aws-sigv4/signer.rb:517:in `extract_credentials_provider': Cannot load `Rails.config.active_storage.service`: (Aws::Sigv4::Errors::MissingCredentialsError)
missing credentials, provide credentials with one of the following options:
  - :access_key_id and :secret_access_key
  - :credentials
  - :credentials_provider
    from /app/vendor/bundle/ruby/2.3.0/gems/aws-sigv4-1.0.3/lib/aws-sigv4/signer.rb:121:in `initialize'
    from /app/vendor/bundle/ruby/2.3.0/gems/aws-sdk-s3-1.17.0/lib/aws-sdk-s3/plugins/s3_signer.rb:189:in `new'
    from /app/vendor/bundle/ruby/2.3.0/gems/aws-sdk-s3-1.17.0/lib/aws-sdk-

まとまらない文章で申し訳ございません。
どたなかご教示頂けますと幸いです。

よろしくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • takahashim

    2018/07/26 02:45

    出ているエラーは https://teratail.com/questions/48188 と似ているようですね。この感じだと、このエラー行だけを見てもわからないので、残りのログも掲載していただく必要がありそうです。 ちなみに `heroku run rails console` は正常に実行できますか?

    キャンセル

  • Sugisan

    2018/07/28 19:18

    類似エラーをご教示頂きありがとうございます。今回で言うとどこの部分を修正すれば良いのか解明することができず、ログの追記および”heroku run rails console”の表示結果も追記致しました。ご確認頂けますと幸いです。。

    キャンセル

  • takahashim

    2018/07/28 21:36

    追記ありがとうございます。なるほどです。詳しくは回答に書いておきますね。

    キャンセル

  • Sugisan

    2018/07/30 23:21 編集

    @takahashim ご回答頂きありがとうございます! ご指摘頂いた部分を重点的にみて怪しい部分を直しました! 根本的な確認ミスなのですが、今までプッシュ先を誤ったところにしていたようで行った変更がリモートリポジトリにうまく反映されておりませんでした。別で質問を立てさせて頂くので、プッシュが成功しましたら改めて確認しベストアンサーとさせて頂きます。汗

    キャンセル

回答 1

0

heroku run rails consoleの結果は分かりやすいですね。
この中では、

Cannot load `Rails.config.active_storage.service`: (Aws::Sigv4::Errors::MissingCredentialsError)
missing credentials, provide credentials with one of the following options:

といった辺りがポイントで、要するにクレデンシャルがない(あるいは正しく受け取れてない)、ということのようです。

最近のRailsではActiveStorageで画像のアップロードもできるようになったのですが、AWS S3を使うには認証のためのクレデンシャルが必要です。その設定に問題があるようです。リンク先で紹介されているqiitaの記事を見ながら、

  • config/master.key
  • config/credentials.yml.enc
  • config/storage.yml
  • config/environments/production.rb

辺りを確認して、それとheroku config:set RAILS_MASTER_KEY=xxxxxといった処理も行って、どうなるか試してみてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • Ruby on Rails

    7716questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。