10

我試圖讓DevOps沮喪,並且運行狀況檢查請求超時失敗。問題是我的Elastic Load Balancer會向我的EC2實例發送運行狀況檢查並獲取網絡超時。我不確定我做錯了什麼。我遵循this tutorial,並且完成了所有步驟,包括「使用Elastic Load Balancer」。我的EC2實例似乎工作正常,我能夠在EC2實例內成功捲曲端口9292上的本地主機。AWS負載均衡器EC2運行狀況檢查請求超時失敗

EC2實例安全組設置: description

彈性負載均衡設置: enter image description here

我對ELB路由目標羣體通過HTTP有端口9292打開,這裏的目標的截圖中我的目標不健康的組。 enter image description here

健康檢查的配置:enter image description here

我有一個VPC,我的EC2實例的一部分,我的ELB連接到同一個VPC。我沒有安裝Apache,也沒有安裝nginx。據我瞭解,我不需要這些。我有一個Rails Puma服務器正在運行,我可以向服務器發送成功的curl請求。

我的預感是我的ELB不允許到達我的EC2實例,導致網絡超時和健康檢查失敗。我無法找到原因。有任何想法嗎?這SO post並沒有太大的幫助。我的安全組是否配置錯誤?還有什麼可能阻止從ELB到我的EC2實例的路由請求?

此外,有沒有辦法查看我的EC2實例的網絡請求/日誌?我一直看到VPC流量記錄,但我覺得有更簡單的選擇。

Here's something我發佈在AWS論壇上,但無濟於事。

更新:我可以在EC2實例內捲曲目標的私有IP。我認爲這不是目標實例,我認爲這與安全組設置有關。我無法確定爲什麼,因爲我基本上允許從負載均衡器到EC2實例的所有流量。

+0

您可以向我們展示負載均衡器上的運行狀況檢查配置嗎?剛剛添加的 –

+0

! – Sticky

+0

我看不到您的負載平衡器和VPC /安全組配置有任何問題。我猜你的應用程序根本不會返回'/'處的請求的200響應代碼。您的應用程序是否可能爲該路徑返回301響應? –

回答

3

我在「設置您的VPC」步驟中犯了我的錯誤。我完成了爲RDS實例創建子網。我開始創建一個實例,AWS切換到我的VPC時選擇的默認子網是我爲我的RDS創建的子網,它不是公有子網。因此,來自任何EC2實例或我的負載均衡器的任何嘗試都無法到達它,因爲我只設置了公有子網來接收請求。

解決方案是創建一個新實例,這次選取正確的public子網。我的原始EC2實例與私有子網關聯,而負載平衡器則指向公有子網。

這裏的a link到一個手繪的圖像,幫助我指出我的問題,希望可以幫助其他任何人遇到麻煩設置。我沒有直接在這裏放置圖片,因爲它大於2MB。

很高興回答任何進一步的問題!

相關問題