Lambda 関数に別の AWS アカウントの Amazon EFS ファイルシステムを使用する
Amazon EFS ファイルシステムを別の AWS アカウント にマウントする関数を設定できます。ファイルシステムをマウントする前に、次のことを確認する必要があります。
Lambda 関数が別の AWS アカウント の Amazon EFS ファイルシステムにアクセスできるようにするため、そのファイルシステムには関数にアクセス許可を付与するファイルシステムポリシーも必要です。ファイルシステムポリシーの作成方法については、「Amazon Elastic File System ユーザーガイド」の「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}
" } ] }
注記
示されているポリシーの例では、ワイルドカード文字 (「*」) を使用して、指定した AWS アカウント の Lambda 関数にファイルシステム上で任意の API オペレーションを実行するためのアクセス許可を付与しています。これには、ファイルシステムの削除も含まれます。他の AWS アカウント がファイルシステム上で実行できる操作を制限するには、許可するアクションを明示的に指定してください。利用可能な API オペレーションのリストについては、「Amazon Elastic File System のアクション、リソース、条件キー」を参照してください。
クロスアカウントのファイルシステムのマウントを設定するには、AWS Command Line Interface (AWS CLI) の update-function-configuration
オペレーションを使用します。
別の AWS アカウント でファイルシステムをマウントするには、次のコマンドを実行します。独自の関数名を使用して、マウントするファイルシステム用に 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