在 Fargate 任务定义中,应该指定容器的端口和健康检查端口。确保这两个端口的配置正确,以便健康检查程序能够正常检测。
Fargate 支持以下三种健康检查方案:
请确保你使用的健康检查方案和代码正确。
以下是一个 HTTP 健康检查程序的示例:
{
"containerDefinitions": [
{
"name": "web",
"image": "nginx:latest",
"portMappings": [
{
"containerPort": 80
}
],
"essential": true,
"healthCheck": {
"protocol": "HTTP",
"path": "/index.html",
"port": 80,
"healthyThreshold": 2,
"timeout": 3,
"unhealthyThreshold": 2,
"interval": 5
}
}
]
}
确保你的安全组规则中允许了 Fargate 访问健康检查端口。
在某些情况下,健康检查失败可能是由于网络连接问题引起的。你可以通过在 Fargate 日志中查看错误信息来诊断问题。
以上是解决 AWS Fargate 健康检查失败问题的几种方法。根据具体情况,你应该选择适合自己的方法进行解决。