我已经通过 Terraform 构建了 AWS ALB 和目标组,一切看起来都正确,但目标组报告 HTTP、HTTPS 和 TCP 不健康。该实例是 us-east-2 中的 t3.nano,已安装并正在运行 Nginx。
我已经验证了以下内容:
- Nginx 已配置并运行在端口 80 和 443 上
- 安全组允许从 0.0.0.0/0 开始的 HTTP 和 HTTPS
- 实例位于公共子网上(即 0.0.0.0/0 路由到 IGW)
如果我从 Internet 访问实例的公共 IP,则会显示“欢迎使用 nginx!”页面。此请求会显示在 /var/log/nginx/access.log 中。 tcpdump 端口 80显示来自互联网的请求,但没有显示 AWS 健康检查。
我以前使用过 ALB 和目标组,从未遇到过这样的问题。唯一的区别是这个实例是使用 Terraform 创建的。
答案1
我认为你需要在你的资源中配置该target_type
参数lb_target_group
。默认值是 instance
,该配置需要autoscaling_group
用于 EC2 实例。如果你用于aws_instance
EC2,则需要使用ip
参数。