簡體   English   中英

ELB 健康檢查失敗 AWS

[英]ELB health check fail AWS

我的 ELB 健康檢查一直失敗,但無法弄清楚原因(502 錯誤網關)。

我有一個集群 (ECS),其服務至少運行一個任務 (Fargate),該任務是一個節點 API,監聽端口 3000 和 3001(3000 用於 http 和 3001 用於 https,因為我不能使用低於 1024 的端口)。

我有一個 Elastic Load Balancer(應用程序)正在偵聽端口 80。它使用協議端口 3000 轉發目標組上的流量。

此目標組的目標類型為:ip 地址,因為我使用 fargate 而不是 EC2 來完成我的任務。 因此,當任務打開時,我正確地看到任務的私有 IP 注冊到目標組中。

我的健康路線是 server_ip_address/health ,它返回一個經典的 200 狀態代碼。 這條路線運作良好,因為我直接從任務的公共 ip 地址嘗試了它(在它因為健康檢查失敗而停止之前很快)並且它返回了 200。我還通過 ELB dns 名稱嘗試了它(所以 my-elb. eu-west-1.elb.amazonaws.com/health),它運行良好,所以我不明白為什么健康檢查失敗。

有人知道我錯過了什么嗎?

在目標組中目標的屏幕截圖中,端口顯示為 80,這意味着負載均衡器(和運行狀況檢查)將嘗試連接到端口 80 上的 Fargate 容器。

您提到它應該從端口 3000 提供服務,因此您需要確保目標組正在偵聽端口 3000。 一旦到位,假設主機的安全組允許入站訪問,502 錯誤應該 go 消失。

需要明確的是,偵聽器端口是客戶端連接到的端口,而目標端口是負載均衡器連接到目標的端口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM