如何从同一AWS lambda函数访问Cognito函数和Elasticache?

时间:2019-05-03 10:09:53

标签: aws-lambda amazon-cognito amazon-vpc amazon-elasticache

我正在尝试编写AWS lambda函数,该函数使用AWS.CognitoIdentityServiceProvider.adminGetUser从AWS Cognito获取用户,然后将一些数据存储到AWS Elasticache(Redis)中。这些部分可以单独工作,但不能一起工作,因为当我为Lambda启用VPC(能够访问Elasticache)时,我失去了对Cognito的访问(Lambda超时)。

是否可以通过单个lambda函数访问两种服务,或者我的方法是完全错误的?

1 个答案:

答案 0 :(得分:0)

是的,您可以确定。您需要在VPC的公共子网中创建NAT网关或NAT实例,然后将规则添加到路由表中,以从lambda的安全组启用NAT。我认为没有公共的Cognito IP地址,因此您的安全出站组规则CIDR为0.0.0.0/0。

更多详细信息可在官方文档here上找到,并且在线上有大量教程,因为这是一个常见问题。祝你好运!

P.S。不要忘记为lambda的IAM角色添加adminGetUser操作的权限。