AWS Lambda - 在 VPC 下使用 Kinesis
AWS Lambda - use Kinesis under VPC
我有一个使用 ElastiCache Redis
集群的 AWS Lambda
函数。
由于 Redis
集群在 VPC
中 "locked",因此 Lambda
函数也必须位于 VPC
中。
出于某种原因,如果 Lambda
被分配了一个 public subnet
的 IP
,它有一个 Internet gateway
- 它仍然无法与外部建立连接(互联网),因此无法使用 Kinesis
.
为此,他们建议使用 NAT
网关,让 Lambda
连接到外部。
基本上,这对我有用 - 但我的问题是钱。
此解决方案对于大量数据传输来说很昂贵,我正在寻找一些方法使其更便宜。
为了我制作的小 POC
,我支付了 ~
。
这对 ~30GB
来说太多了,因为我的生产管道将 运行 数百 gigabytes
/ 月。
你建议我如何在不使用 NAT
网关的情况下让 Lambda
函数连接外部(特别是 Kinesis
)?
谢谢!
Lambda 函数实例永远不会被分配 public IP 地址,无论您放置它们的 VPC 子网类型如何。NAT 网关是在 VPC 内提供 Lambda 函数访问权限的唯一解决方案驻留在 VPC 之外的资源(如 Kinesis)。
如果由于成本原因这对您不起作用,您可以查看 运行 具有弹性 IP 的 EC2 实例上的 Redis 服务器,这将允许 Lambda 函数无需连接即可连接在 VPC 内部。类似的替代方法是使用 RedisLabs 而不是 ElastiCache。
without using a NAT gateway?
使用 NAT 实例。
VPC 中的任何东西都必须具备这两个条件之一才能从私有 IP 地址访问 Internet。
在推出相对较新的 NAT 网关服务之前,NAT 实例正是 VPC 中的一贯做法。
You can also use a NAT gateway, which is a managed NAT service that provides better availability, higher bandwidth, and requires less administrative effort. For common use cases, we recommend that you use a NAT gateway rather than a NAT instance.
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html
当然,它更容易,但成本更高。多很多。在这种情况下,最显着的区别是使用 NAT 实例时,您需要支付固定费用来使用硬件,这可能是便宜的 t2.nano、5 美元/月。
NAT 网关服务是一种强大的解决方案,具有几乎无限的扩展能力,并相应定价。 NAT 实例仅与您选择 运行 它的硬件一样好,但我发现 t2.nano 和 t2.micro 足以满足需要少于 250 Mbit/s 互联网的工作负载连通性。
使用上面的 link 了解更多信息。
我有一个使用 ElastiCache Redis
集群的 AWS Lambda
函数。
由于 Redis
集群在 VPC
中 "locked",因此 Lambda
函数也必须位于 VPC
中。
出于某种原因,如果 Lambda
被分配了一个 public subnet
的 IP
,它有一个 Internet gateway
- 它仍然无法与外部建立连接(互联网),因此无法使用 Kinesis
.
为此,他们建议使用 NAT
网关,让 Lambda
连接到外部。
基本上,这对我有用 - 但我的问题是钱。 此解决方案对于大量数据传输来说很昂贵,我正在寻找一些方法使其更便宜。
为了我制作的小 POC
,我支付了 ~
。
这对 ~30GB
来说太多了,因为我的生产管道将 运行 数百 gigabytes
/ 月。
你建议我如何在不使用 NAT
网关的情况下让 Lambda
函数连接外部(特别是 Kinesis
)?
谢谢!
Lambda 函数实例永远不会被分配 public IP 地址,无论您放置它们的 VPC 子网类型如何。NAT 网关是在 VPC 内提供 Lambda 函数访问权限的唯一解决方案驻留在 VPC 之外的资源(如 Kinesis)。
如果由于成本原因这对您不起作用,您可以查看 运行 具有弹性 IP 的 EC2 实例上的 Redis 服务器,这将允许 Lambda 函数无需连接即可连接在 VPC 内部。类似的替代方法是使用 RedisLabs 而不是 ElastiCache。
without using a NAT gateway?
使用 NAT 实例。
VPC 中的任何东西都必须具备这两个条件之一才能从私有 IP 地址访问 Internet。
在推出相对较新的 NAT 网关服务之前,NAT 实例正是 VPC 中的一贯做法。
You can also use a NAT gateway, which is a managed NAT service that provides better availability, higher bandwidth, and requires less administrative effort. For common use cases, we recommend that you use a NAT gateway rather than a NAT instance.
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html
当然,它更容易,但成本更高。多很多。在这种情况下,最显着的区别是使用 NAT 实例时,您需要支付固定费用来使用硬件,这可能是便宜的 t2.nano、5 美元/月。
NAT 网关服务是一种强大的解决方案,具有几乎无限的扩展能力,并相应定价。 NAT 实例仅与您选择 运行 它的硬件一样好,但我发现 t2.nano 和 t2.micro 足以满足需要少于 250 Mbit/s 互联网的工作负载连通性。
使用上面的 link 了解更多信息。