我已经配置了一个网络负载均衡器,通过端口80将TCP流量路由到ECS集群
ECS集群正在Fargate配置中运行ASP.NET Core2.2API任务。接口的基路由为http://ip_address:80/api/v1/
首先,一切都按预期进行,我可以访问负载均衡器的DNS并将请求路由到适当的.NET应用程序接口路由
然而,最终NLB上的运行状况检查失败,容器被排出,新的容器替换它们。
有了应用程序负载均衡器,我只需要配置健康检查来命中应用程序接口上的/healthcheck路由,一切都会好起来的。
但是,网络均衡器不能以这种方式配置。
我的问题是:对ECS容器进行健康检查的策略是什么?
发布于 2019-05-23 18:37:39
好的,答案很简单……
您只需在/路径上设置一个资源,以便NLB的响应
我对asp.net核心的具体解决方案:
ASP.NET Core2.2为此提供了一个built in package。只需在Startup.cs类中添加以下内容即可
将服务添加到服务集合
public void ConfigureServices(IServiceCollection services)
{
services.AddHealthChecks();
}配置运行状况检查
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
// Network Load Balancer hits this path for the health check
app.UseHealthChecks("/", 80);
...
}https://stackoverflow.com/questions/56246662
复制相似问题