【问题标题】:Boto3 sts in Lambda hanging after adding networking details添加网络详细信息后,Lambda 中的 Boto3 sts 挂起
【发布时间】:2018-05-12 07:13:12
【问题描述】:

我有一个 python lambda 函数,它需要获取它用完的帐号。当我没有在 AWS 控制台中为 Lambda 设置的“网络”选项卡的详细信息时,它可以让帐户正常执行此操作:

AccountNumber = boto3.client('sts').get_caller_identity()['Account']

现在我已经在 Network 选项卡下配置了 VPC、子网和安全组,这个特定的 boto 调用 sts 会无限期地循环。一段时间后,我从 Lambda 收到函数超时的错误。

安全组中是否存在可能导致 boto3 调用像这样循环的设置?

【问题讨论】:

    标签: python amazon-web-services lambda aws-lambda boto3


    【解决方案1】:

    这很可能是由于您的 VPC 安全组中没有允许亚马逊流量流出的规则造成的。通过 botocore 进行 boto3 或 aws cli 调用时,请求将发送到 Internet,而不是通过 LAN。

    为了让 botocore 调用正常工作,您需要打开 AWS 拥有的 CIDR 块。那个列表可以下载here

    【讨论】:

    • 我下载了那个 ip-ranges.json。我的 Lambda 出站规则中是否需要所有这些范围(对于我用完的每个区域)?我还尝试从元数据(169.254.169.254 url​​)中获取帐号,这似乎遇到了类似的问题。
    猜你喜欢
    • 1970-01-01
    • 2015-01-08
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    相关资源
    最近更新 更多