为私有子网中的lambda函数创建私有API网关

时间:2018-02-09 17:30:16

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

我在私有子网中有一个lambda函数,我想通过创建一个API网关来调用这个lambda函数,这个API只能由公共子网中的特定EC2实例调用(私有和公有子网在同一个子网中) VPC)而不是其他任何人。

我想为私人通信创建一个Lambda函数和API网关

有人可以指导/建议我如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

使用VPC或IP白名单将资源策略添加到您的API。

有关更多详细信息,请参阅: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html

答案 1 :(得分:1)

如果已创建VPC和专用子网。  1.为API网关创建VPC端点。  2.为您提供443的网络访问权限,该访问权限与VPC端点相连的安全组,您可以根据需要提供其他访问权限。  3.私下创建ApiGateway并部署资源。  4.创建lambda,它应该是相同的VPC,子网和安全组。  5.还在VPS端加入DNS。  现在,在lambda函数中创建测试并执行。

通过curl命令,您可以像这样执行

curl -v https://vpc_endpoint_dns/ \
-H 'x-apigw-api-id:apikey' \
-H 'authtoken: lkskdflsdjfoeiru' \
-H 'cache-control: no-cache' \
-H 'postman-token: lkdsfj8495' \
-H 'timestamp: 1649646851'