【GCP】Cloud RunにRailsをデプロイする際、メモリに注意

はじめましてこんにちは、ひょうどうです。

今回はCloud RunにRailsアプリをデプロイする際にハマった「メモリ問題」の解決策をメモしたいと思います。

起こった現象

Qiitaのこの記事を参考にCloud RunにRailsアプリをコンテナ化したものをデプロイしていたのですが、scssやcoffeeのコンパイルをするための以下のコードが原因でエラーがでていました。

bundle exec rake assets:precompile RAILS_ENV=production

エラーの内容は以下の画像です。

cloud run bug hyodoblog

Cloud Run error: Container failed to start. Failed to start and then listen on the port defined by the PORT environment variable. Logs for this revision might contain more information.

これをそのままググると公式サイトのトラブルシェーディングをはじめに色々できて、他にもアセットコンパイル系の記事を読んでも解決の糸口がわかりませんでした。

解決策

GCPで作業している時に一番忘れがちなログを確認してみた所、普通に解決策が書いてありました...w

cloud run bug hyodoblog

これの一番下に「Memory limit of 256M exeeded with 291M used」

アセットをコンパイルする時のメモリが単純に足りなかったということです。

Cloud Runのメモリを256M→512Mに変更するとすんなりうまくいきました。

まとめ

GCPやAWS上で開発するときよくログを確認することを忘れてしまうので、これからは気をつけていきたいです。


以上

最後までご覧いただきありがとうございます。

それではまたどこかでお会いしましょう!

Twitterでフォローしよう

おすすめの記事