我搜索了又搜索,但无法找到包含上述所有内容的教程/示例/演练!
我正在尝试用 C# 编写一个 Lambda 函数,该函数使用一些 ElastiCache 存储。
我可以找到从 C# 访问 ElastiCache 的示例,但我发现引用的每个库都无法与 .NetCore 1.0 一起运行,而 .NetCore 1.0 正是 Lambda 使用的!
有人设法做到这一点吗?
非常感谢。
是的,这是可能的,你是对的,关于这个主题的信息很少。关键是将您的 Elasticache 实例和 Lambda 函数托管在同一 VPC 中。从较高的层面来看,您需要:
- 设置至少具有两个子网组、一个路由表和一个安全组的 VPC。
- 创建一个 Elasticache 子网组,指向步骤 1 中创建的两个子网组。
- 创建 Elasticache 实例,使其指向步骤 2 中创建的 Elasticache 子网组。
- 创建 C# Lambda 函数并使用第 3 方库连接到 Elasticache。对于 Redis,我成功地将 StackExchange.Redis 1.2.1 与 .Net Core 1.0 结合使用。较新的版本不适用于 .Net Core 1.0。
- 将您的 Lambda 与相同的 VPC、子网和安全组关联。
- 将您的 Lambda 函数与 IAM 角色关联,该角色允许您执行 Lambda 并调用 ec2:CreateNetworkInterface(我认为 VPC 调用需要它,但不确定)。像 AWSLambdaFullAccess 和 AWSLambdaVPCAccessExecutionRole 这样的东西就可以工作。
- 测试您的 Lambda 的连接性。
这篇博客文章有更好的演练:http://fitsofury.blogspot.com/2018/02/aws-connect-to-elasticache-redis.html http://fitsofury.blogspot.com/2018/02/aws-connect-to-elasticache-redis.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)