繁体   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