请参考下面的VPC设计图。 [1]:https://i.sstatic.net/JpZCLQO2.png
我正在开发一个托管在 AWS 上的 React Web 应用程序,具有以下架构:
React Web 应用程序: 托管在私有子网中的 EC2 实例上,可通过应用程序负载均衡器 (ALB) 以及使用 SSH 通过 Bastion 1 进行访问。 Flask API 服务器: 托管在不同私有子网中的另一个 EC2 实例上,只能使用 SSH 通过 Bastion 2 进行访问。 目标: React 应用程序需要向 Flask API 实例发送 HTTP 请求。
我目前面临一些挑战:
网络配置:当我尝试使用 http://$api-private-ip/api/ 从 React 应用程序请求 API 时,请求失败,因为私有 IP 只能在 VPC 内访问。
验证:当我通过 SSH 连接到 Web 实例并运行curl $api-private-ip/api/ 时,我收到来自 API 服务器的有效响应。但是,当我通过浏览器尝试请求时,请求挂起。
问题:
考虑到两个实例都位于私有子网上,我应该使用什么 URL 从 React 应用程序向 API 发出请求?
有没有办法通过ALB或其他机制来路由请求?
我当前的设计是否符合最佳实践,或者我应该考虑采用替代方法来实现客户端和 API 之间的安全通信?