【发布时间】:2021-11-08 22:33:54
【问题描述】:
我是 golang 新手。
我一直在寻找 lambda-golang-AWS 的 documentation,但在调用该函数时仍然出现此超时。
我一直在配置:
- Elasticache 集群(1 个主节点),
- VPC(用于 redis 和 lambda 的同一 VPC),
- 安全组,
- 子网,
- 入站和出站,
- 角色
我有这个主要的 Redis 端点 xxxxxx
我只需要一个例子。
所以,我的问题是:
- 我们可以在没有 EC2 实例的情况下在 Linux 中连接 Redis 吗?可以尝试使用 RDM。
- 我们如何将AWS redis的endpoint放到main函数中? (我们只需要端点吗?或者其他)
- 是否可以仅使用端点(无 AUTH)连接到 Redis Elasticache?
非常感谢!
【问题讨论】:
-
您可以利用 lambda 执行角色。你有tried this吗?
-
@nitrin0 执行角色只是在 VPC 中部署 Lambda 函数的一部分,仅此一项并不能为其提供特殊的 Redis 访问权限。
-
@MarkB 我的印象是这样做就足够了(意思是:允许 lambdas 访问 VPC 中的资源,即弹性缓存),但我会在一个较旧的项目中查看我的设置。感谢您的提醒!
-
谢谢@nitrin0。从链接中,我正在添加角色但仍然超时。我想知道......这是否意味着,我需要设置 NAT 网关才能使用 go.mod 中的外部模块列表?连接到 Redis 集群有关系吗?
-
@rulisastra 我不确定你所说的外部模块是什么意思。您必须在 Lambda 函数的部署包中包含所有模块。在 Lambda 函数开始运行后,您无法在它中下载和安装东西,因为文件系统是只读的。
标签: linux api go aws-lambda redis