Q51 — AWS SAA-C03 第14章
第 51/100 問 | ← 第14章
Q1051. ある企業では、自社ウェブサイトで実施するアンケートを用いて顧客満足度を追跡しています。このアンケートは、1時間あたり数千件の回答を受信することもあります。現在、アンケート結果はメールで企業に送信され、従業員が手動で結果を確認し、顧客の感情(センチメント)を評価しています。 企業は、この顧客アンケートプロセスを自動化したいと考えています。また、過去12か月分のアンケート結果を常に利用可能にしておく必要があります。 これらの要件を、最もスケーラブルな方法で満たすソリューションはどれですか?
- A. アンケート結果データを、Amazon Simple Queue Service(Amazon SQS)キューに接続されたAmazon API Gatewayエンドポイントに送信します。SQSキューからメッセージをポーリングし、Amazon Comprehendを呼び出してセンチメント分析を実行し、その結果をAmazon DynamoDBテーブルに保存するAWS Lambda関数を作成します。DynamoDB内の全レコードについて、TTL(Time to Live)を未来365日後に設定します。 ✓
- B. アンケート結果データを、Amazon EC2インスタンス上で実行されているAPIに送信します。このAPIを、アンケート結果をAmazon DynamoDBテーブルの新規レコードとして保存し、Amazon Comprehendを呼び出してセンチメント分析を実行し、その結果を別のDynamoDBテーブルに保存するように設定します。両方のテーブルの全レコードについて、TTLを未来365日後に設定します。
- C. アンケート結果データをAmazon S3バケットに書き込みます。S3イベント通知を活用してAWS Lambda関数を起動し、Lambda関数がデータを読み込んでAmazon Rekognitionを呼び出してセンチメント分析を実行します。分析結果を別のS3バケットに保存します。各S3バケットに対して、ライフサイクルポリシーを設定して、オブジェクトを365日後に自動削除します。
- D. アンケート結果データを、Amazon Simple Queue Service(Amazon SQS)キューに接続されたAmazon API Gatewayエンドポイントに送信します。SQSキューを構成して、AWS Lambda関数を起動させ、Lambda関数がAmazon Lexを呼び出してセンチメント分析を実行し、その結果をAmazon DynamoDBテーブルに保存するようにします。DynamoDB内の全レコードについて、TTLを未来365日後に設定します。
正解: A. アンケート結果データを、Amazon Simple Queue Service(Amazon SQS)キューに接続されたAmazon API Gatewayエンドポイントに送信します。SQSキューからメッセージをポーリングし、Amazon Comprehendを呼び出してセンチメント分析を実行し、その結果をAmazon DynamoDBテーブルに保存するAWS Lambda関数を作成します。DynamoDB内の全レコードについて、TTL(Time to Live)を未来365日後に設定します。
解説
顧客アンケートプロセスの自動化と、過去12か月分のアンケート結果の可用性確保という要件を、最もスケーラブルな方法で満たすには、以下の選択肢Aが最適です。 1. スケーラビリティ: ・API GatewayとSQSを組み合わせることで、大量のアンケート結果を効率的に処理できます。SQSは結果を一時的にバッファリングし、トラフィックの変動に応じてシステムが柔軟にスケールアップ/ダウンできるよう支援します。 2. AWS Lambda: ・SQSキューからのメッセージをLambda関数が処理することで、サーバーレスな実行環境を実現し、アンケート件数に応じて自動的にスケールします。サーバーインフラの管理負荷を最小限に抑えられます。 3. センチメント分析: ・Amazon Comprehendは、自然言語処理(NLP)およびセンチメント分析に特化したサービスであり、顧客のフィードバックを正確に分析するのに最も適しています。 4. データ保存: ・結果をDynamoDBに保存することで、高スループットな読み書きをサポートするスケーラブルなNoSQLデータベースを利用できます。TTLを365日に設定すれば、データが自動的に期限切れとなり、ストレージコストの最適化も図れます。 他の選択肢の検討: B:EC2インスタンス上で動作するAPIを利用する方式は、理論上は機能しますが、EC2インスタンスの運用・監視・スケーリングなどの管理負荷が大きく、サーバーレスアーキテクチャを活用しない点で、スケーラビリティに劣ります。 C:S3は優れたストレージサービスですが、S3イベント通知+LambdaによるAmazon Rekognitionの利用は不適切です。Rekognitionは主に画像・動画分析向けであり、テキストベースのセンチメント分析には対応していません。また、非構造化ストレージであるS3は、センチメント分析結果のような構造化データの分析・照会に不向きです。 D:SQSとAPI Gatewayの組み合わせは適切ですが、センチメント分析にAmazon Lexを用いるのは誤りです。Lexは会話型インタフェース(チャットボットなど)の構築に特化しており、センチメント分析機能は提供しておらず、Comprehendに比べて明確に不適切です。 結論:選択肢Aは、自動化、センチメント分析、データ保持期間の管理というすべての要件を、最もスケーラブルかつ効率的に満たすソリューションです。