簡體   English   中英

如何使用私有 IP 連接到 EC2 上的后端

[英]How to connect to backend on EC2 with private IP

我的前端和后端應用程序通過 AWS ECS 運行。 前端 EC2 實例有一個公共 IP,因此可以通過 Internet 連接,但后端 EC2 實例只有一個私有 IP。 這兩個實例都位於具有不同子網(公共和私有)的同一 VPC 中。 我已經驗證了路由表、NAT、NACL 和安全組配置,一切都符合要求。 當我的前端應用程序在私有 IP 訪問后端時,它會出現連接超時,即無法連接。

我已經驗證了 SSH 到公共實例的連接並 ping 到后端實例的私有 IP,ping 很好。 I also tried to curl from my frontend instance to backend API with private IP as host, I get the response, same thing is verified from the frontend docker container as well. 但是前端應用程序無法向后端 API 發出請求。

在這里檢查視覺

請求超時通常是由安全組問題引起的。

也許重新檢查附加到私有子網中實例的 sg 是一個很好的嘗試? 確保允許公共實例與私有實例通信。

您可以嘗試將附加到公共實例的 sg 添加到附加到私有實例的 sg 的入站規則源中。 無論 IP 地址發生任何變化,它將允許公共實例與私有實例通信。

由於您從瀏覽器調用 API,因此您當前的客戶端是無法訪問后端私有 IP 的瀏覽器,這就是它顯示無法連接的原因。 解決方案是將后端也暴露給公共 IP 並在前端進行相同的配置,然后它將起作用。 謝謝

暫無
暫無

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

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