我在私有子网中有一个lambda函数,我想通过创建一个API网关来调用这个lambda函数,这个API只能由公共子网中的特定EC2实例调用(私有和公有子网在同一个子网中) VPC)而不是其他任何人。
我想为私人通信创建一个Lambda函数和API网关
有人可以指导/建议我如何解决这个问题。
答案 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'