【问题标题】:How to invoke step function from a lambda which is inside a vpc?如何从 vpc 中的 lambda 调用 step 函数?
【发布时间】:2020-05-10 18:30:53
【问题描述】:

我正在尝试从 VPC 中的 lambda 调用步进函数。 我收到 HTTP 请求超时的异常。

是否可以从 vpc 中的 lambda 访问阶跃函数?

谢谢,

【问题讨论】:

  • 您的 VPC 是否配置为可以访问互联网?

标签: aws-lambda aws-step-functions aws-vpc


【解决方案1】:

这是可能的,但取决于您尝试访问阶跃函数的方式。如果您使用的是 AWS 开发工具包,那么它应该处理任何 http 安全问题,否则如果您正在执行原始 HTTP 命令,您将需要处理 AWS 标头。

您需要查看的另一件事是 lambda 正在执行的角色。在没有看到您如何配置的情况下,我只能向您建议我遇到的事情;您可能需要调整策略,以便角色可以执行操作:sts:AssumeRole,另一种可能性是将操作:iam:PassRole 添加到相同的执行角色。

最简单的解决方案是授予您的执行角色管理员权限,对其进行测试,然后向后工作以锁定您的角色访问权限。请记住将您的 lambda 函数视为另一个 API 用户帐户并适当地设置权限。

【讨论】:

  • 我使用 AWS SDK 触发它。当 lambda 不在 vpc 中时我可以访问,但如果 lambda 在 VPC 中,则调用超时。
【解决方案2】:

如果您的 lambda 函数在 VPC 中运行,您需要为步进函数添加 VPC 端点。

在 VPC 控制台 : Endpoints : Create Endpoint 中,步骤函数的服务名称为com.amazonaws.us-east-1.states(区域名称可能有所不同)。

我花了一段时间才在文档中找到这个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多