【问题标题】:Connecting an aws lambda function to my VPN将 aws lambda 函数连接到我的 VPN
【发布时间】:2021-08-04 20:35:25
【问题描述】:

我开发了一个简单的 lambda 函数,它向 API 发送 get 请求,这个 API 被放置在 VPN 中。 显然,当我在本地测试我的 lambda 时,它工作得很好,因为我在我的笔记本电脑上启用了我的 VPN,但是当我部署相同的 lambda 并远程测试它时,我得到 java.net.UnknownHostException: xxxxx: Name or service not known。

关于如何将我的本地 vpn 配置扩展到包含 lambda 的 aws vpc 的任何想法?以及如何创建一个 ec2 作为包含 vpn 配置的代理? 我被困在这里,我愿意接受任何合理的解决方案。

谢谢!

【问题讨论】:

  • 如果您要运行一个 EC2 实例来连接到 VPN,它会破坏运行 AWS Lambda 的好处。你可以在同一个实例上运行你的代码。
  • 明白了,有没有其他方法可以解决这个连接?
  • 目标服务是否在 AWS 上运行?如果是这样,可能有一种更简单的连接方式(例如 VPC 对等连接)而不是使用 VPN 连接。你能告诉我们更多关于设置的信息吗?

标签: amazon-web-services amazon-ec2 aws-lambda vpn amazon-vpc


【解决方案1】:

如果您的 Lambda 需要访问私有网络(AWS 外部)上的终端节点,您需要将运行 Lambda 的 VPC 与您的私有网络连接。

为此,您可以查看AWS Site-to-Site VPN,这将允许您将 VPC 与您的远程网络连接。

【讨论】:

    【解决方案2】:

    我遇到了类似的问题,我想要一个 Lambda 函数从 VPN 背后的 API 获取数据,但我无法控制客户端 VPN。如果您能够使用 OpenSwan 安装所需的客户端 VPN 配置,那么 AWS Site-to-Site VPN 就是正确答案。它将确保 Lambda 和其他 AWS 服务可以与受 VPN 保护的服务进行干净的交互。

    如果您无法设置站点到站点 VPN,则 Lambda 无法直接调用 API。那么,您的目标可能是想办法以客户端的身份连接到 VPN,调用 API 获取数据,然后将数据存储在 VPC 中。

    请注意,此解决方案可能不适合您的用例。它只对我有用,因为我需要定期调用 API 来更新数据以进行分析和报告,目前这是在我的计算机上完成的。我可以通过 API 访问数据,但不能直接访问受 VPN 保护的数据库或系统。

    1. 使用连接到公共互联网的互联网网关设置 VPC。这包括 VPC、子网、路由表和互联网网关。网上有很多指南,但我用这个"OpenVPN+VPC+VPN Client Configuration" video 来指导。解说员从 6:00 开始设置 VPC,使其具有公共互联网访问权限。
    2. 使用 Amazon Linux 2 AMI 启动 EC2 实例。
    3. SSH 进入新的 EC2 实例,并安装 OpenVPN 包(this StackOverflow thread contains instructions)
    4. 将所有必要的 VPN 配置文件连同您的获取脚本复制到 EC2 实例。我用SCP来完成这个任务。因为我使用 OpenVPN,所以我复制了我的 .conf 文件。
    5. 通过此 EC2 实例连接到 VPN 并运行您的 API 脚本。

    这允许您将数据从 API 获取到 EC2 实例,然后数据可以存储在 S3 存储桶、DynamoDB 或 VPC 上最适合您需求的任何形式中。

    请注意,当实例停止或终止时,脚本和配置文件默认会被删除。如果您打算定期使用此方法提取数据,那么最好发送至keep your files in an S3 bucket and transfer them to the EC2 as needed,这样您就不必每次都从计算机中对文件进行 SCP。

    VPC、子网、路由表和互联网网关不需要每次都重新设置。它们可以留在原地并且不会产生任何费用。 EC2 实例会产生费用。

    【讨论】:

      猜你喜欢
      • 2021-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 2016-09-02
      • 2018-08-23
      • 2020-08-07
      相关资源
      最近更新 更多