将另一个 Amazon Web Services 账户 中的 Amazon EFS 文件系统用于 Lambda 函数 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将另一个 Amazon Web Services 账户 中的 Amazon EFS 文件系统用于 Lambda 函数

您可以配置函数以将 Amazon EFS 文件系统挂载到其他 Amazon Web Services 账户。在挂载文件系统之前,必须确保满足以下条件:

  • 必须配置 VPC 对等连接,并且必须将适当的路由添加到每个 VPC 中的路由表中。

  • 必须将要挂载的 Amazon EFS 文件系统的安全组配置为允许来自与 Lambda 函数关联的安全组的入站访问。

  • 必须在每个包含匹配的可用区(AZ)ID 的 VPC 中创建子网。

  • 必须在两个 VPC 中启用 DNS 主机名

要让 Lambda 函数访问其他 Amazon Web Services 账户 中的 Amazon EFS 文件系统,该文件系统还必须具有可向函数授予权限的文件系统策略。要了解如何创建文件系统策略,请参阅 Amazon Elastic File System User Guide 中的 Creating file system policies

以下示例策略显示如何向指定账户中的 Lambda 函数授予在文件系统上执行所有 API 操作的权限。

{ "Version": "2012-10-17", "Id": "efs-lambda-policy", "Statement": [ { "Sid": "efs-lambda-statement", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{LAMBDA-ACCOUNT-ID}:root" }, "Action": "*", "Resource": "arn:aws:elasticfilesystem:{REGION}:{ACCOUNT-ID}:file-system/{FILE SYSTEM ID}" } ] }
注意

所示的示例策略使用通配符(“*”)向指定 Amazon Web Services 账户 中的 Lambda 函数授予在文件系统上执行任何 API 操作的权限。这包括删除文件系统。要限制其他 Amazon Web Services 账户 在您的文件系统上执行操作,请明确指定想要允许的操作。有关可能的 API 操作列表,请参阅 Amazon Elastic File System 的操作、资源和条件键

要配置跨账户文件系统挂载,可以使用 Amazon Command Line Interface(Amazon CLI)update-function-configuration 操作。

要将文件系统挂载到其他 Amazon Web Services 账户,请运行以下命令。使用自己的函数名称,将 Amazon 资源名称(ARN)替换为要挂载的文件系统的 Amazon EFS 接入点的 ARN。LocalMountPath 是函数用来访问文件系统的路径,以 /mnt/ 开头。确保 Lambda 挂载路径与文件系统的接入点路径匹配。例如,如果接入点为 /efs,则 Lambda 挂载路径必须是 /mnt/efs

aws lambda update-function-configuration --function-name MyFunction \ --file-system-configs Arn=arn:aws:elasticfilesystem:us-east-1:222222222222:access-point/fsap-01234567,LocalMountPath=/mnt/test