質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.31%
Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

571閲覧

AWS,ELB(ALB)のターゲットグループのヘルスステータスが「Unhealthy」になり解決できない。

Takanoj

総合スコア38

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2024/06/17 13:41

編集2024/06/20 08:11

実現したいこと

ECSonFargateに乗せた、アプリをアクセスできるようにしたい。

発生している問題・分からないこと

【構成】
・ECSonFargate
・ELB ALB
・リスナーとルール
ポート443
ターゲットグループ
HTTP80
アプリ:React

上記で作成しており、インフラ部分を担当しているのですが、ターゲットグループの部分が解決できず、困っております。

また、エラー箇所のどの部分を修正すれば良いか見当もつかず、お力をいただければ幸いです。

【エラー箇所】
イメージ説明

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

検索後、ヘルスチェックが怪しいとわかった。

補足

どこどこをチェックした方が良いなど、抽象的な回答でもよろしいので、ヒント程度でもコメントをしていただけるとありがたいです。

設定値

サービス
イメージ説明

ログ
イメージ説明

サービス構成
イメージ説明

ELB側
リスナーとルール
イメージ説明

リソースマップ
イメージ説明

ターゲットグループ
ターゲット
イメージ説明

ヘルスチェック
イメージ説明

タスク定義(Json)
イメージ説明

ターゲットグループ
イメージ説明

イメージ説明

イメージ説明

ALBセキュリティグループ
イメージ説明

コンテナセキュリティグループ
イメージ説明

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

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

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

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

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

yu_1985

2024/06/17 14:15

ターゲットグループ HTTP80 アプリ:React と記載していますが、スクリーンショットを見ると8080になっています。 ヘルスチェックが想定通りのポートに送れてないのではないでしょうか。 言葉での説明ではなくて該当箇所のスクリーンショットをすべて貼ってください。実際の設定をみたいです。
yu_1985

2024/06/17 14:17

Unhealthyになっているのはヘルスチェックに失敗しているからです。 何らかの理由でターゲットに対するヘルスチェックのリクエストがうまく行ってないので、その原因を切り分けていく必要があります。
winterboum

2024/06/17 22:58

ヘルスチェックを どの様に 定義したのか それをどの様に実装したのか は回答を考える上で必要です。 Webサーバでのアクセスログ、エラーログがあるともっとよいです。
hqf00342

2024/06/18 01:52

ターゲットグループを作成した際にヘルスチェックの設定をしたはずです。質問中の画像に「ヘルスチェック」というタブがあるのでそれを押してパスやプロトコル等を確認しましょう。それで解決方法が分からなければその画面もアップするとコメントが付くと思います。
Takanoj

2024/06/18 09:00

ご連絡ありがとうございます。 ダメ元で投稿をしたので、所々雑な記述となりました。。。 補足の部分を追加で、スクリーンショットを添付いたしましたので、ご確認いただければ幸いです。
Takanoj

2024/06/18 09:12

各種設定値添付いたしました。 お暇であれば、ご確認いただければ幸いです。
winterboum

2024/06/18 09:23

ヘルスチェックは / へのアクセスになっているようですね。 / はどのような仕掛けにしてありますか? / へのアクセスlogはどうなってますか
Takanoj

2024/06/18 09:44 編集

ご連絡ありがとうございます。 >ヘルスチェックは / へのアクセスになっているようですね。 >/ はどのような仕掛けにしてありますか? 特に設定はしておりません。 なので、デフォルト設定となります。 >/ へのアクセスlogはどうなってますか ELBのアクセスlog設定はしていなかったので、今設定をしてログを取得中となります。
yu_1985

2024/06/18 11:12 編集

ECSのアプリケーションをポート3000で起動していて、にも関わらずターゲットグループのポートが8080になっています。 少なくとも、これらを合わせる必要があります。 また、ECSのタスクが使用しているセキュリティグループがALBからのリクエストを許可する設定になっているか確認してください。必要があればそれらの設定もスクリーンショットを貼ってください。 ヘルスチェックの失敗はインターネットからALBがどうリクエストを受けたかとは関係ないので、ALBのアクセスログを見ても意味はないです(ALBのログを出力しておくことは別のところで役に立ちますけどね。) ECSのタスクは単にnext.jsのアプリケーションを起動するだけですか? タスク定義の設定も適宜マスクしたうえで貼ってみてください。 気になるのはポートをどう設定しているかです。
Takanoj

2024/06/20 08:07

ご連絡ありがとうございます。 風邪で寝込んでおり、回答が遅くなってしまいました。 コメントの方を読ませていただき適切に設定を変更したのですが、うまくいきません。 情報追加で記載いたしますので、お手隙のさい、ご確認いただければ幸いです。 追加箇所 ・タスク定義ポート ・ターゲットグループポート ・コンテナセキュリティグループ(ガバガバな設定をしています。) ・ALBセキュリティグループ お手隙の際、ご確認いただければ幸いです。
yu_1985

2024/06/20 08:10

追加されてないように見えますので再度ご確認ください。
Takanoj

2024/06/20 08:12

失礼しました。 追加前にコメントしてしまいました。 追加いたしましたので、お手数ですが、更新等行なっていただければ幸いです。
yu_1985

2024/06/20 08:16

設定を変更したあとのターゲットグループの状態はどうなってますか。正常とも異常とも出てないように見えますけれど。
Takanoj

2024/06/20 08:22

3000に変更したら、ターゲットグループに到達する前に転けてしまいました。
yu_1985

2024/06/20 09:42

具体的な挙動を記載してください。到達する前に転けてしまったとはどういうことですか? 変更後のターゲットグループは上の方しか映っていませんが、登録したターゲットの情報も見えるように差し替えられますか。
guest

回答1

0

ヘルスチェックは / へのアクセスになっているようです。
ここが
「特に設定はしておりません。なので、デフォルト設定となります。」
というと http:IPaddress/ へアクセスしても失敗する?

ヘルスチェックは そこへの http でのアクセスが 成功(200) にならなければなりません。
リダイレクト(3xx) では駄目です。
http:IPaddress:80/ へのアクセスが成功するようにWebサーバを設定してください。

ただ、、、実際のWebサーバはport が8080なのですね。
とすると
リスナーの http port80 は http port8080 にする必要があります。
ヘルスチェックも port80向いてますが、これも 8080 にする必要があります。

さもなくば Webサーバを80で動かしてください

投稿2024/06/18 10:20

winterboum

総合スコア23645

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問