【问题标题】:Creating a private API gateway for a lambda function in a private subnet为私有子网中的 lambda 函数创建私有 API 网关
【发布时间】:2018-02-09 17:30:15
【问题描述】:

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

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

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

【问题讨论】:

  • 你卡在哪里了?到目前为止,您尝试过什么?

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-17
      • 2016-12-19
      • 2020-10-06
      • 1970-01-01
      • 2020-08-07
      • 2023-03-26
      • 2023-03-06
      • 1970-01-01
      相关资源
      最近更新 更多