質問するログイン新規登録
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

513閲覧

ターゲットのヘルスステータスがunhealthyなのでそれを改善したい

YUKIYA

総合スコア1

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2023/06/14 06:35

0

0

実現したいこと

ここに実現したいことを箇条書きで書いてください。
https://<ドメイン名>
で検索フォームに入力したらアプリケーションが表示されるようにしたいです。

前提

AWSのEC2とnginxでデプロイをしてます。
ドメインを取得したのでAWSの「AWS Certificate Manager」を使用し
HTTPS対応にさせるため、「ACM」と「AWS Route 53」を紐づけました。
ロードバランサーとターゲットグループを作成し、ホストゾーンのレコードを編集、
保存を押して、いざ検索....https://<ドメイン名>してもタイムエラーになります。
IPアドレスも入力してみたのですが、結果は同じでした。
これらの設定をする前まではhttpですが問題なく表示されていたので何が原因なのか分かりません。

そこで一つエラーを見つけました。
EC2 > ターゲットグループ > アプリ名 > ターゲットの登録

発生している問題・エラーメッセージ

ヘルスステータス:unhealthy

試したこと

nginxのテスト、再起動はしてます。
これらの操作自体が初めてなので他に試せそうなことが見当たりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ロードバランサーのヘルスチェックに失敗しています

参考)
https://skrum.co.jp/blog/alb-health-check-fails/

ロードバランサーからの定期的な「ヘルスチェックのアクセス」に対して内容は何でも良いので、レスポンスコードを200で返すようにしてください。ロードバランサーはIPアドレスでアクセスしてくるので、nginxのデフォルトの設定にロードバランサーのアクセスに対応するにして、FQDN(ドメイン名)でのアクセスはnginxのヴァーチャルホスト設定で対応するようにするのが定番かと思います。

投稿2023/06/14 06:42

編集2023/06/14 07:50
AbeTakashi

総合スコア4960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YUKIYA

2023/06/14 07:26

ご回答いただきありがとうございます。参考URL拝見しまして同じように操作しましたが解決せずでした...
AbeTakashi

2023/06/14 07:41

ヘルスチェックのunhealthyに関しては、ほぼ間違いなくロードバランサーのヘルスチェックのアクセスに対してレスポンスコード200を返していないからです。ちゃんと200を返していることを確認できていますか? nginxのアクセスログはチェックしたでしょうか? 今一度、しっかりチェックされるといいかと思います。200を返していているのであれば、それは対象のロードバランサー以外のアクセスの可能性もあります。アクセス元IPアドレスなどを確認するなどして、対象のロードバランサーに対して200を返せているかをご確認ください。 もちろんヘルスチェックがunhealthyからhealthyに変わったとしても、アクセスできない要因は複数にまたがる場合もあるので、そこはまた一つ一つ地道に対応していくしかないとは思います。
maisumakun

2023/06/14 07:48 編集

ありがちなパターンとして、「302でリダイレクトしている」ということもあります。ヘルスチェックだけはリダイレクトせずに直接200を返さなければなりません。
YUKIYA

2023/06/17 07:29

セキュリティグループが「SSH」「HTTPS」のみになっていたので「HTTP」を追加したら問題なく動きました。 ご回答いただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問