【问题标题】:Elasticache in a different VPC and lambda needs to access it不同 VPC 中的 Elasticache 和 lambda 需要访问它
【发布时间】:2018-09-11 20:32:04
【问题描述】:

我在 AWS 中有两个 VPC。 elasticache 在其中一个 VPC 中。 我还有一个需要访问 elasticache 的 lambda。我已将以下策略附加到 lambda 以访问 elasticache。

  1. AWSLambdaVPCAccessExecutionRole(如此处所述:https://docs.aws.amazon.com/lambda/latest/dg/vpc-ec-create-iam-role.html

  2. AmazonElastiCacheFullAccess

但我仍然无法从 lambda 连接到 Elasticache 端点。它抛出以下错误:

任务在 63.06 秒后超时

基本上表明它无法连接。但是 VPC 内的任何 ec2 实例都可以连接到 elasticache。

【问题讨论】:

  • 您是否将 Lambda 函数启动到与 elasticache 相同的 VPC 中? AWSLambdaVPCAccessExecutionRole 允许 Lambda 创建一个 ENI 以与您的 VPC 中的其他资源进行通信,但您还需要在 VPC 中配置您的 Lambda 函数:docs.aws.amazon.com/lambda/latest/dg/vpc.html 另外,值得注意的是,如果您需要访问非 VPC设置 NAT 网关所需的资源
  • @abigperson 在不同的 VPC 中没有。它必须是这样的。是否可以从另一个 vpc 访问资源?
  • 我以前从未设置过,但也许这会有所帮助:docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/Welcome.html 看起来应该可以...
  • 你有没有解决过你的问题?我有同样的问题:)

标签: amazon-web-services redis aws-lambda amazon-vpc amazon-elasticache


【解决方案1】:

AWS Lambda 使用弹性网络接口 (ENI),使您的函数能够安全地连接到其他资源。正如您所提到的,lambda 函数在您的 VPC 中运行,而不是在 AWS 托管的 VPC 中运行,我建议执行以下几个检查,这可能会导致 Lambda 和 ElastiCache (EC) 之间的连接问题。

IAM 角色:确保 IAM 角色具有访问其他 VPC 资源所需的权限。

网络:验证两个 VPC 子网网络访问控制列表 (ACL) 是否允许您正在连接的端口上的流量,以及 Lambda 安全性组

【讨论】:

    【解决方案2】:

    您的 Lambda 函数没有访问 Elasticache VPC 的路径。假设 VPC CIDR 不重叠:

    1. 如果 VPC 位于同一区域,您可以在 VPC 之间创建 VPC 对等互连。创建对等连接时,将自动添加用于在 VPC 之间创建路由的路由表条目。见:VPC Peering
    2. 如果VPC在不同地域,查看Does AWS offer inter-region / cross region VPC Peering?,如果有对等连接,可以像#1一样创建对等连接
    3. 如果 VPC 位于不同的区域,并且不支持对等连接,则您必须在每个 VPC 中都有一个 VPN,并通过 VPN 路由流量。

    【讨论】:

      【解决方案3】:

      假设 lambda-A 需要访问不同 VPC(VPC-B) 中的 ElastiCache。

      选项:

      1. 您可以在 VPC-B 中创建另一个 lambda-B,然后让 lambda-A 调用 lambda-B,然后再调用 ElastiCache。
      2. 在与您的缓存集群相同的 VPC 中创建一个 NAT 实例,但位于公共子网中。

      3. 使用 VPC 对等。

      参考:https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/accessing-elasticache.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-09-22
        • 2019-05-23
        • 2019-09-18
        • 2022-12-05
        • 2017-11-15
        • 1970-01-01
        • 2021-07-23
        相关资源
        最近更新 更多