【问题标题】:Can we use both DynamoDb and VPC to an aws lambda?我们可以将 DynamoDb 和 VPC 都用于 aws lambda 吗?
【发布时间】:2022-01-20 17:38:02
【问题描述】:

我正在开发一个 AWS lambda,我想在其中使用 DynamoDB 和一个 VPC(Amazon elasticcache for redis)。但是触发 lambda 时出现超时错误

【问题讨论】:

  • 你能提供你得到的错误吗?
  • @AllanChua 我没有收到任何错误,只是我的 lambda 超时了 30 秒。而且我不想增加我的 lambda 时间 >30,因为我们在 API 网关中有 30 秒的限制
  • @samirkrishnacholleti,你能分享一下你想在 lambda 中实现什么吗?您使用的是哪种语言的 SDK?你在使用交易吗?

标签: amazon-web-services aws-lambda amazon-dynamodb amazon-vpc aws-elasticache


【解决方案1】:

您要么需要在 VPC 中创建 DyanmoDB VPC Endpoint,要么将 NAT Gateway 添加到 VPC,并且仅在具有到 NAT 网关的路由的子网中部署 Lambda 函数。

【讨论】:

    【解决方案2】:

    取决于您的 lambda 的 VPC 配置子网/安全组,

    如果您的 lambda 在私有子网中:

    • 如果您想要一种安全的内部方式,您可以使用 VPC 端点传递
    • 否则,如果你想通过互联网,你必须有一个 NAT 网关。

    还要检查安全组/NACLS....

    【讨论】:

    • 这对于公共子网不正确。见this answer
    • 谢谢@KaustubhKhavnekar,我不知道 lambda 没有公共 ip,我不明白为什么?但我会据此更改我的答案,这意味着当您部署默认 lambda(没有 vpc 配置)时,他们会将其部署在私有子网 + NAT 中?
    • 这是一个内部 AWS 实施细节,所以除非 AWS 在某处公开披露,否则我们不会知道。
    • 完美!谢谢
    猜你喜欢
    • 1970-01-01
    • 2019-07-19
    • 2014-09-24
    • 1970-01-01
    • 2017-05-24
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    相关资源
    最近更新 更多