web-dev-qa-db-ja.com

AWSELBがEC2インスタンスで正しく設定されていない

Elastic Load Balancerの背後にコピーと一緒に配置したいEC2インスタンスが機能していますが、機能させることができません。

ELB設定:

  • ポート: ELB HTTP:80-> EC2 HTTP:80、デフォルトVPC
  • セキュリティグループ: AWS-OpsWorks-LB-Server
  • ヘルスチェック: HTTP、80、/
  • EC2インスタンス:動作中のEC2インスタンス

ELBを押すと、503エラーコードが直接返されます。

EC2インスタンスのApacheログを掘り下げると、次のようになります。

x.x.x.xx - - [18/Feb/2016:14:21:18 +0000] "GET / HTTP/1.1" 400 52 "-" "ELB-HealthChecker/1.0"

ELBヘルスチェックは400、Bad Requestを返しますが、/ var/www/htmlに動作中のDrupalインスタンスがあるため、「/」パスが正しいことを確認してください。

まったく同じELBをそのまま使用し、新しいEC2インスタンスをPHP App Server via AWS OpsWorks、)として起動すると、セキュリティグループにも問題はないと思います。 ELBは正常に機能します。

一部のパッケージまたは構成が欠落している必要があると思いますが、AWSがPHP App Serverを構築するために使用するChef11レシピを調べると、忘れたものを確認するのは困難です。

考え?

1
OrdinaryHuman

OK、これを解決しました-ええと、少なくとも根本的な原因を正確に知らなくても機能しました。 TJ Saunders 私を正しい方向に向けてくれてありがとう。

何らかの理由で、AWS GUIウィザードはインスタンスを登録しませんでしたnot。ステップバイステップのブラウザベースの作成プロセスは、登録したことを示唆しています。代わりに、EC2インスタンスから次のように入力しました。

aws elb register-instances-with-load-balancer --load-balancer-name my-elbs-name --instances my-ec2-instance-id

そしてそれはうまくいった。

1
OrdinaryHuman