【问题标题】:Testing Elasticache and Serverless AWS Lambda locally在本地测试 Elasticache 和无服务器 AWS Lambda
【发布时间】:2017-10-07 21:06:19
【问题描述】:

我正在使用无服务器来使用 nodejs 模板创建 lambda 函数。

  1. 为了连接到我的 Elasticache Redis,我设置了一个 VPC 并将安全组和子网 ID 以及区域添加到我的 lambda serverless.yml
  2. 我部署了它并确认我可以从 Redis 设置和获取密钥。

当我尝试serverless invoke local -f functionName时,它总是超时,所以我必须部署它来测试它。

是否可以在本地使用 serverless 进行测试?

【问题讨论】:

    标签: node.js amazon-web-services aws-lambda amazon-elasticache serverless-framework


    【解决方案1】:

    默认情况下,无法从外部 AWS 环境直接访问 Elasticache。根据他们的documentation,该服务旨在仅从 AWS 内部访问。在您的情况下,serverless invoke local 超时,因为无法建立连接本身并且 lambda 函数超时。因此,您无法按照您尝试的方式在本地运行调用来测试此连接。

    要从本地计算机连接到 Elasticache redis,您可以在公有子网中使用 NAT 实例并设置安全组以打开正确的端口并启用 IP 转发以允许连接到您的 redis 缓存集群。步骤为here

    但是,我只是在本地安装 redis 并使用环境变量更改连接字符串以连接到本地机器上的本地 redis 和在 lambda 上运行时的实际 Elasticache 集群。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-29
      • 2022-01-27
      • 2019-01-21
      • 1970-01-01
      • 2014-03-10
      • 2018-08-06
      • 2021-12-17
      • 2021-05-24
      相关资源
      最近更新 更多