2

我最近开始使用 AWS CodeDeploy,并注意到该AllowTraffic步骤始终需要每个实例 3 到 4 分钟。我已将健康检查间隔配置为 10 秒,健康阈值配置为 2,因此我预计需要 20 秒。我正在使用网络负载均衡器。

我已使用 NLB 的部署组进行了轮询,describe-target-health并确认目标处于initialCodeDeploy 等待的 3 分钟以上的状态。我还确认健康检查端口上的服务器在三分钟开始时响应。

CodeDeploy / NLB 如此缓慢的其他可能原因是什么?

4

1 回答 1

0

您看到的额外时间不是由于健康检查,而是因为目标初始注册到 NLB 需要时间。

当您向网络负载均衡器注册新目标时,预计需要 30 到 90 秒(最长可达 120 秒)才能完成注册过程。注册完成后,网络负载均衡器健康检查系统将开始向目标发送健康检查。新注册的目标必须在配置的时间间隔内通过健康检查才能进入服务并接收流量。

例如,如果您将健康检查配置为 10 秒的间隔,并且需要 2 次健康检查才能变得健康,那么实例开始接收流量的最短时间是 [30sec -to- 120sec](注册)+ [20sec] (健康检查)

ALB 不受此初始注册延迟的影响,因此它注册实例的速度要快得多。这正是 NLB 在这个时间点的运作方式。

于 2019-09-30T10:06:23.233 回答