如何使用 AWS Systems Manager 解决 Amazon VPC 中的 AWS Lambda 函数的互联网访问问题?

1 分钟阅读
0

我为位于 Amazon Virtual Private Cloud(Amazon VPC)中的 AWS Lambda 函数授予了互联网访问权限。现在,该函数不断失去互联网访问权或超时。

简短描述

查看以下资源以验证它们是否允许出站互联网访问您的 Lambda 函数:

如果其中任何资源未授予对 Lambda 函数的互联网访问权限,请重新配置资源以授予函数互联网访问权限。

要手动查看这些资源,请按照“如何为连接 Amazon VPC 的 Lambda 函数提供互联网访问权限?”中的说明进行操作 要自动执行故障排除过程,您可以使用 AWSSupport-TroubleshootLambdaInternetAccess AWS Systems Manager 运行手册。

解决方法

**注意:**以下故障排除过程演示了如何使用 AWSSupport-TroubleshootLambdaInternetAccess 运行手册。

1.    打开 AWS Systems Manager 控制台

2.    在左侧导航窗格的变更管理下,选择自动化

3.    选择执行自动化

4.    在 由 Amazon 所有选项卡的自动化文档搜索框中,输入 AWSSupport-TroubleshootLambdaInternetAccess。然后,选择搜索图标或按键盘上的 Enter。

5.    选择 AWSSupport-TroubleshootLambdaInternetAccess 卡右上角的图标。确保选择卡右上角的图标,而不是自动化的名称。

6.    选择下一步

7.    (可选)在输入参数部分,为 AutomationAssumeRole 输入允许 Systems Manager Automation 执行操作的角色的 Amazon 资源名称(ARN)。如果未指定 IAM 角色,Systems Manager Automation 将使用运行文档的 IAM 用户角色的权限。有关为 Systems Manager Automation 创建代入角色的详细信息,请参阅使用 IAM 为自动化配置角色

重要事项: AutomationAssumeRole 或用户角色必须具有执行以下操作的权限:
lambda:GetFunction
ec2:DescribeRouteTables
ec2:DescribeNatGateways
ec2:DescribeSecurityGroups
ec2:DescribeNetworkAcls

8.    对于 FunctionName,输入需要验证其连接的函数的名称。

9.    对于 destinationIp,输入要在其中启动出站互联网访问的目标 IP 地址。

10.    对于 destinationPort,输入要在其中启动出站互联网访问的目标端口。

11.    选择执行

运行手册的输出提供了可能导致 Lambda 函数互联网连接丢失的每个资源的状态。此输出还提供了关于如何作为**“分析”**消息解决问题的建议。

**注意:**有关 AWS System Manager 自动化运行手册的详细信息,请参阅创建您自己的运行手册

AWS 官方
AWS 官方已更新 3 年前