Q73 — AWS DVA-C02 第3章
第 73/100 問 | ← 第3章
開発者は VPC モードで AWS Lambda 関数を作成しています。Amazon S3 バケットにオブジェクトがアップロードされると、S3 イベントが Lambda 関数を呼び出します。Lambda 関数はそのオブジェクトを処理し、いくつかの分析結果を生成し、それらをファイルに記録します。各処理されたオブジェクトは、ログエントリを含むログファイルも生成します。 他の Lambda 関数、AWS サービスおよびオンプレミスのリソースは、結果ファイルおよびログファイルにアクセスする必要があります。各ログエントリは、同じ共有ログファイルに追記される必要があります。開発者は、ファイルを共有し、既存のファイルに結果を追記できる解決策を求めています。 開発者は、これらの要件を満たすためにどの解決策を使用すべきですか?
- A. Amazon Elastic File System (Amazon EFS) ファイルシステムを作成します。Lambda 内で EFS ファイルシステムをマウントします。結果ファイルおよびログファイルをマウントポイントに保存します。ログエントリをログファイルに追記します。 ✓
- B. マルチアタッチを有効にした Amazon Elastic Block Store (Amazon EBS) ボリュームを作成します。EBS ボリュームをすべての Lambda 関数にアタッチします。Lambda 関数のコードを更新してログファイルをダウンロードし、ログエントリを追記して、変更後のログファイルを Amazon EBS にアップロードします。
- C. /tmp ローカルディレクトリへの参照を作成します。このディレクトリ参照を使用して結果ファイルおよびログファイルを保存します。ログエントリをログファイルに追記します。
- D. /opt ストレージディレクトリへの参照を作成します。このディレクトリ参照を使用して結果ファイルおよびログファイルを保存します。ログエントリをログファイルに追記します。
正解: A. Amazon Elastic File System (Amazon EFS) ファイルシステムを作成します。Lambda 内で EFS ファイルシステムをマウントします。結果ファイルおよびログファイルをマウントポイントに保存します。ログエントリをログファイルに追記します。
解説
AWS Lambda 関数はサーバーレスであり、通常は永続化ストレージシステムと直接対話しませんが、Amazon Elastic File System (EFS) のようなネットワークファイルシステムを介してファイル共有を実現できます。EFS は複数の EC2 インスタンスおよび Lambda 関数間でのファイル共有をサポートし、同時にファイルの読み書きが必要なシナリオに適しています。選択肢 A では、EFS を作成し Lambda でマウントすることで、複数の Lambda 関数および AWS サービスが共有ファイルにアクセス・変更できるようになり、要件を満たします。選択肢 B の EBS は複数のインスタンス間での共有をサポートせず、Lambda には不適切です。選択肢 C および D の /tmp および /opt ディレクトリは Lambda の一時ストレージであり、Lambda インスタンス間での共有はできず、実行終了後にデータが削除される可能性があるため、適用できません。したがって、正解は A です。