首先,需要检查 ECS 实例的安全组配置是否正确。确保已允许来自应用负载均衡器的流量进入 ECS 实例。以下是一个示例安全组规则,允许来自 VPC 内指定的安全组 ID 或 CIDR 的流量。
{
"IpProtocol": "tcp",
"FromPort": 80,
"ToPort": 80,
"UserIdGroupPairs": [
{
"GroupId": "sg-0123456789abcdefg"
}
],
"IpRanges": [
{
"CidrIp": "10.0.0.0/16"
}
]
}
如果安全组配置没有问题,则需要确认应用负载均衡器是否正确地配置了健康检查。检查目标组的健康检查路径和端口是否与 ECS 实例的应用程序路由相匹配。查看以下示例代码中的目标组配置和健康检查设置。
resource "aws_lb_target_group" "example" {
name_prefix = "example"
port = "80"
protocol = "HTTP"
vpc_id = aws_vpc.main.id
health_check {
healthy_threshold = 2
unhealthy_threshold = 2
interval = 30
path = "/health"
port = 8000
protocol = "HTTP"
timeout = 5
}
}
通过核实安全组和健康检查配置,您应该能够成功检测到 ECS 实例的健康状态并继续使用应用负载均衡器。