Q30 — AWS DVA-C02 第2章

第 30/100 問 | ← 第2章

ある開発者が、VPCモードで実行されるAWS Lambda関数を作成しています。S3バケットにオブジェクトがアップロードされると、Amazon S3イベントがトリガーされ、その結果としてLambda関数が呼び出されます。Lambda関数はそのオブジェクトを処理し、分析結果をファイルに記録します。各処理対象のオブジェクトについて、別個のログエントリも生成され、別のファイルに記録されます。他のLambda関数、AWSサービスおよびオンプレミスリソースから、この分析結果ファイルおよびログファイルにアクセスできる必要があります。さらに、各ログエントリは共通の共有ログファイルに追記される必要があります。開発者は、ファイルを共有し、既存のファイルに追記できるソリューションを必要としています。この要件を満たすために、開発者が採用すべきソリューションはどれですか?

正解: A. Amazon Elastic File System(Amazon EFS)ファイルシステムを作成し、Lambda関数内でEFSファイルシステムをマウントします。結果ファイルおよびログファイルをマウントポイント上に保存し、ログエントリをログファイルに追記します。

解説

選択肢Aでは、Amazon Elastic File System(Amazon EFS)ファイルシステムを作成し、Lambda関数内でマウントすることが提案されています。EFSは共有ストレージであり、複数のLambda関数および他のAWSリソースによる同時アクセスを容易に実現できます。開発者は結果ファイルおよびログファイルをEFSのマウントポイント上に保存することで、これらのファイルへの共有アクセスを実現し、同一の共有ログファイルへログエントリを追記できます。一方、選択肢BではAmazon Elastic Block Store(Amazon EBS)のマルチアタッチボリュームが提案されていますが、EBSは通常単一のEC2インスタンスへのブロックストレージアタッチに使用され、共有ストレージには適していません。選択肢CおよびDではローカルディレクトリ(/tmpや/opt)への参照が提案されていますが、これらはLambda関数の個別インスタンスに固有であり、複数のLambda関数間での共有には不適です。したがって、Aが最も適切なソリューションです。