Q41 — AWS SAA-C03 第1章
第 41/65 問 | ← 第1章
Q41. ある企業がAWS上でオンラインマーケットプレイスのWebアプリケーションを運用しています。このアプリケーションは、ピーク時の数時間に数十万ユーザーにサービスを提供します。同社は、数百万件の金融取引情報を、複数の他の内部アプリケーションと共有するための、スケーラブルでニアリアルタイムなソリューションを必要としています。また、これらの取引データは、機密情報を除去したうえで、低遅延での取得が可能なドキュメントデータベース(例:Amazon DynamoDB)に保存する必要があります。これらの要件を満たすために、ソリューションアーキテクトは何を推奨すべきでしょうか?
- A. 取引データをAmazon DynamoDBに保存します。DynamoDB内にルールを設定し、書き込み時に各取引から機密情報を自動的に削除します。また、DynamoDB Streamsを活用して、他のアプリケーションへ取引データを配信します。
- B. 取引データをAmazon Kinesis Data Firehoseへストリーミングし、データをAmazon DynamoDBおよびAmazon S3に保存します。Kinesis Data Firehoseと連携するAWS Lambda関数を用いて機密情報を削除します。他のアプリケーションは、Amazon S3に保存されたデータを消費できます。
- C. 取引データをAmazon Kinesis Data Streamsへストリーミングします。AWS Lambdaと連携して各取引から機密情報を削除し、その後、処理済みの取引データをAmazon DynamoDBに保存します。他のアプリケーションは、Kinesisデータストリームから取引データを直接消費できます。 ✓
- D. 取引データをバッチ単位でファイル形式でAmazon S3に保存します。AWS Lambda関数を用いて各ファイルを処理し、機密情報を削除したうえで、S3内のファイルを更新します。その後、Lambda関数がデータをAmazon DynamoDBに保存します。他のアプリケーションは、Amazon S3に保存された取引ファイルを消費できます。
正解: C. 取引データをAmazon Kinesis Data Streamsへストリーミングします。AWS Lambdaと連携して各取引から機密情報を削除し、その後、処理済みの取引データをAmazon DynamoDBに保存します。他のアプリケーションは、Kinesisデータストリームから取引データを直接消費できます。
解説
Amazon Kinesis Data StreamsとAmazon DynamoDBを組み合わせた構成が最適です。Amazon Kinesis Data FirehoseはAmazon DynamoDBへの直接書き込みをサポートしておらず、この点で選択肢Bは不適切です。一方、Kinesis Data Streamsは、Lambdaとの連携によりリアルタイムなデータ変換(機密情報の除去)を実現でき、その後のDynamoDBへの保存や他のアプリケーションによるストリームからのデータ消費も可能であり、要件を包括的に満たします。