如何正确连接AWS API网关 - > Lambda - > DAX - > DynamoDB?

问题描述 投票:5回答:1

我使用CloudFormation模板完成了所有工作,该模板创建了一个API网关,其中包含与Lambda函数的代理集成,后者又操作各种DynamoDB表。

最近,我开始体验DynamoDB及其读/写工作者的缺点。所以,我想,我将启用DynamoDB DAX来加快缓存速度。

我没有遇到CloudFormation模板设置来构建DAX集群的问题。

但是当我尝试从Lambda函数连接到DAX时,我得到了诸如NoRouteException: not able to resolve address之类的错误。搜索周围,事实证明,由于DAX在VPC中,Lambda函数当然无法访问。 Lambda函数也必须位于VPC中。

但是如果我将Lambda函数放在VPC中,那么API Gateway就不能通过代理集成来访问Lambda函数。

那么,如何在VPC中编排API网关 - > Lambda - > DAX?

似乎循环,DAX不能轻易被公共API网关 - > Lambda模式使用。 VPC要求是一个真正的杀手,它实际上意味着DAX主要仅对EC2实例有用,而不是API - > Lambda。

有任何想法吗?

amazon-dynamodb aws-lambda aws-api-gateway amazon-dynamodb-dax
1个回答
5
投票

但是如果我将Lambda函数放在VPC中,那么API Gateway就不能通过代理集成来访问Lambda函数。

这是不正确的。 API网关通过使用Lambda服务API,代理与否,VPC调用Lambda函数来访问它们。

API网关不直接连接到Lambda函数容器 - 因此容器放置(在VPC内部或外部)不会影响API网关实际调用该函数的能力 - 它会影响函数可以访问的内容,但不会影响它如何访问被访问。

代理集成修改了有效负载的行为和处理,但不是API网关实际连接到Lambda服务以调用函数和接收响应的方式。

© www.soinside.com 2019 - 2024. All rights reserved.