amazon-web-services - 私有链接是否适用于 lambda 函数?
问题描述
我有一个 ECS fargate 容器在无法访问 Internet 的私有 VPC 中运行。它需要通过 AWS SDK 调用 lambda。根据我的理解,AWS 为 lambda 创建了一个默认的公共端点,当我调用invokeLambda
方法时,流量将始终流向互联网。如果我的理解是正确的,那意味着我的 Fargate 容器将无法调用 lambda。这样对吗?
如果是正确的,替代解决方案是什么?目标是流量不会进入互联网。
我可以为我的 lambda 创建一个私有链接端点吗?
或者使用连接到 lambda 的 VPC 端点创建一个 API 网关?
解决方案
如果我的理解是正确的,那意味着我的 Fargate 容器将无法调用 lambda。这样对吗?
是的。如果没有 NAT 网关或实例,您将无法直接从私有子网调用 lambda 函数。
我可以为我的 lambda 创建一个私有链接端点吗?
可悲的是没有。lambda 没有 VPC 接口终端节点。
或者使用连接到 lambda 的 VPC 端点创建一个 API 网关?
是的,这应该可以通过创建私有 API 网关来实现。私有 API 只能从您的 VPC 中访问。但是lambda 的 API 网关仍然可能会通过互联网。
AWS Lambda 白皮书的安全概述写道:
来自 Amazon Kinesis 和 DynamoDB 流、SQS 队列、应用程序负载均衡器和API 网关的调用遵循请求-响应路径
对于请求-响应调用,有效负载从 API 调用者(例如 AWS API Gateway或 AWS 开发工具包)传递到负载均衡器,然后传递到 Lambda 调用服务。此服务识别函数的执行环境,并将有效负载传递到该执行环境以完成调用。负载均衡器的流量通过 Internet传输,并使用 TLS 保护。
推荐阅读
- active-directory - 设置 ACL 非管理员用户
- slurm - 您将如何检查 SLURM 或 MOAB/Torque 在环境中是否可用?
- node.js - 用于使查询搜索不起作用的 API
- css - is :where 意味着折叠重复的选择器?
- java - 如何在 Microstream 中正确使用 BinaryHandler 来存储易失的 long 数组?
- javascript - 为什么我从 AJAX 登录表单提交中获取 $_POST['variable'] 的数组
- powershell - Powershell脚本 - 替换文件中的文本
- android-11 - 为什么隐藏状态栏也会隐藏某些 Android 11 设备上的导航栏?
- r - 如何使用另一个索引中的索引来定位变量的变化 - R
- flutter - 颤动中的 DraggableScrollable 工作表动画