LoginSignup
1
1

More than 1 year has passed since last update.

【AWS】AMI作成後、502 Bad Gatewayエラーが発生する場合の対処方法

Posted at

概要

ALBの振り分け先WEBサーバを複数用意するため、

  • 既存のEC2インスタンスのAMIを作成
  • 新規インスタンス起動時に上記で作成したAMIを利用
  • ALBのターゲットグループに新しく作成したインスタンスを追加

した上でアクセスすると、

502 Bad Gateway

のエラーが発生し、アクセスできない状態となった。

環境

  • アプリ

    • ruby 3.0.2
    • rails 6.1.4
    • mysql 8.0.31
  • EC2AMI

    • Amazon Linux2 AMI
    • app server : Unicorn
    • web server : Nginx

原因

  • AMI作成時、作成元のEC2インスタンスは再起動される
  • サーバの再起動により、Nginxが停止したことで、そもそもアプリが起動しておらず、接続できなくなっていた

参考

対策

サーバ起動時にNginxも起動するようにしておく

参考

ALB関連の設定が悪さをしていると思い込んでいましたが、初歩的なミスでした、、、。
ちなみに、502 Bad Gatewayの状態だと、

  • セキュリティグループ的に問題なくてもcurlでConnection refusedされる
❯❯❯ curl -v XX.XX.XX.XX(接続先パブリックIPアドレス)
*   Trying XX.XX.XX.XX...
* TCP_NODELAY set
* Connection failed
* connect to XX.XX.XX.XX port 80 failed: Connection refused
* Failed to connect to XX.XX.XX.XX port 80: Connection refused
* Closing connection 0
curl: (7) Failed to connect to XX.XX.XX.XX port 80: Connection refused
  • EC2上の/var/www/my-app/current/log以下のproduction.logやunicorn.stderr.logには何も書き込まれない
    状態になります。当然か。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1