如何在 EC2 实例上为负载均衡器的健康检查创建目标页面

bat*_*man 0 amazon-ec2 amazon-web-services elastic-load-balancer

我为我的 EC2 实例设置了负载均衡器。

在负载均衡器和实例之间设置的所有安全组看起来都很好。

当前的问题是负载均衡器中的实例状态是OutofService.

为此,我认为我的实例上没有健康检查的目标页面。

什么是目标页面?在我的例子中,在/var/www/html文件夹内我有 index.php 只指向另一个文件夹内的一个 html 页面(主页)。

所以对于健康检查,假设我需要index.html/var/www/html.

我的问题是:

  • 我需要在/var/www/html文件夹内创建目标页面 index.html吗?
  • 那个index.html文件里面应该有什么?

std*_*bar 5

负载均衡器只要求您有一个“返回”HTTP 200 的页面。因此,作为示例,您可以在 /var/www/html 中有一个名为“heartbeat.php”的页面,如下所示:

<html>
 <head>
  <title>ELB Heartbeat</title>
 </head>
 <body>
 <?php echo '<p>OK</p>'; ?> 
 </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这最终做的是给 Elastic Load Balancer 一个 HTTP 200 响应和一个指示一切正常的小数据包。

稍后,当您获得更多使用时,您的“心跳”页面可能想要执行更多操作 - 检查与数据库的连接等。当然,这取决于您的应用程序。但是现在一个像这样的简单页面就可以了。

您需要使用心跳页面的 URL 配置弹性负载均衡器。它会像http://www.yoursite.tld/heartbeat.php