【heroku】heroku環境では画像は必ずS3に保存しよう
herokuには画像を保存しておけない
しりませんでした。
Instagramのクローンアプリをherokuにデプロイした後、seedデータ(ユーザー、画像)を投入。ルートページにアクセスして確認する、うまくいってるなニッコリ
翌日、ルートページを確認すると画像が表示されなくなってる。みんな経験あるはず
これにはheroku特有の事情があります。
herokuは1日に最低1回、Dynoの再起動があるようです。
Dynoってなんだ?って思って調べると。。。そもそもherokuの実体ってEC2のようでして、そのEC2上で起動しているコンテナがDynoらしい
そのコンテナが再起動し、その時local filesystemがリセットされると公式にも書かれております
Dynos and the Dyno Manager | Heroku Dev Center
アプリ自体は消えてしまわないのー?って思うかもしれませんが、git pushに含まれる分は消えないようです。
多分ですけど、herokuのリポジトリから再起動ごとにpullしてくれてるんでしょう。
ただ、ユーザーデータ、リレーションデータ等のseedは残りますね。なんでだろう、間違った理解をしているのかなぁ
S3(外部ストレージ)を使おう
S3じゃなくてもいいけど。自分へのリマインダーです。