-1

私のEC2インスタンスでは、私のアプリケーションはポート80を使用しているため、ApacheをインストールしてELBヘルスチェックを成功させることはできません。 HTTP/80 のPingパス - -AWS ELBロードバランサは健全性チェックに失敗します(HTTP)

/index.htmlがそして、私はは/ var/WWWと/ varでこのindex.htmlのを配置している私はポートを使用していますELBのヘルスチェック設定について

、 /www/html /ディレクトリにもあります。

<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
<HTML> 
<BODY> 
   <H1>Hi</H1> 
   <P>Hello to the World.</P> 
</BODY> 
</HTML> 

これが健康診断に失敗した原因を教えてください。 これがなければ、EC2インスタンスにトラフィックは送信されません。

+0

あなたは、Apacheをインストールし、それがポート80に耳を傾け行い、その後、唯一のヘルスチェックが成功するApacheの設定ファイルのドキュメントルートとしてこのパス/ var/www/htmlと設定/を追加する必要があります。 HTTPの代わりにそのヘルスチェックをTCPに変更することもできます。 – error2007s

+1

要するに、httpヘルスチェックを渡すための何らかの種類のWebサーバーが必要です。 – error2007s

+0

私のアプリはポート80を使用しているので、80を無料にしたいので、Apacheの追加はオプションではないと思います。私がTCPに変えれば - 私は何をしなければならないのですか? – Sharad

答えて

0

ページが200応答を返す限り、最終的にヘルスチェックに合格するはずです。ヘルスチェックの設定には、ヘルスチェックが良好な結果を返す必要がある回数と、それを確認する頻度が含まれます。したがって、30秒ごとにチェックを入れて5という健全なカウントを得るには、健康的な状態に戻すのに2.5分かかるでしょう。

HTTPヘルスチェックが失敗している場合は、設定済みのサーバーも

あたりのように、ポート8080または80のTCPヘルスチェックでそれをしようと、念のため、あなたのVPCの設定がロードからの接続を許可することを確認してくださいEC2インスタンスへのバランサ。同じサブネット内にあるが、ネットワークACLが異なるサブネット間の接続に影響を与える場合、これは自動的に行われます。

も確認してください。

ELBの背後にあるインスタンスはWebサーバーを実行していますか?そうであれば '200'(OK)を返しますか?そうでなければ、それはあなたの問題です。

200を返すWebサービスを実行している場合、セキュリティグループはELBに対して開いていますか?つまり、ELBのソースセキュリティグループがインスタンスのセキュリティグループに許可されている必要があります。

ping pathは、ブラウザにELBのURLを入力した後にヒットしたいファイル名にする必要があります。

+0

Apacheを必要としないのでHTTPを使用できませんでした。問題が見つかりました..一度私のLB用の新しいセキュリティグループを作成し、それをEC2用に使用されているSGのIBとして保管しておけば、正常に動作しました。同じSGをLB&EC2に保持することは、何らかの理由で中断してしまいます。 http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-groups.html – Sharad