如何解决 Amazon EFS 集成的 Lambda 函数调用问题?

1 分钟阅读
0

我使用 Amazon Elastic File System(Amazon EFS)集成调用了一个 AWS Lambda 函数,收到了一条错误消息。

简短描述

以下是使用 Lambda 挂载 Amazon EFS 接入点的先决条件:

  • Lambda 函数的执行角色必须具有以下 elasticfilesystem 权限:
    elasticfilesystem:ClientMount
    elasticfilesystem:ClientWrite(只读连接不需要)
  • 您的 AWS Identify and Access Management(IAM)用户必须具有以下权限:
    elasticfilesystem:DescribeMountTargets
  • EFS 文件系统安全组必须允许来自 Lambda 安全组或 IP 地址范围的 NFS(端口 2049)入站流量。
  • Lambda 安全组必须允许发往 EFS 安全组或 IP 地址范围的 NFS(端口 2049)出站流量。
  • Lambda 函数和 Amazon EFS 接入点必须位于同一 AWS 区域和可用区。

有关详细信息,请参阅如何创建正确的 EFS 接入点配置以使用 Lambda 函数挂载我的文件系统?

解决方法

请按照以下故障排除步骤处理 Lambda 函数的错误消息。

EFSMountFailureException:

由于权限或配置问题,Lambda 函数无法挂载已配置的 EFS 文件系统。请检查 Lambda 函数的权限。然后确认 EFS 文件系统和接入点已存在且随时可用。有关详细信息,请参阅函数无法挂载 EFS 文件系统

EFSMountConnectivityException:

Lambda 函数无法使用 NFS 协议(TCP 端口 2049)与已配置的 EFS 文件系统建立网络连接。请检查 Amazon Virtual Private Cloud(Amazon VPC)子网的安全组和路由配置。有关详细信息,请参阅函数无法连接到 EFS 文件系统

EFSMountTimeoutException:

Lambda 函数能够与已配置的 EFS 文件系统建立网络连接,但挂载操作超时。重试调用 Lambda 函数。如果 Lambda 函数再次超时,请限制函数的预留并发,以减少 EFS 文件系统的负载量。有关详细信息,请参阅由于超时,函数无法挂载 EFS 文件系统

PermissionError: 权限被拒绝:“/mnt/xyz/abc”:

Lambda 无权访问指定的 Amazon EFS 接入点。要对 Amazon EFS 接入点进行故障排除,请参阅常见的 EFS 接入点配置有哪些?

有关详细信息,请参阅解决 Lambda 中的调用问题

相关信息

使用 Amazon EFS 接入点

AWS 官方
AWS 官方已更新 10 个月前