【发布时间】:2020-05-10 18:30:53
【问题描述】:
我正在尝试从 VPC 中的 lambda 调用步进函数。 我收到 HTTP 请求超时的异常。
是否可以从 vpc 中的 lambda 访问阶跃函数?
谢谢,
【问题讨论】:
-
您的 VPC 是否配置为可以访问互联网?
标签: aws-lambda aws-step-functions aws-vpc
我正在尝试从 VPC 中的 lambda 调用步进函数。 我收到 HTTP 请求超时的异常。
是否可以从 vpc 中的 lambda 访问阶跃函数?
谢谢,
【问题讨论】:
标签: aws-lambda aws-step-functions aws-vpc
这是可能的,但取决于您尝试访问阶跃函数的方式。如果您使用的是 AWS 开发工具包,那么它应该处理任何 http 安全问题,否则如果您正在执行原始 HTTP 命令,您将需要处理 AWS 标头。
您需要查看的另一件事是 lambda 正在执行的角色。在没有看到您如何配置的情况下,我只能向您建议我遇到的事情;您可能需要调整策略,以便角色可以执行操作:sts:AssumeRole,另一种可能性是将操作:iam:PassRole 添加到相同的执行角色。
最简单的解决方案是授予您的执行角色管理员权限,对其进行测试,然后向后工作以锁定您的角色访问权限。请记住将您的 lambda 函数视为另一个 API 用户帐户并适当地设置权限。
【讨论】:
如果您的 lambda 函数在 VPC 中运行,您需要为步进函数添加 VPC 端点。
在 VPC 控制台 : Endpoints : Create Endpoint 中,步骤函数的服务名称为com.amazonaws.us-east-1.states(区域名称可能有所不同)。
我花了一段时间才在文档中找到这个。
【讨论】: