AWS ELB 未与 EC2 实例正确配置

AWS ELB 未与 EC2 实例正确配置

我有一个正在运行的 EC2 实例,我想将它和一份副本一起放置在弹性负载均衡器后面,但我无法让它工作。

ELB 设置:

  • 端口:ELB HTTP:80 -> EC2 HTTP:80,默认 VPC
  • 安全组:AWS-OpsWorks-LB 服务器
  • 健康检查: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,错误请求,但很确定“/”路径是正确的,因为我在 /var/www/html 中有一个正在运行的 Drupal 实例。

我也不认为问题出在安全组,因为如果我使用完全相同的 ELB,并通过 AWS OpsWorks 启动一个新的 EC2 实例作为 PHP 应用服务器,那么 ELB 就可以正常工作。

我假设我一定是缺少一些包或配置,但查看 AWS 用于构建 PHP 应用服务器的 Chef 11 配方,很难看出我忘记了什么。

有什么想法吗?

答案1

好的,解决了这个问题——至少在不知道根本原因的情况下让它工作了。感谢TJ桑德斯为我指明了正确的方向。

无论出于什么原因,AWS GUI 向导不是尽管基于浏览器的分步创建过程建议注册实例,但我还是没有成功。相反,我从我的 EC2 实例输入:

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

然后它就成功了。

相关内容