📝

EC2の再起動時に実施する操作

2023/01/18に公開

背景

ThchCampの卒業制作で作成したオリジナルアプリを、AWSにデプロイしていますが、
これまでデプロイで多くのエラーを経験してからというもの、環境に変化を加える事に臆病になり、EC2を永遠立ち上げっぱなしにしていました。。。

毎月1000円ちょっとくらいの請求なので、そのままでもいいんですが、
AWSの資格取得ができて、ひと段落ついたので、失敗しても勉強だ!!!
っという思いでEC2を再起動したら案の定エラーなったので、その解決方法を掲載しておきます。

初学者で同じように何かやったらエラーになるんじゃないか。。。
っと不安に思っている方の一助になれば幸いです。

結論

EC2の再起動後は以下3つを起動する必要がある

  1. DB Server
  2. AP Server
  3. Web Server

当たり前じゃん!っという内容かもしれませんが、私にとっては全てがフレッシュな経験でした。

環境

EC2
DB:mariadb
web:nginx
AP:unicorn
Mac 13.0.1
Rails 6.0.6
ruby 2.6.5p114

※DB,AP,Web全て一つのEC2インスタンスで稼働させています。

事前に調べていた事

ノリで環境変化を加えてはいけない事を身に染みて理解していたので、
以下サイトを参考にして、WebServer(nginx)とAP Server(unicorn)を起動する必要がある事を下調べをしてから、EC2の再起動に臨みました!!
https://naozuminumata.com/aws-502-bad-gateway/

ちなみに、EC2再起動後にWebServerは起動できましたが、AP Serverを起動すると、以下エラーが表示されました。

master failed to start, check stderr log for details

各種Serverの起動方法と順番

①mariadbの起動

sudo systemctl start mariadb

②unicornの起動

bundle exec unicorn_rails -c config/unicorn.rb -E production -D

③nginxの起動

sudo systemctl start nginx

※nginxは順不同で起動可能です。

mariadb、nginxの起動状況確認

sudo systemctl status mariadb
sudo systemctl status nginx

以下はmariadbをの起動状況を確認した際の結果です。
Active: activeになっていればOKです

● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
   Active: active (running) since 水 2023-01-18 03:26:01 UTC; 4s ago

Discussion