为什么 AWS Global Accelerator 未通过端点运行状况检查?

2 分钟阅读
0

我想知道为什么注册到我的 AWS Global Accelerator 的端点运行不正常。

简短描述

对于标准加速器,AWS Global Accelerator 会自动检查与您的静态 IP 地址关联的端点的运行状况,然后将用户流量仅定向到运行正常的端点。

Global Accelerator 支持四种类型的标准加速器端点:Amazon Elastic Compute Cloud(EC2)实例、弹性 IP 地址、应用程序负载均衡器和网络负载均衡器。

配置端点时,您可以在 Global Accelerator 中指定运行状况检查选项。但是,加速器仅将此配置用于 EC2 和弹性 IP 端点类型。对于应用程序负载均衡器和网络负载均衡器端点,Global Accelerator 会重新使用与这些端点关联的已配置的运行状况检查。

但是,Global Accelerator 支持的不同端点类型的运行状况检查可能会失败。要解决这些故障,请查看下面的解决方法。

解决方法

确定您的端点类型。然后按照相应部分中的步骤查看运行状况检查状态。

端点类型:EC2 实例或弹性 IP 地址

1.    登录 Global Accelerator 控制台

2.    从加速器列表中选择一个要进行运行状况检查的加速器。

3.    在 Listeners(侦听器)下,选择要检查的侦听器。

4.    在 Endpoint groups(端点组)下,打开运行状况检查详细信息。

5.    查看以下运行状况检查详细信息:路径、端口以及与端点组关联的协议。

6.    找到标注为Endpoints(端点)的部分。这一部分将显示端点通过还是未通过运行状况检查。这一部分会标记未通过运行状况检查状态。

7.    如果端点未通过运行状况检查,请确保防火墙、安全组(SG)和网络访问控制列表(NACL)有权访问 Amazon Route 53 运行状况检查器 IP 地址和相应的运行状况检查端口。

Global Accelerator 要求您的路由器和防火墙规则允许来自与 Route 53 运行状况检查器关联的 IP 地址入站流量。这使加速器可以完成 EC2 实例或弹性 IP 地址端点的运行状况检查。如果端口或 IP 地址被阻止,则运行状况检查将会失败。加速器会报告这些端点运行不正常。有关批准的 IP 地址的更多信息,请参阅 Amazon Route 53 服务器的 IP 地址范围

8.    无论是 UDP 还是 TCP 侦听器,都要确保您的端点上有用于运行状况检查的 TCP、HTTP 或 HTTPS 服务器。然后按照以下步骤执行操作:

  • 使用 netstat 命令检查应用程序是否正在侦听所需的端口和 IP 地址(用于运行状况检查端口和应用程序端口)。如果应用程序未侦听 IP 地址和端口,请配置您的应用程序并确保它在实例上本地运行。
On Windows: netstat -ano | findstr endpoint_IP_address:port
On Linux: netstat -anp | grep endpoint_IP_address:port

**注意:**请将 endpoint_IP_address:port 替换为您的端点的 IP 地址和端口号。

  • 使用这些工具检查运行状况检查端口上到相关端点的连接。所有端点和目标应用程序实例都必须成功通过测试且没有任何错误。确保应用程序可以根据以下设置接受配置的运行状况检查请求:
  • 对于 TCP 运行状况检查:telnet endpoint_IP_address health_check_port
  • 对于 HTTP 运行状况检查:curl -vko /dev/null http://endpoint_IP_address:port
  • 对于 HTTPS 运行状况检查:curl -vko /dev/null https://endpoint_IP_address:port

**注意:**请将 endpoint_IP_address 替换为您的端点的 IP 地址,并将 health_check_port 替换为关联的端口号。

  • 检查 iptables(对于 Linux)和防火墙(对于 Windows)是否在丢弃应用程序流量。

端点类型:应用程序负载均衡器或网络负载均衡器

如果端点类型是应用程序负载均衡器或网络负载均衡器,则 Global Accelerator 将使用负载均衡器运行状况检查信息来确定端点的运行状况。对于 Global Accelerator 如何确定这些端点的运行状况,应注意以下几个特别的方面:

应用程序负载均衡器注意事项

1.    应用程序负载均衡器中的所有目标组都必须运行正常,Global Accelerator 才会认为该负载均衡器正常。有关如何在应用程序负载均衡器中配置目标组的更多信息,请参阅目标组运行状况

2.    如果所有目标组都为空,Global Accelerator 会认为该应用程序负载均衡器运行不正常。

网络负载均衡器注意事项

1.    网络负载均衡器中的所有目标组都必须运行正常,Global Accelerator 才会认为该负载均衡器正常。有关如何在网络负载均衡器中配置目标组的更多信息,请参阅目标组运行状况。 

2.    如果任何单个目标组为空,Global Accelerator 会认为该网络负载均衡器运行不正常。

如果弹性负载均衡(ELB)目标组报告运行不正常的结果,请参阅以下文章:


相关信息

更改运行状况检查选项

AWS 官方
AWS 官方已更新 1 年前