我的 VPC 中有公共(public)子网和 Pvt 子网。我有一些服务在 Pvt 子网的 EC2 上运行,需要由外部/移动资源访问。我该怎么做 - VPCLink 和 NLB 是这样做的方式,还是任何其他方式,在公共(public)子网 (??) 中创建一些访问点。 Lambda 似乎是答案(现在几乎适用于 AWS 中的所有内容)——甚至不确定该访问如何对 Pvt 子网中的资源起作用。
同样的 Pvt 子网也可以访问外部资源(AWS 之外)——我如何使用 API 网关来做到这一点?
不太了解 API-Gateway(和 Lambda)相对于 VPC 和子网是如何定位的,以及网络访问控制功能如何——它们是否可以直接访问 Pvt 子网。文档对此有些沉默,只谈论 IAM - 如果有人可以解释的话。在 Lambda 上找到这个:AWS Lambda: How to setup a NAT gateway for a lambda function with VPC access .
documentation说“API Gateway 允许您安全地连接 ... 可公开寻址的 在 AWS 内部或外部托管的 Web 服务”。我在 Pvt 子网中的资源不可公开寻址 - 我想。
谢谢
最佳答案
您在 EC2 上运行的服务是否提供 API? API Gateway 旨在代理 API 请求。它通常与 Lambda 结合使用,以允许 Lambda 函数处理 HTTP 请求。您的服务不需要 API 网关。您可以简单地使用应用程序负载均衡器 (ALB) 或弹性负载均衡器 (ELB)。它们可以驻留在公有子网中,而您的服务保留在私有(private)子网中。您可以使用安全组和 VPC 路由表来允许从公共(public) ALB/ELB 到私有(private) EC2 服务的通信。
关于amazon-web-services - AWS API Gateway 访问私有(private)子网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53510362/