AWS API Gateway Access私有子网

时间:2018-11-28 00:32:49

标签: amazon-web-services api-gateway aws-vpc

我的VPC中有公共子网和Pvt子网。我在Pvt子网中的EC2上运行了一些服务,这些服务需要由外部/移动资源访问。我该怎么做-是VPCLink和NLB的一种实现方式,还是其他任何方式,都可以在公共子网(??)中创建一些访问点。 Lambda似乎是答案(现在几乎适用于AWS中的所有功能)-甚至不确定该访问方式如何对Pvt子网中的资源起作用。

同一Pvt子网也可以访问外部资源(在AWS外部)-如何使用API​​网关做到这一点?

不太了解API网关(和Lambda)相对于VPC和子网的位置以及网络访问控制功能如何直接访问或不访问Pvt子网。该文档对此没有任何说明,仅谈论IAM-如果有人可以解释的话 。在Lambda上找到了此文件:AWS Lambda: How to setup a NAT gateway for a lambda function with VPC access

documentation说:“ API网关允许您安全连接...托管在AWS内部或外部的可公开寻址 Web服务。我想我在Pvt子网中的资源不可公开访问。

谢谢

2 个答案:

答案 0 :(得分:4)

您在EC2上运行的服务是否提供API? API网关用于代理API请求。它通常与Lambda结合使用,以允许Lambda函数处理HTTP请求。服务不需要API网关。您可以简单地使用应用程序负载平衡器(ALB)或弹性负载平衡器(ELB)。它们可以驻留在公共子网中,而您的服务仍保留在私有子网中。您可以使用安全组和VPC路由表来允许从公共ALB / ELB到私有EC2服务的通信。

答案 1 :(得分:0)

在本的帮助下,这就是答案 Introducing Amazon API Gateway Private Endpoints

入站::通过API网关访问专用子网中托管的服务

Endpoint integrations inside a private VPC。借助此功能,您现在可以在VPC内将EC2上运行的后端设为私有,而无需公共访问IP地址或负载平衡器。

因此,基本上,API网关甚至可以在专用子网中访问发布的终结点。

OutBound::通过API网关从专用子网访问外部托管的服务

通过AWS PrivateLink接口VPC端点,可以使用

API网关专用端点。接口端点通过在您的VPC内定义的子网中创建弹性网络接口来工作。然后,这些网络接口提供对在其他VPC中运行的服务或对AWS服务(如API网关)的访问。在配置接口端点时,您可以指定应通过哪些服务流量。使用私有DNS时,所有对该服务的流量都将定向到接口端点,而不是通过默认路由(例如,通过NAT网关或公共IP地址)定向。

因此,您只需在Pvt子网中创建VPC端点 用于API网关VPC End Point- API Gateway