我现在正在尝试为私有子网配置路由表,并使用这些子网配置AWS Lambda函数。当我使用ENI时,当我试图通过互联网进行API调用时,我会收到一个ssl error (violation of protocol)
(就像对ServiceNow API的调用(。当我使用NAT时,它是有效的。
我调查了一段时间,但仍然困惑于我们什么时候应该使用ENI(或nat(?有什么区别?
当AWS Lambda函数未连接到VPC时,它可以直接访问互联网。
当AWS Lambda函数连接到VPC并需要访问互联网时,配置应为:
- 将Lambda函数与VPC中的私有子网关联
- 在公用子网中创建NAT网关
- 为专用子网配置路由表以将
0.0.0.0/0
流量路由到NAT网关
您可能收到错误,因为Lambda函数无法到达Internet上的端点。我不知道你为什么特别收到"SSL错误"。
弹性网络接口(ENI(是资源(如AWS Lambda函数(和VPC之间的虚拟网络连接。把它想象成一张连接网络的"网卡"。
NAT网关是一种执行IP地址转换的服务。它接受本地流量并将其发送到互联网,同时传递回响应。它允许从专用子网访问Internet,同时阻止对专用子网的入站访问。