我正在使用无服务器来使用nodejs模板创建lambda函数。
serverless.yml
。 当我尝试serverless invoke local -f functionName
时,它总是超时,所以我必须部署它来测试它。
是否可以使用serverless
本地测试?
答案 0 :(得分:5)
默认情况下,无法从AWS环境外部直接访问Elasticache。根据他们的documentation,该服务旨在从AWS内部访问。在您的情况下,serverless invoke local
超时,因为无法建立连接本身并且lambda函数超时。因此,您无法在本地运行调用以按照您尝试的方式测试此连接。
要从本地计算机连接到Elasticache redis,您可以在公有子网中使用NAT实例并设置安全组以打开正确的端口并启用IP转发以允许连接到redis缓存群集。步骤here。
但是,我只是在本地安装redis并使用环境变量来更改连接字符串以连接到本地计算机上的本地redis和在lambda上运行时的实际Elasticache集群。