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

Creating a private API gateway for a lambda function in a private subnet

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

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

谁能guide/suggest告诉我如何解决这个问题。

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

更多详情请参考: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html

如果您已经创建了 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'