【问题标题】:Want to call AWS lambda in VPC to another AWS lambda without VPC in same region and account using JAVA 8想要使用 JAVA 8 将 VPC 中的 AWS lambda 调用到同一区域和帐户中没有 VPC 的另一个 AWS lambda
【发布时间】:2020-09-11 20:28:20
【问题描述】:

想要将一个位于 VPC 中的 AWS lambda 连接到另一个不在 VPC 中但在同一区域和账户中的 lambda。


  • 调用者 lambda "lambda_1" ​​的代码:

    @覆盖 公共字符串句柄请求(最终对象输入,最终上下文上下文){ logger.log(context.getFunctionName() + "被调用");

    final AWSLambda client = AWSLambdaClientBuilder.standard().withRegion(Regions.EU_WEST_2).build();
    final InvokeRequest request = new InvokeRequest();
    request.withFunctionName("lambda_2").withPayload("JSON data as String").withInvocationType(InvocationType.RequestResponse);
    
    logger.log("Lambda is about to invoke");
    final InvokeResult response = client.invoke(request);
    
    logger.log(context.getFunctionName() + " returned");
    
    return input.toString();
    

    }

通过maven依赖使用AWS java sdk for lambda

<dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-lambda</artifactId>
    <version>1.11.681</version>
    </dependency>
  • 允许:将 lambda:InvokeFunction 赋予 lambda_1 以用于 lambda_2

  • 被调用者 lambda "lambda_2" 的代码:

@覆盖 public String handleRequest(final Object input, final Context context) {

    logger.log(context.getFunctionName() + " invoked");

    logger.log(context.getFunctionName() + " returned");

    return input.toString();

}

  • 为 lambda_1 创建日志,直到 Lambda 即将调用 行,执行不会更进一步并超时。
  • 已为 lambda_1、lambda_2 设置了足够的时间和内存,分别为 2 分钟 198 MB 和 1 分钟 128 MB。
  • 但无法调用 lambda_2,甚至在运行时也没有出现任何错误,请帮忙谢谢

【问题讨论】:

    标签: amazon-web-services java-8 aws-lambda amazon-vpc


    【解决方案1】:

    没有进一步日志输出的超时听起来像是典型的网络问题,我会开始寻找那里。

    要访问 Lambda 服务,调用 Lambda(以及您的 VPC)需要访问 Internet,您是否在 VPC 中有 Internet 网关或 NAT 接口/网关?

    或者,如果不能将您的 VPC 连接到 Internet,您可以通过 SNS,而不是直接调用 Lambda,这将允许您在 VPC 中添加一个 SNS 接口终端节点。

    【讨论】:

    • 是的@Christian,Internet 网关已分配给 Lambda 函数正在使用的子网,并且它可以同时访问 Internet 在相关安全性中的入站和出站规则中允许所有端口团体。因此,如果某些内容配置或编码不正确,则会出现错误
    猜你喜欢
    • 2020-04-22
    • 2020-12-20
    • 2019-09-23
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    相关资源
    最近更新 更多