我使用 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 接入点