AWS Lambda を使用して Amazon Elastic File System (Amazon EFS) アクセスポイントマウントを作成したいと思います。これを行うにはどうすればよいですか?また、機能しているアクセスポイントと機能していないアクセスポイントの構成は何ですか。
解像度
前提条件
以下は、Lambda を使用して EFS アクセスポイントをマウントするための前提条件です。
- Lambda 関数の実行ロールには、次の elasticfilesystem 権限が必要です。
elasticfilesystem: ClientMount
elasticfilesystem: ClientWrite (読み取り専用接続には必要ありません)
- AWS Identification and Access Management (IAM) ユーザーには、次の権限が必要です。
Elasticfilesystem: DescribeMountTargets詳細については、「ファイルシステムとアクセスポイント」の設定を参照してください。
- インバウンド NFS トラフィック (ポート 2049) は、EFS ファイルシステムのセキュリティグループで許可する必要があります。
Lambda を使用したアクセスポイントの作成
- Lambda コンソールで関数ページを開きます 。
- 関数を選択します。
- 設定、ファイルシステムを選択します。
- [ファイルシステム] で、[ファイルシステムの追加] を選択します。
- 以下のプロパティを設定します。
- EFS ファイルシステム: 同じ VPC 内のファイルシステムのアクセスポイント。
- ローカルマウントパス: /mnt/ で始まる、ファイルシステムが Lambda 関数にマウントされている場所。例えば、 /mnt/lambda などです。
Amazon EFS は、以下を指定した場合にのみ、構成可能な所有権と権限を持つルートディレクトリを自動的に作成します。
- OwnUid
- OwnGID
- ディレクトリの権限 (作成情報)
**注:**Amazon EFS は、アクセスポイントで 0 に設定されたユーザーまたはグループ ID をルートユーザーとして扱います。
詳細については、「アクセスポイントのルートディレクトリの作成」を参照してください。
EFS アクセスポイントの設定例
注: アクセスポイントのルートディレクトリは /efsaccesspoint です。このアクセスポイントを使用してファイルシステム fs-12345678:/ をマウントすることは、このアクセスポイントなしで fs-12345678: /efsaccesspoint をマウントすることと同じです。
作業構成
設定 1
- ルートディレクトリパス: /efs (/efs は存在しません)
- POSIX ユーザ: 空
- 作成情報: 1000:1000 (777)
設定 2:
- ルートディレクトリパス: /efs (/efs は存在しません)
- POSIX ユーザ: 1000:1000
- クリエイション情報: 1000:1000 (777,775,755)
設定 3:
- ルートディレクトリパス: /efs (/efs は存在します)
- POSIX ユーザ: 1000:1000
- 作成情報: 空
設定 4:
- ルートディレクトリパス: /efs (/efs は存在しません)
- POSIX ユーザ: 0:0
- 作成情報: 1000:1000 (755)
設定 5:
- ルートディレクトリパス: /efs (/efs は存在しません)
- POSIX ユーザ: 0:0
- 作成情報: 1000:1000 (775)c
設定 6:
- ルートディレクトリパス: /efs (/efs は存在しません)
- POSIX ユーザ: 0:0
- 作成情報:1000:1000 (777)
動作しない設定
次のアクセスポイント構成では、Lambda 関数を使用して EFS にアクセスするとエラーが発生します。
- ルートディレクトリパス: /efs (/efs は存在しません)
- POSIX ユーザ: 1000:1000
- 作成情報: 空
ユースケースで AWS Lambda 関数から EFS マウントパスへの書き込み操作を実行する必要がある場合は、POSIX ユーザー情報を提供する必要があります。POSIXユーザー情報が提供されていない場合、書き込み操作は失敗し、許可拒否エラーが発生します。POSIXユーザー情報を追加する手順については、前のセクション「Lambda を使用したアクセスポイントの作成」を参照してください。
関連情報
Amazon EFS アクセスポイントの操作