EC2インスタンスの変更方法
インスタンスが起動中であれば、まず停止します。 その後、「アクション」→「インスタンスの設定」→「インスタンスタイプの変更」をクリックすればOK。簡単すぎてびっくりします。 変更が完了したら起動してください。


変更後のインスタンスでRailsが動いていない…?
Railsアプリをデーモンで起動しようとしたところ、うまくいっていない模様。
$ sudo service hogehoge status ● hogehoge.service - LSB: starts hogehoge (a rails app) Loaded: loaded (/etc/init.d/hogehoge; bad; vendor preset: enabled) Active: active (exited) since Sat 2019-04-27 10:18:14 JST; 10s ago Docs: man:systemd-sysv-generator(8) Process: 2490 ExecStop=/etc/init.d/hogehoge stop (code=exited, status=0/SUCCESS) Process: 2494 ExecStart=/etc/init.d/hogehoge start (code=exited, status=0/SUCCESS) Apr 27 10:18:12 ip-172-31-11-246 systemd[1]: Stopped LSB: starts hogehoge (a rails app). Apr 27 10:18:12 ip-172-31-11-246 systemd[1]: Starting LSB: starts hogehoge (a rails app)... Apr 27 10:18:14 ip-172-31-11-246 hogehoge[2494]: master failed to start, check stderr log for details Apr 27 10:18:14 ip-172-31-11-246 systemd[1]: Started LSB: starts hogehoge (a rails app).
ふむ、master failed to start, check stderr log for details
とのこと。しかし、ログを見ても原因はわからずでした。困った…
しばらく原因を調査したところ、メモリ不足のせいで落ちていると分かりました。 インスタンス変更時にこれまでよりもメモリが少ないタイプに変更していたのです。
PostgreSQLの設定ファイルをいじって、使用するメモリの量を以下のように変更しました。 これまでT2.largeインスタンス(8GB)だったので、shared_buffersに2GBを割り当てていたのですが、今回T2.micro(1GB)に変更したのでshared_buffersは256MBにしました。
sudo vi /etc/postgresql/9.4/main/postgresql.conf
# - Memory - shared_buffers = 256MB # min 128kB
PostgreSQLを再起動すると、今度はうまくいきました。
$ sudo service hogehoge status ● hogehoge.service - LSB: starts hogehoge (a rails app) Loaded: loaded (/etc/init.d/hogehoge; bad; vendor preset: enabled) Active: active (running) since Sat 2019-04-27 10:34:23 JST; 2h 31min ago Docs: man:systemd-sysv-generator(8) Process: 3628 ExecStop=/etc/init.d/hogehoge stop (code=exited, status=0/SUCCESS) Process: 3632 ExecStart=/etc/init.d/hogehoge start (code=exited, status=0/SUCCESS) Tasks: 5 Memory: 130.3M CPU: 4.987s CGroup: /system.slice/hogehoge.service ├─3695 unicorn_rails master -c /home/hogehoge/hogehoge-atsume/config/unicorn.rb -D -E production └─3700 unicorn_rails worker[0] -c /home/hogehoge/hogehoge-atsume/config/unicorn.rb -D -E production Apr 27 10:34:20 ip-172-31-11-246 systemd[1]: Starting LSB: starts hogehoge (a rails app)... Apr 27 10:34:23 ip-172-31-11-246 systemd[1]: Started LSB: starts hogehoge (a rails app).
めでたし、めでたし。
インスタンスタイプを変更してメモリが少なくなったら、これまで動いていたアプリケーションの使用メモリも小さくすべきというお話でした。
以上、 良い記事だと思っていただけた方は下の「★+」ボタンのクリック、SNSでのシェア、「読者になる」ボタンのクリックをお願いいたします。 それではまた〜